- Joined
- Sep 10, 2006
- Messages
- 1,243
- Reaction score
- 183
Hey all
Had trouble with some hackers on my server last week, so I found out an easy method to stop hackers from injecting DLLs into the engine using an external loader.
First you have to know how the structure of loading works.
For who?
For private server owners with a custom launcher (with source).
A little intro
In your launcher/start.bat you will find something like this
In xlate-e.dat you will find:
look @ (config ""). This means the config will show all servers, no matter what the *** parameter is in the launcher's engine.exe /load /config ***.
Changing it to (config "test2") would be a better option, since when you launch the game with engine.exe /load /config debug, it would not show the server with (config "test2").
I hope you understand how this works.
Now, most of the hacks load the game with engine.exe /load /config debug. In most cases this will show all servers and they are free to hack.
How to fix this?
1) Get a random string of numbers and letters e.g. 5f8sd4fsd4f55f8899
2) Open xlate-e.dat and make it look llike this:
What does it do against hacks?
Well Zogga.exe and Syron hack (and more, like kalhackit) load the engine and config.pk with an external program (Zogga.exe, NOOR-L.exe, ExtendLoader.exe). But, their weakness is that they only load debug or test2. (engine.exe /load /config debug or engine.exe /load /config test2)
Having a custom string will make it impossible to load since only hex-editing the external loaders would fix this, but of course hex editing is replacing bytes. Using a long custom string (my server is using a 32-char string) will make it impossible to hexedit the external loader.
When somebody tried to launch the game with the hack, they will not see your server in the serverlist but a warning that they should load the game with the updater.
Have fun!
Ask questions in this thread, not in PM
Bjorn
Had trouble with some hackers on my server last week, so I found out an easy method to stop hackers from injecting DLLs into the engine using an external loader.
First you have to know how the structure of loading works.
For who?
For private server owners with a custom launcher (with source).
A little intro
In your launcher/start.bat you will find something like this
where *** can be debug, test2, or anything elseengine.exe /load /config ***
In xlate-e.dat you will find:
(serverlist ( name "Hanin") ( IP "222.111.213.22") ( PORT "30001") (config "") (servernumber 1))
(serverlist ( name "Naraeha") ( IP "222.111.213.25") ( PORT "30001") (config "") (servernumber 2))
(serverlist ( name "Bango (New)") ( IP "222.111.213.28") ( PORT "30001") (config "") (servernumber 3))
look @ (config ""). This means the config will show all servers, no matter what the *** parameter is in the launcher's engine.exe /load /config ***.
Changing it to (config "test2") would be a better option, since when you launch the game with engine.exe /load /config debug, it would not show the server with (config "test2").
I hope you understand how this works.
Now, most of the hacks load the game with engine.exe /load /config debug. In most cases this will show all servers and they are free to hack.
How to fix this?
1) Get a random string of numbers and letters e.g. 5f8sd4fsd4f55f8899
2) Open xlate-e.dat and make it look llike this:
3) Edit your launcher (only works with custom launchers like the one from perpetualfear) and make your button for Start Game load(serverlist ( name "Please run the game with the updater.") ( IP "127.0.0.1") (PORT "30000") (config "debug" "test2") (servernumber 1))
(serverlist ( name "Server name") ( IP "SERVERIP") (PORT "PORT") (config "5f8sd4fsd4f55f8899") (servernumber 2))
4) CRYPT YOUR HEX SOURCE USING Armadillo or PeCompactengine.exe /load /config 5f8sd4fsd4f55f8899
What does it do against hacks?
Well Zogga.exe and Syron hack (and more, like kalhackit) load the engine and config.pk with an external program (Zogga.exe, NOOR-L.exe, ExtendLoader.exe). But, their weakness is that they only load debug or test2. (engine.exe /load /config debug or engine.exe /load /config test2)
Having a custom string will make it impossible to load since only hex-editing the external loaders would fix this, but of course hex editing is replacing bytes. Using a long custom string (my server is using a 32-char string) will make it impossible to hexedit the external loader.
When somebody tried to launch the game with the hack, they will not see your server in the serverlist but a warning that they should load the game with the updater.
Have fun!
Ask questions in this thread, not in PM
Bjorn
Last edited by a moderator: