Combine with other programs (Schreib's Obfuscator, some EXE compressors, 39ster's DLL to remove scripts from memory)
Supports: GM8.0 games GM7.0 games GM6.1-to-vista'd games
Last update: 20/06/11 (20th June 2011)
Do not use any self-check scripts with this (e.g. debug checker, or checksum DLL), as it voids the checksum and debug data.
> bit.ly/AntiDecompiler < 305KB .ZIP
> van0014's packaged version <
Old version 1:
> RAR < 2.5MB
> ZIP < 2.85MB
Alternate Skins Just for fun
Sindarin's (amazing) skin is included by default.
(See post for screenshot [->])
Zues' Skin: [->]
ev149's skin: [->] - 404
Hauzer-Ninja's skin: [->]
This program is my take on the decompiler problem: If you can't hide it, encrypt it.
At the moment, this does:
- Moves game data to a random position. (Slightly increases filesize, but never by more than 0.07MB)
- Encrypts game data with random keys.
- Overwrites all version info with random data.
- Integrates itself into the game EXE - doesn't extract any DLLs, doesn't save any temporary files.
- Has an extremely small decryption time.
(Sindarin's excellent skin, now default, can be seen in his post. You only need to extract "skin.bmp" and "icon.ico" to replace skins.)
Screenshot of side-by-side comparison in hex editor:
This program is not written in Game Maker.
Unlike the attempt that I made last time, which was basically just a proof-of-concept, this one now has many more features to make it more user-friendly and straightforward. It also has a more secure encryption scheme than before.
Q: What happens when someone tries to decompile a protected game?
A: See this screenshot: (Click to zoom in)
Q: Can I upload the protected game to InstantPlay?
A: No, InstantPlay can't read the game data.
Q: If the data's encrypted and relocated, how does Game Maker read it?
A: It decrypts at runtime, this program hooks the required functions.
Q: Does this require any extra DLLs, EXEs, or other datafiles to be distributed with the game?
Q: Is this a virus?
A: No. Try scanning with something like virustotal if you are worried.
Q: Can I use this in my own software?
A: Sure, but remember it's your responsibility to update it! (Fortunately my rate of updates has decreased dramatically)
You can call it from most programs, like so:
antidecompiler "c:\path\to\game to protect.exe"Game Maker:
execute_program("antidecompiler.exe",'"c:\path\to\game to protect.exe"',1); //Notice quotes *inside* the string
20th June 2011:
- Checks whether the GM8.1 exe is in fact 8.1.91 before it goes and messes everything up.
- Options dialog on protecting.
- AntiDecompiler.exe now does the compressing, rather than compress.exe.
- All .DAT files updated to allow for a small amount of data aiding in compression of the EXE.
- Finally! Supports 8.1.91 and *NO OTHER 8.1 VERSION YET*. If it doesn't work with your version it will probably remove the icon and stop windows from loading the EXE.
- Created .dat format "version 2" (i.e. version 2 since last rewrite)
- Now takes all forms of icons.
- Improved .dat format, it is now extremely small.
- Added GM8 support
- A new codebase, so please report any bugs you find to me, as usual.
- Fixed a little problem with closing the program on some vista machines. (Again!)
- Greatly increased encryption strength, and encryption code no longer remains in program memory for long.
- Added a quick program which will compress an already antidec'd GM7 EXE file (This is possible too with non-antidec'd EXE files and GM6-antidec'd EXE files, I just haven't added that into the program. I could do one manually for you if you asked nicely)
- Removed most of the "suspicious-looking" code (mostly just repeated bytes making it think it's packed, namely 90 and EB3B) in the EXEs to avoid it being wrongly detected as a virus.
- Added an option to remove code snippets from the error dialogs.
- Added command-line option support; compressed EXE; completely invalidated the resource-editing tutorial.
- Minor tinkerings; after protection, not even programs that were previously debug-mode will be able to run in debug mode.
- Fixed a small bug (hopefully hasn't affected anyone yet) in the GM6.1-to-vista anti-decompiler data which could possibly cause a crash.
- Update 1: Fixed a stack bug which occurred at game end, this could be the crashing bug that's been eluding me for all of 4 days.
- Update 2: Added GM6.1-to-vista support.
- Fixed a bug with some unrelated GM functions causing a crash.
Edited by score_under, 27 February 2013 - 04:37 PM.