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

Newbie Spellweaver
Joined
Dec 14, 2019
Messages
30
Reaction score
233
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

You must be registered for see attachments list
Last edited by a moderator:
Experienced Elementalist
Joined
Feb 17, 2015
Messages
263
Reaction score
119
...
- 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
 
Elite Diviner
Joined
Jun 18, 2023
Messages
436
Reaction score
245
Xor keys is default in cabalmain but XOR keys uses the ENC to unpack uses 92 3B 18 2F
 
Newbie Spellweaver
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???
 
Junior Spellweaver
Joined
Aug 23, 2022
Messages
100
Reaction score
5
this cabalmain support or use for 9class? pls advise.....
 
Newbie Spellweaver
Joined
May 3, 2023
Messages
26
Reaction score
2
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!
 
Newbie Spellweaver
Joined
Dec 14, 2019
Messages
30
Reaction score
233
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
 
Newbie Spellweaver
Joined
May 3, 2023
Messages
26
Reaction score
2
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
178
Reaction score
38
how can i modify the gamehook.dll? no cmake file.
 

Attachments

You must be registered for see attachments list
Last edited:
Back
Top