This is a clean v374 CabalMain.exe and a C source code for gamehook.dll which applies all kinds of patches to the game. Functionally, this is almost the same client as in X-Pasa 6.7.2 release, just cleaner.
It should be an easier starting point for those who want to modify the client.
All of those custom patches have a comment describing what they do and they can be easily modified or commented-out.
CabalMain.exe is functionally the same as in "CabalMain sem xtrap ep13" from vodikatm. It has the default XOR/Magic Key/husky/breaklee.
A few changes were made to minimize AV detections on virustotal (this is some technical gibberish, beware):
Also modified a few singular bytes to have English as the default language. Otherwise, the client doesn't have any custom patches or rewritten functions. The more handmade modifications I make, the more the AVs complain, so all modifications go to the DLL where AVs don't complain at all.
gamehook.dll currently does the following:
All of those patches are in main.c. Most of them were taken from various exe/dll files flying around Ragezone. As for exes I essentially diff-ed a lot of them, checked the modified addresses, looked up Ragezone, otherwise tried to figure out by myself. A ton of these modifications were first posted here by vodikatm .
There's also a few I couldn't look up nor figure out - you will see a few comments in main.c starting with `??`. As for DLLs - I looked into various 8xk.dll, bike.dll, d3dx9_44.dll, etc and extracted the relevant modifications.
It should be an easier starting point for those who want to modify the client.
All of those custom patches have a comment describing what they do and they can be easily modified or commented-out.
CabalMain.exe is functionally the same as in "CabalMain sem xtrap ep13" from vodikatm. It has the default XOR/Magic Key/husky/breaklee.
A few changes were made to minimize AV detections on virustotal (this is some technical gibberish, beware):
- removed that extra .newimp section with custom DLL dependencies. The exe here uses the original DLL dependency list. The only custom DLL is gamehook.dll and there is no space for more - if you ever need to hook additional DLLs (uh please don't), just make gamehook.dll depend on them.
- removed .edata section for exported symbols - that had no reason to exist and also triggered one AV
- moved .rsrc section to the end of file - this is how most exes are made, and it also makes a few AVs happy
- replaced a lot of unused data in the exe with zeroes - there was a lot of completely unused but questionable strings from X-Trap, some XML error reporting, some URLs to cabal websites, even twitter URLs were removed - this made at least a couple of important AVs happy with the exe
- removed "requireAdministrator". The exe should now run as regular user, no more Windows dialogue when double-clicking it
- removed .edata section for exported symbols - that had no reason to exist and also triggered one AV
- moved .rsrc section to the end of file - this is how most exes are made, and it also makes a few AVs happy
- replaced a lot of unused data in the exe with zeroes - there was a lot of completely unused but questionable strings from X-Trap, some XML error reporting, some URLs to cabal websites, even twitter URLs were removed - this made at least a couple of important AVs happy with the exe
- removed "requireAdministrator". The exe should now run as regular user, no more Windows dialogue when double-clicking it
Also modified a few singular bytes to have English as the default language. Otherwise, the client doesn't have any custom patches or rewritten functions. The more handmade modifications I make, the more the AVs complain, so all modifications go to the DLL where AVs don't complain at all.
gamehook.dll currently does the following:
Code:
- adds room for more bikes
- enables +20 upgrade
- adds room for more costumes
- loads more woman/man.ech
- enables minimap for any new maps
- removes some "file is corrupt" unnecessary data checks
- increases max zoom-out
- enables costumes in TG
- enables more slots for essence/blended runes
- fixes building TG towers at lvl 191+
- enables custom event/boss msgs
- modifies the xors (currently to 92, 3b, 18, 2f)
- modifies the game language (currently set to just English)
- ^ lifts the single language restriction
- disables "select channel" button in TG
- shows mob HP in the top bar
- enables auto BM2 retarget
- changes the title of the game window
- makes the "husky" parameter added by default - start the game by just double clicking the exe
- allows running multiple clients at once
- contains a couple of crash fixes
All of those patches are in main.c. Most of them were taken from various exe/dll files flying around Ragezone. As for exes I essentially diff-ed a lot of them, checked the modified addresses, looked up Ragezone, otherwise tried to figure out by myself. A ton of these modifications were first posted here by vodikatm .
There's also a few I couldn't look up nor figure out - you will see a few comments in main.c starting with `??`. As for DLLs - I looked into various 8xk.dll, bike.dll, d3dx9_44.dll, etc and extracted the relevant modifications.
Download:
or:
or: see the attachment
pass: ragezone
I included a Makefile to compile the above with MinGW or cross-compile from Linux. Gamehook relies on keystone lib to compile assembly into machine code at runtime. It could be done just once at compilation time, but then we wouldn't have such nice syntax in main.c. See keystone at
CabalMain.exe:
- after submitting countless samples to virustotal I can say the number of detections varies between 12 and 20. Most of those detections are done by some irrelevant AVs. The only popular ones are Google and McAfee - I couldn't do anything about them
gamehook.dll:
- compiled from the included sources (and stripped afterwards)
fmodex.dll:
- unmodified version, virustotal says first submission 2009-05-29
keystone.dll:
- unmodified version 0.9.2, virustotal says first submission 2020-10-03)
You must be registered to see links
or:
You must be registered to see links
or: see the attachment
pass: ragezone
I included a Makefile to compile the above with MinGW or cross-compile from Linux. Gamehook relies on keystone lib to compile assembly into machine code at runtime. It could be done just once at compilation time, but then we wouldn't have such nice syntax in main.c. See keystone at
You must be registered to see links
, it's is also included in the zip.CabalMain.exe:
You must be registered to see links
- after submitting countless samples to virustotal I can say the number of detections varies between 12 and 20. Most of those detections are done by some irrelevant AVs. The only popular ones are Google and McAfee - I couldn't do anything about them
gamehook.dll:
You must be registered to see links
- compiled from the included sources (and stripped afterwards)
fmodex.dll:
You must be registered to see links
- unmodified version, virustotal says first submission 2009-05-29
keystone.dll:
You must be registered to see links
- unmodified version 0.9.2, virustotal says first submission 2020-10-03)
Attachments
Last edited by a moderator: