Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Clean CabalMain.exe v374 + DLL source

Initiate Mage
Joined
Dec 14, 2019
Messages
29
Reaction score
185
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):

- 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

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 , it's is also included in the zip.

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)
 

Attachments

  • beta_cabalmain374+hook+src.zip
    4.2 MB · Views: 853
Last edited by a moderator:
Experienced Elementalist
Joined
Feb 17, 2015
Messages
244
Reaction score
96
...
- removed "requireAdministrator". The exe should now run as regular user, no more Windows dialogue when double-clicking it
...

I had never considered how pointless and unnecessary this was. x))
 
Initiate Mage
Joined
Aug 28, 2023
Messages
1
Reaction score
0
Any idea why i can't connect to the server with thie cabalmain with original i can
 
Skilled Illusionist
Joined
Jun 18, 2023
Messages
306
Reaction score
180
Xor keys is default in cabalmain but XOR keys uses the ENC to unpack uses 92 3B 18 2F
 
Initiate Mage
Joined
Aug 20, 2023
Messages
24
Reaction score
1
XOR
Este é um v374 limpo CabalMain.exe e um código fonte C para gamehook.dll que aplica todos os tipos de patches para o jogo. Funcionalmente, este é quase o mesmo cliente que na versão X-Pasa 6.7.2, apenas mais limpo.
Deve ser um ponto de partida mais fƔcil para quem deseja modificar o cliente.
Todos esses patches personalizados têm um comentÔrio descrevendo o que eles fazem e eles podem ser facilmente modificados ou comentados.

CabalMain.exe é funcionalmente o mesmo que em "CabalMain sem xtrap ep13" de vodikatm. Ele tem o padrão XOR / Magic Key / husky / breaklee.
Algumas mudanƧas foram feitas para minimizar as detecƧƵes de AV no virustotal (isso Ʃ um pouco tƩcnico, cuidado):

- removeu essa seção .newimp extra com dependências DLL personalizadas. O exe aqui usa a lista de dependências DLL original. A única DLL personalizada é gamehook.dll e não hÔ espaço para mais - se você precisar conectar DLLs adicionais (uh, por favor, não), basta fazer gamehook.dll depender deles.

- seção .edata removida para símbolos exportados - que não tinha razão de existir e também acionou um AV

- moveu a seção .rsrc para o final do arquivo - é assim que a maioria dos exes são feitos, e também faz alguns AVs felizes

- substituiu um monte de dados não utilizados no exe com zeros - havia um monte de cadeias de caracteres completamente não utilizadas, mas questionÔveis do X-Trap, alguns relatórios de erros XML, algumas URLs para sites cabal, até mesmo URLs do Twitter foram removidos - isso fez pelo menos um par de AVs importantes felizes com o exe

- removido "requireAdministrator". O exe agora deve ser executado como usuÔrio normal, não mais diÔlogo do Windows ao clicar duas vezes nele

Também modifiquei alguns bytes singulares para ter o inglês como idioma padrão. Caso contrÔrio, o cliente não terÔ patches personalizados ou funções reescritas. Quanto mais modificações artesanais eu faço, mais os AVs reclamam, então todas as modificações vão para a DLL onde os AVs não reclamam de jeito nenhum.

Gamehook.dll atualmente faz o seguinte:

[CƓDIGO]
- adiciona espaƧo para mais bicicletas
- Habilita a atualização +20
- adiciona espaƧo para mais trajes
- carrega mais mulher / man.ech
- Habilita o minimapa para qualquer novo mapa
- remove algumas verificaƧƵes de dados desnecessƔrias "arquivo estƔ corrompido"
- aumenta o zoom out mƔximo
- habilita figurinos em TG
- permite mais slots para runas essĆŖncia/misturadas
- conserta o edifĆ­cio de torres TG no nĆ­vel 191+
- Habilita MSGs personalizadas de evento/chefe
- Modifica o XORS (atualmente para 92, 3b, 18, 2f)
- modifica o idioma do jogo (atualmente definido apenas para inglĆŖs)
- ^ levanta a restrição de língua única
- desativa o botão "selecionar canal" no TG
- mostra mob HP na barra superior
- permite o redirecionamento automƔtico BM2
- altera o tĆ­tulo da janela do jogo
- torna o parâmetro "husky" adicionado por padrão - inicie o jogo apenas clicando duas vezes no exe
- permite executar vƔrios clientes ao mesmo tempo
- contƩm algumas correƧƵes de travamento[/CODE]

Todos esses patches estão em main.c. A maioria deles foram tirados de vÔrios arquivos exe / dll voando ao redor de Ragezone. Quanto aos exes, eu essencialmente diferi um monte deles, verifiquei os endereços modificados, procurei Ragezone, caso contrÔrio tentei descobrir por mim mesmo. Uma tonelada dessas modificações foram postadas pela primeira vez aqui por vodikatm .
HÔ também alguns que eu não poderia olhar para cima nem descobrir - você verÔ alguns comentÔrios em main.c começando com '?? `. Quanto a DLLs - eu olhei para vÔrios 8xk.dll, bike.dll, d3dx9_44.dll, etc e extraí as modificações relevantes.

Baixar:
ou:
ou: ver o anexo
Passe: Ragezone

Eu incluí um Makefile para compilar o acima com MinGW ou cross-compile a partir do Linux. O Gamehook depende da keystone lib para compilar o assembly em código de mÔquina em tempo de execução. Isso poderia ser feito apenas uma vez no momento da compilação, mas então não teríamos uma sintaxe tão boa no main.c. Veja a pedra fundamental em , ela também estÔ incluída no zip.

CabalMain.exe:
- depois de submeter inúmeras amostras ao virustotal, posso dizer que o número de detecções varia entre 12 e 20. A maioria dessas detecções é feita por alguns AVs irrelevantes. Os únicos populares são o Google e a McAfee - eu não poderia fazer nada sobre eles

gamehook.dll:
- compilado a partir das fontes incluĆ­das (e retirado depois)

fmodex.dll:
- Versão não modificada, VirusTotal diz primeira submissão 2009/05/29

Keystone.dll:
- versão não modificada 0.9.2, virustotal diz primeira submissão 2020-10-03)
[/HIDEOBRIGADO]
XOR???
 
Initiate Mage
Joined
May 3, 2023
Messages
26
Reaction score
1
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):

- 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

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 , it's is also included in the zip.

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)
I need help, is anyone willing to help me? Can you help me modify the language to recognize Chinese? I am a beginner and not very proficient in C++. I hope someone can teach me how to modify gamehook.dll. Once again, my sincere thanks!
 
Initiate Mage
Joined
Dec 14, 2019
Messages
29
Reaction score
185
I need help, is anyone willing to help me? Can you help me modify the language to recognize Chinese? I am a beginner and not very proficient in C++. I hope someone can teach me how to modify gamehook.dll. Once again, my sincere thanks!
I can't help you. But are you sure nobody has done it before? Chinese is on the list supported languages inside CabalMain
 
Initiate Mage
Joined
May 3, 2023
Messages
26
Reaction score
1
I can't help you. But are you sure nobody has done it before? Chinese is on the list supported languages inside CabalMain
Could you please tell me which tool can be used to convert your shared source files into DLL files? Thank you for your answer!
 
Junior Spellweaver
Joined
Jul 23, 2018
Messages
159
Reaction score
29
how can i modify the gamehook.dll? no cmake file.
 

Attachments

  • image - Clean CabalMain.exe v374 + DLL source - RaGEZONE Forums
    image.png
    21.1 KB · Views: 60
Last edited:
Back
Top