PDA

View Full Version : How to mod h2server?



GCreat0r
November 16th, 2012, 08:49 PM
Hi everyone,
I hope someone on this forum can explain to me how make a mod for the h2server.
I think the first thing I need to know is how to read and write memory values from/to the dedicated server.I know h2server has anti-debugger build in. That might make stuff even harder.
I have already been working on a serversided tool written by someone else wich uses VAMemory DLL to read and write memory values, but I have only worked on the logic of the aplication, I haven't touched the parts where memory is read or written.
I read about xliveless, but I don't belive it will disable the anti-debugger protection of the dedicated server.
In case it mathers, I am running the dedicated server as service.

Can someone please explain to me how I use for example cheat engine to find the adress/offset I need to read and write using VAMemory DLL?
Next to using cheat engine, are there ather usefull ways to mod h2server? I don't have much experience with ollydgb eighter, but I am willing to learn more if there is anything usefull I can do with it while modding h2server.

I am doing this because I want to learn from it.

Thanks

Ryx
November 17th, 2012, 12:04 AM
Hi everyone,
I have already been working on a serversided tool written by someone else wich uses VAMemory DLL to read and write memory values, but I have only worked on the logic of the aplication, I haven't touched the parts where memory is read or written.
Thanks
AFAIK only h2v has anti-debug, not h2server. I don't have it installed anymore, but you can go to ollydbg, search intermodular calls, look for isdebuggerpresent, and just edit the cmp or whatever check it uses and fix that. Then, I remember h2v used a trick where it just pushed the address of a kernel32.dll function into eax, and called [eax+somenumber] which ended up being isdebuggerpresent. You could check which ordinals are around isdebuggerpresent and search for call [eax+(isdebuggerpresent-someordinal)].

Sorry I don't remember which thunk it used; Kant can probably help you if you can find him.

Edit: Or just go to the PEB and change the IsDebuggerPresent member to 0 since that's the only protection it uses. You'll need to change the page protection on it before you can write to it though, just get the protection then or write onto it so if the game tries to read it while you're editing it doesn't give any errors.