Well, here is the idea of this protection explained:
- You modify the Magic Key in the RGSS102E.dll or RGSS202E.dll
- You encrypt your game with the same key (Use DRGSS for this or any other encryptor that allows custom key)
- You then have to compress/pack/crypt the RGSS dll, otherwise, almost anyone can just jump to where the magickey is located with any hex editor, and obtain it easily.
The advantages:
- Decryptors can't be used directly to decrypt the .rgssad/.rgss2a if you don't have the custom magic key.
- RGSSAD Extractor won't work, as it would be replacing the dll which contains the custom magic key.
Problems:
- The scripts still can be obtained from memory
- If someone manages to decompress/unpack/decrypt the dll, they would be able to obtain the custom magic key
- Someone with some debugger experience can obtain the magic key
- Some compressors/encrypters/packers for dll will leave the rgss dll unusable in some computers
Tutorial for doing applying this protection method yourself:
Modifying RGSS dll
First, you will need an unpacked RGSS dll. Here are both xp and vx rgss dlls unpacked by me:
RGSS102E-uncompressed.rar
RGSS202E.rar
If you want to unpack the dll by yourself, use:
Stripper_v213b9.rar
You may try using the default rgss dll, but packing a packed dll isn't a good idea.
Then, you will need a hex editor, I recommend using:
http://frhed.sourceforge.net/, but anyone will do.
Open the rgss dll with the hex editor and search for the 0xDEADCAFE key. But warning, the key is stored in little endian order, so you have to search for the inversed bytes FE CA AD DE (In frhed search for: <bh:fe><bh:ca><bh:ad><bh:de>), or if you have downloaded one of the rgss dll I uploaded you can use Go To (Ctrl+G), and for RGSS102E.dll go to 39628 or for RGSS202E.dll go to 43063.
So, now you want for example to use the key 0x12345678, then you have to write it in reversed byte order (Remember, 2 digits = 1 byte), that's 78 56 34 12.
Encrypt the game with your new magic key
Just use
DRGSS, and in the magic key field use your custom key (In this example 12345678)
Pack the RGSS dll
Warning, some packers will leave the rgss dll unusable for some pcs. Make sure that it work in differents computers before releasing a project with this protection.
So, you have to find a good packer, compressor, crypter for DLL. Here is a list:
http://www.woodmann.com/crackz/Packers.htm