[Tutorial] Usar Cheat Engine para modificar juegos + inyección de código

Iniciado por Mad Antrax, 1 Febrero 2013, 11:46 AM

0 Miembros y 2 Visitantes están viendo este tema.

nanduky

Cita de: MCKSys Argentina en  1 Septiembre 2013, 18:55 PM
Cita de http://wiki.cheatengine.org/index.php?title=Cheat_Engine:Memory_Scanning

"There are two types of addresses in this list: Green ones and black ones. Green means static addresses."

Eso salió usando Google...  :P

Saludos!

Vale gracias, pero me quedo igual...
No se ingles, y la traduccion de google no me aclara nada.

MCKSys Argentina

Cita de: nanduky en  2 Septiembre 2013, 00:11 AM
No se ingles, y la traduccion de google no me aclara nada.

Si vas a usar un PC, NECESITAS saber ingles. No lo veo como algo opcional...

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


nanduky

Cita de: MCKSys Argentina en  2 Septiembre 2013, 00:14 AM
Si vas a usar un PC, NECESITAS saber ingles. No lo veo como algo opcional...

Saludos!
Pues entonces lo tendré que vender.

MCKSys Argentina

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Musazo

En el gta samp no me funciona lo del dinero :(

Cuando logro encontrar el codigo del dinero comprando cosas en la tienda de armas resulta que el dinero está compuesto por 3 codigos. Y no entiendo porque.



Cuando intento hacer lo del tutorial con el AA para que cuando compre algo en vez de restarse me añada más dinero no funciona, me sigue restando. Esto siempre lo intento con el primer codigo que sale en la lista, con los demás cuando compro un arma en vez de salirme en count 1, me salen números aleatorios por ejemplo 56 o cosas así.

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
add ax,A
mov [ebp+gta_sa.exe+77CE50],ecx

exit:
jmp returnhere

06890004:
jmp newmem
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
06890004:
mov [ebp+gta_sa.exe+77CE50],ecx
//Alt: db 89 8D 50 CE B7 00

Mad Antrax

#95
Ya veo donde está el error, has añadido ADD ax,A al script. Lo que expliqué en mi tutorial era solo un ejemplo, cada juego necesita modificarse a su modo. Prueba lo siguiente:

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov [ebp+gta_sa.exe+77CE50],f423f

exit:
jmp returnhere

06890004:
jmp newmem
nop
returnhere:




[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
06890004:
mov [ebp+gta_sa.exe+77CE50],ecx
//Alt: db 89 8D 50 CE B7 00


De todas formas necesitaría ver el ejemplo completo, si no me he equivocado el script te dará 999999 $. Si no te funciona postea el dump completo cuando salta el debugger así como las instrucciones de arriba antes del mov [ebp+gta_sa.exe+77CE50],ecx

Por último veo que el juego utiliza memoria relativa. Si quieres complicar un script cerrado (o un trainer) tendrás que usar AOBSCAN()

Saludos
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Musazo

Funcionó a la perfección muchas gracias  ;-)
Lo de la memoria relativa ya no sé que es, si me pudieras explicar de alguna forma o pasarme un link para aprender sobre ello molaría.

Mad Antrax

Cita de: Musazo en  9 Septiembre 2013, 11:13 AM
Funcionó a la perfección muchas gracias  ;-)
Lo de la memoria relativa ya no sé que es, si me pudieras explicar de alguna forma o pasarme un link para aprender sobre ello molaría.

Bieeeeen!! Pero lo más importante, ¿has entendido porqué mi script funciona? f423f = 999999 (HEX).

Lo de la memoria relativa se sabe mirando el AA script que se ha generado, en tu caso la dirección del salto es 06890004:

Cuando aparece una dirección numérica se dice que es relativa, ese mismo juego en mi PC se podría ejecutar en la dirección 06790004: (en ese caso el script dejaría de funcionar). Si un programa/juego utiliza dirección absolutas lo podrás comprobar porque aparece algo parecido a lo siguiente "moneybag_tutorial.exe"+2C19:

Si necesitas cerrar un script o trainer en un juego con dirección relativas, tendrás que usar AOBSCAN(), los bytes a buscar aparecen en el comentario del propio AA (89 8D 50 CE B7 00).

Tengo pensado hacer un ejemplo con tutorial sobre la detección de memoria relativa y como solucionarlo con AOBSCAN(), pero por el momento estoy ocupado en otros proyectos y no tengo tiempo.

Saludos
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

nanduky

Sigo sin poder ver las direcciones estáticas de color verde, si alguien sabe como solucionarlo le agradecería la ayuda.

Musazo

Sí, de hecho probé yo mismo con otros códigos que no fuera el que me dijiste hehé y funciona perfecto.  ::)

Ahora a ver si puedo hacer cosas más complicadas que eso.