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