Always make sure your version is the latest to avoid possible bugs!
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 -- EDIT! Dropbox hates me. Get DonPotenzo's copy and check your SHA-sums
> 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.
The anti-decompiler is now much more user-friendly:
(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.
17th June 2011:
- 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.
25th January 2011:
- Created .dat format "version 2" (i.e. version 2 since last rewrite)
- Now takes all forms of icons.
16th July 2010:
- 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)
12th June 2009:
- 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.
9th May 2009:
- Added an option to remove code snippets from the error dialogs.
5th April 2009:
- Added command-line option support; compressed EXE; completely invalidated the resource-editing tutorial.
21st March 2009:
- Minor tinkerings; after protection, not even programs that were previously debug-mode will be able to run in debug mode.
10th March 2009:
- 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.
9th March 2009:
- 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.
7th March 2009:
- Fixed a bug with some unrelated GM functions causing a crash.
5th March 2009:
Edited by score_under, 20 July 2013 - 01:21 AM.