Clean CabalMain.exe v374 + DLL source

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.
[Hidden content]
Thank.
 
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.
[Hidden content]
thanks
!
 
Este es un CabalMain.exe v374 limpio y un código fuente en C para gamehook.dll, que aplica todo tipo de parches al juego. Funcionalmente, es prácticamente el mismo cliente que en la versión 6.7.2 de X-Pasa, solo que más limpio.
Debería ser un punto de partida más fácil para aquellos que quieran modificar el cliente.
Todos esos parches personalizados tienen un comentario que describe lo que hacen y se pueden modificar o comentar fácilmente.

CabalMain.exe funciona igual que en "CabalMain sem xtrap ep13" de vodikatm. Tiene la clave XOR/Magic Key/husky/breaklee predeterminada.
Se realizaron algunos cambios para minimizar las detecciones de AV en virustotal (esto es un galimatías técnico, tenga cuidado):

Se eliminó la sección .newimp adicional con dependencias de DLL personalizadas. El archivo ejecutable aquí usa la lista de dependencias de DLL original. La única DLL personalizada es gamehook.dll y no hay espacio para más. Si alguna vez necesitas conectar DLL adicionales (por favor, no lo hagas), simplemente haz que gamehook.dll dependa de ellas.

- Se eliminó la sección .edata para los símbolos exportados, que no tenían ninguna razón de existir y también activaron un AV.

- Se movió la sección .rsrc al final del archivo: así es como se crean la mayoría de los ejecutables y también hace felices a algunos antivirus.

- reemplazó muchos datos no utilizados en el exe con ceros - había muchas cadenas completamente no utilizadas pero cuestionables de X-Trap, algunos informes de errores XML, algunas URL a sitios web de cabal, incluso se eliminaron las URL de Twitter - esto hizo que al menos un par de AV importantes estuvieran contentos con el exe

Se eliminó "requireAdministrator". El archivo ejecutable ahora debería ejecutarse como usuario normal; ya no aparece el cuadro de diálogo de Windows al hacer doble clic.

También modifiqué algunos bytes para que el inglés sea el idioma predeterminado. Por lo demás, el cliente no tiene parches personalizados ni funciones reescritas. Cuantas más modificaciones hago a mano, más se quejan los antivirus, así que todas las modificaciones van a la DLL, donde los antivirus no se quejan en absoluto.

gamehook.dll actualmente hace lo siguiente:

[CÓDIGO]
- agrega espacio para más bicicletas
- permite la mejora +20
- agrega espacio para más disfraces
- muchas más mujeres/hombres.ech
- habilita el minimapa para cualquier mapa nuevo
- Elimina algunas comprobaciones de datos innecesarias de tipo "archivo dañado"
- aumenta el alejamiento máximo
- permite disfraces en TG
- permite más espacios para runas de esencia/combinadas
- Corrige la construcción de torres TG en el nivel 191+
- permite mensajes personalizados de eventos/jefes
- modifica los xors (actualmente a 92, 3b, 18, 2f)
- modifica el idioma del juego (actualmente configurado solo en inglés)
- ^ levanta la restricción de un solo idioma
- deshabilita el botón "seleccionar canal" en TG
- muestra los HP de la mafia en la barra superior
- permite la reorientación automática de BM2
- cambia el título de la ventana del juego
- hace que el parámetro "husky" se agregue por defecto - inicia el juego simplemente haciendo doble clic en el exe
- permite ejecutar varios clientes a la vez
- Contiene un par de correcciones de fallos[/CODE]

Todos esos parches están en main.c. La mayoría se obtuvieron de varios archivos exe/dll que circulan por Ragezone. En cuanto a los exe, básicamente comparé muchos de ellos, revisé las direcciones modificadas, busqué información sobre Ragezone o, si no, intenté averiguarlo por mi cuenta. Muchas de estas modificaciones fueron publicadas aquí por vodikatm.
También hay algunos que no pude buscar ni descifrar; verás algunos comentarios en main.c que empiezan por `??`. En cuanto a las DLL, revisé varias 8xk.dll, bike.dll, d3dx9_44.dll, etc., y extraje las modificaciones pertinentes.
[Contenido oculto]
thank
 
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.
[Hidden content]
can this be use on cabal ep 33 server? I really wanted to have that allow multiple client running at once
 
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.
[Hidden content]
thanks
 
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.
[Hidden content]
For anyone asking:

1. Download Keystone -
2. Download w64devkit (x86 version) -
3. Set w64devkit's bin folder in environment variable
4. In the keystone folder from step 1, copy keystone folder in Include to the gamehook_src
5. Edit gamehook.rc and comment or remove this line: 1 RT_MANIFEST app.manifest
6. Open cmd and navigate to bin folder
7. Enter command: make

Makefile:
OBJECTS = main.o rc.o patchmem.o
CFLAGS := -I. -m32 -march=i686 -Wall -O2 -ggdb -MMD -MP -fno-strict-aliasing $(CFLAGS)
CFLAGS += -DHOOK_BUILD_DATE="\"$(shell TZ=UTC date +'%b %d %Y %I:%M %p UTC')\""
CFLAGS += -D_WIN32_WINNT=0x502

