https://github.com/jooapa/angry_birds_decompilation
decomp instructions/script for all 6 Angry Birds Games'
https://github.com/jooapa/angry_birds_decompilation
angry-bird-game angry-birds angrybirds decompilation decompiler decrypt decryption decryptor extractor fusion hack ka3d klinoff lua lua-script pig python python3 reverse-engineering
Last synced: 27 days ago
JSON representation
decomp instructions/script for all 6 Angry Birds Games'
- Host: GitHub
- URL: https://github.com/jooapa/angry_birds_decompilation
- Owner: jooapa
- Created: 2023-08-18T22:17:47.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-05T22:38:14.000Z (10 months ago)
- Last Synced: 2025-03-31T05:33:05.094Z (28 days ago)
- Topics: angry-bird-game, angry-birds, angrybirds, decompilation, decompiler, decrypt, decryption, decryptor, extractor, fusion, hack, ka3d, klinoff, lua, lua-script, pig, python, python3, reverse-engineering
- Language: Python
- Homepage:
- Size: 3.23 MB
- Stars: 21
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ANGRY BIRDS Decompilation

## Where to install Angry Birds PC ports
If you don't know how to install Angry Birds PC ports, [here](https://archive.org/details/angry-birds-pc) is a link to the Internet Archive page for the PC ports of Angry Birds.
### Automatic decrypting
Firstly install [Python 3](https://www.python.org/downloads/).
You need to have [7z](https://www.7-zip.org/download.html) installed in the PATH and [Java Development Kit (JDK)](https://www.freecodecamp.org/news/how-to-set-up-java-development-environment-a-comprehensive-guide/).Drag and drop the .lua file to birdout.py and choose what angry birds game it is. Then it will decrypt it for you automatically.
or you can run it in the terminal with:python birdout.py ...
passing only a folder will decrypt all .lua files in the directory.
python birdout.py ...
Understandable, if you don't trust the .exe or the .jar file: openssl.exe. here is a virustotal scan: [virustotal](https://www.virustotal.com/gui/file/be0f086b9303fd52b6f5ec094c753c2b68f02559eb462f23929e72a6996eb1f8/detection/f-be0f086b9303fd52b6f5ec094c753c2b68f02559eb462f23929e72a6996eb1f8-1703249224)
and here scan for the unluac.jar: [virustotal](https://www.virustotal.com/gui/file/50f23c0b1cb85cc2bd07055ce782a918fdcb5d36d18d268b9606298d801bbb6e/detection/f-50f23c0b1cb85cc2bd07055ce782a918fdcb5d36d18d268b9606298d801bbb6e-1689512688). You can also just you own version of openssl, the program will ask you, if you want to use the one in the folder.## Manual Usage
You will need to have [openssl](https://sourceforge.net/projects/openssl/) AND [7z](https://www.7-zip.org/download.html) installed and in your Environment variables.
and [Java Development Kit (JDK)](https://www.freecodecamp.org/news/how-to-set-up-java-development-environment-a-comprehensive-guide/). [The Sketchy unluac.jar is a decompiler for .luac files.](https://sourceforge.net/projects/unluac/)You need to run this to the .lua file you want to en or decrypt
### Decrypt
openssl enc -aes-256-cbc -d -K [hex] -iv 0 -in [name].lua -out [new_name].luac.7z
then you need to open the new lua file with 7z and extract the content or copy.
then you should have .luac file.then run:
java -jar unluac.jar "file_encrypted.lua" > "file_decrypted.luac"
AND BOOM!### Encrypt
With encrypting you need to do the opposite of decrypting.
Install [lua](https://www.lua.org/download.html)
to compile the .lua file to a .luac file.luac -o compiled.lua file.lua
then you need to run this:
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on file_encrypted.lua.7z compiled.lua
then you need to run this:
openssl enc -aes-256-cbc -e -K [hex] -iv 0 -in file_encrypted.lua.7z -out file_encrypted.lua
## Keys
Angry Birds
Hex = 55534361505170413454534E56784D49317639534B39554330795A75416E6232
Str = USCaPQpA4TSNVxMI1v9SK9UC0yZuAnb2Angry Birds: Rio
Hex = 55534361505170413454534E56784D49317639534B39554330795A75416E6232
Str = USCaPQpA4TSNVxMI1v9SK9UC0yZuAnb2
Angry Birds: Seasons
Hex = 7A65506865737435666151755832533241707265403472654368417445765574
Str = zePhest5faQuX2S2Apre@4reChAtEvUtAngry Birds: Space
Hex = 526D67645A304A656E4C466757776B5976434C326C5361684662456846656334
Str = RmgdZ0JenLFgWwkYvCL2lSahFbEhFec4Angry Birds: Star Wars
Hex = 416E3874336D6E38553673706951307A4848723361316C6F44725261336D7445
Str = An8t3mn8U6spiQ0zHHr3a1loDrRa3mtEAngry Birds: Star Wars II
Hex = 4230706D3354416C7A6B4E3967687A6F65324E697A456C6C50644E3068516E69
Str = B0pm3TAlzkN9ghzoe2NizEllPdN0hQni## credos
half stuff found in this sketchy forum site:
[https://web.archive.org/web/20231015200421/https://forum.xentax.com/viewtopic.php?t=9840](https://web.archive.org/web/20231015200421/https://forum.xentax.com/viewtopic.php?t=9840) is a link to the forum post discussing the encryption of settings and highscores in Angry Birds Rio.
Needed to save it in the wayback machine because the site is going to be shut down on December, 2023.
Heres more forum stuff:
[https://web.archive.org/web/20231015200746/https://xdaforums.com/t/q-angry-birds-rio-encrypts-settings-highscores-with-aes.1015380/](https://web.archive.org/web/20231015200746/https://xdaforums.com/t/q-angry-birds-rio-encrypts-settings-highscores-with-aes.1015380/) is a link to the forum post discussing the encryption of settings and highscores in Angry Birds Rio.