Bully-Board

Bully Modding Section => Bully Modding => Bully Modding Archives => Topic started by: Xwatch1009 on December 17, 2016, 07:35:10 PM

Title: Anniversary Edition Decompiling
Post by: Xwatch1009 on December 17, 2016, 07:35:10 PM
I was wondering, since people found the code for the exe files in the mobile versions of GTA III, Vice City, and San Andreas, could we find the code for the exe of Bully in the Anniversary Edition files? Would it help modding in any way if we found it?
Title: Re: Anniversary Edition Decompiling
Post by: DaBOSS54320 on December 17, 2016, 11:28:03 PM
Mobile devices don't use .exe files, those are for windows only as far as I know. I don't know about iOS, but Android mostly uses Java from what I know but can also run C/C++ if setup right, which is probably what Bully does. So there would still be C/C++ code that needs decompiling, which is just as hard as decompiling an .exe. Will it help? Probably, I'm sure there are some fun things to explore in there I guess.
Title: Re: Anniversary Edition Decompiling
Post by: Xwatch1009 on December 18, 2016, 06:32:47 PM
How did they find the code for the .exe files of the GTA games then?
Title: Re: Anniversary Edition Decompiling
Post by: FaZe on December 19, 2016, 06:59:51 AM
Decompiling programmes built often only for the purpose of decompiling that game. You can explore the files somewhat just by changing the file extension from .ipa/.apk to .zip and extract it, but for full decompilation, who knows.
Title: Re: Anniversary Edition Decompiling
Post by: fastman92 on December 19, 2016, 06:04:52 PM
While you can disassemble or decompile the executable code, you cannot get the source code, because certain information like variable names, structures, function declarations is lost, non-existant in the compiled code, since it's not necessary to run the code.

The games often require a high performance, which can be only achieved if the code is executed directly by the processor (CPU),
For this reason Rockstar Games makes their games in C++ language, which can compiled to direct ASM code, with the appropriate compiler for selected platform.
Games for Android like Bully or GTA are a combination of little Java code + resources (classes.dex) to handle the interface and the library, made from C++ code, compiled with the Android NDK.

Analogously the game for iOS is also made with the C++ code and the library is created with the use of compiler.

The best disassembler in the world appears to be IDA Pro.

I have made certain scripts that can create a new .apk archive.
Title: Re: Anniversary Edition Decompiling
Post by: KiLerZolika on December 20, 2016, 11:26:20 AM
We can learn the .exe easier by Android ports, but we won't get the full source code of an exe, you will have to find certain parts by yourself with struggling.
I don't believe getting the source code of the exe will provide us huge advantages, maybe we could fix bugs within Bully SE's engine, just like how Silent did with the GTA series

Edit:
Turns out they just reverse engineered the GTA3.exe.