$(shell mkdir -p build &>/dev/null)

all: build/gamehook.dll

.PHONY: clean

clean:
rm -f $(OBJECTS:%.o=build/%.o) $(OBJECTS:%.o=build/%.d) build/gamehook.dll

build/gamehook.dll: $(OBJECTS:%.o=build/%.o)
gcc $(CFLAGS) -o $@ -shared -fPIC $(filter %.o,$^) -L. -lkeystone -Wl,--subsystem,windows -static-libgcc

build/%.o: %.c
gcc $(CFLAGS) -c -o $@ $<

build/%.o: %.cpp
g++ -fno-exceptions $(CFLAGS) -c -o $@ $<

build/rc.o: gamehook.rc
windres -i $< -o $@

-include $(OBJECTS:%.o=build/%.d)
 
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.
[Hidden content]
thanks
 
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.
[Hidden content]
ty
 
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.
[Hidden content]
nice tks
 
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.
[Hidden content]
TY
 
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.
[Hidden content]
(y)
 
Este é um CabalMain.exe v374 limpo e o código-fonte em C para gamehook.dll, que aplica diversos patches ao jogo. Funcionalmente, este é quase o mesmo cliente da versão 6.7.2 do X-Pasa, só que mais organizado.
Deve ser um ponto de partida mais fácil para quem deseja modificar o cliente.
Todos esses patches personalizados possuem um comentário descrevendo sua função e podem ser facilmente modificados ou comentados.

O CabalMain.exe é funcionalmente idêntico ao do "CabalMain sem xtrap ep13" de vodikatm. Ele possui o XOR/Magic Key/husky/breaklee padrão.
Foram feitas algumas alterações para minimizar as detecções de antivírus no VirusTotal (este texto é um pouco técnico, tenha cuidado):

- Removi a seção .newimp extra com as dependências de DLLs personalizadas. O executável aqui usa a lista original de dependências de DLLs. A única DLL personalizada é a gamehook.dll e não há espaço para mais nenhuma - se você precisar adicionar DLLs adicionais (por favor, não faça isso), basta fazer com que a gamehook.dll dependa delas.

- Removi a seção .edata para os símbolos exportados - que não tinha motivo para existir e também acionava um antivírus.

- A seção .rsrc foi movida para o final do arquivo - é assim que a maioria dos executáveis são criados, e isso também agrada a alguns antivírus.

- Substituí muitos dados não utilizados no executável por zeros - havia muitas strings completamente não utilizadas, mas questionáveis, do X-Trap, alguns relatórios de erro XML, alguns URLs para sites da Cabal, até mesmo URLs do Twitter foram removidos - isso fez com que pelo menos dois antivírus importantes ficassem satisfeitos com o executável.

- Removi a opção "requireAdministrator". O executável agora deve ser executado como usuário comum, sem mais diálogos do Windows ao clicar duas vezes nele.

Também modifiquei alguns bytes isolados para definir o inglês como idioma padrão. Fora isso, o cliente não possui patches personalizados nem funções reescritas. Quanto mais modificações manuais eu faço, mais os antivírus reclamam, então todas as modificações são feitas na DLL, onde os antivírus não reclamam.

O arquivo gamehook.dll atualmente faz o seguinte:

[CÓDIGO]
- Adiciona espaço para mais bicicletas
- Permite atualização +20
- Adiciona espaço para mais fantasias
- muito mais mulher/homem.ech
- Ativa o minimapa para quaisquer novos mapas
- Remove algumas verificações desnecessárias de dados do tipo "arquivo corrompido"
- aumenta o zoom máximo de afastamento
- Permite o uso de fantasias no TG
- Permite adicionar mais espaços para essências/runas combinadas
- Corrige problemas na construção de torres TG a partir do nível 191
- Ativa mensagens personalizadas para eventos/chefes
- modifica os xors (atualmente para 92, 3b, 18, 2f)
- Altera o idioma do jogo (atualmente definido apenas para inglês)
- ^ remove a restrição de idioma único
- Desativa o botão "selecionar canal" no TG
- Mostra a vida dos inimigos na barra superior
- Ativa o redirecionamento automático do BM2
- Altera o título da janela do jogo.
- Adiciona o parâmetro "husky" por padrão - Inicie o jogo clicando duas vezes no executável.
- Permite executar vários clientes simultaneamente
- contém algumas correções de travamento[/CODE]

Todos esses patches estão em main.c. A maioria deles foi retirada de vários arquivos .exe/.dll encontrados no Ragezone. Quanto aos .exes, basicamente comparei muitos deles, verifiquei os endereços modificados, pesquisei sobre o Ragezone e tentei descobrir tudo sozinho. Muitas dessas modificações foram postadas aqui pela primeira vez por vodikatm.
Também há alguns que não consegui pesquisar nem descobrir — você verá alguns comentários em main.c começando com `??`. Quanto às DLLs, examinei várias, como 8xk.dll, bike.dll, d3dx9_44.dll, etc., e extraí as modificações relevantes.
[Conteúdo oculto]
lets see
 
Back