[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 6 Visitantes están viendo este tema.

verdadero26

Cita de: Mad Antrax en 17 Julio 2014, 16:34 PM
Que cosas más extrañas os pasan... Seguro que has escogido el proceso correcto? (usa el speedhack inyection para asegurarte). Si buscas otras variables te ocurre lo mismo? Es posible que el juego tenga alguna protección de memoria o similar?
Hola de nuevo,
mira te cuento el SpeedHack me funciona (desde el CE) perfectamente, otras variables como por ejemplo la vida de tus tropas SE PUEDEN HACKEAR, pero no se pueden hackear ni el oro, ni la madera, ni alimento, ni cantidad de la población, ni tampoco el favor(es otra variable que debes tener para crear unidades más avanzadas en el juego). He visto en el foro oficial del Cheat Engine que dicen que estas variables usan el cifrado XOR, por lo tanto, EN CONCLUSIÓN: las variables importantes en el juego(oro, madera, alimento y favor) están cifradas mediante el cifrado XOR, en cambio, las variables menos importantes las puedes modificar tranquilamente(como la vida de tus tropas).
Por lo tanto la pregunta es como modificar unas variables cifradas que usan la protección XOR?
Espero que hayas entendido lo que quiero decir...sino te lo explico de otra manera...

Mad Antrax

Cita de: verdadero26 en 17 Julio 2014, 20:04 PM
Hola de nuevo,
mira te cuento el SpeedHack me funciona (desde el CE) perfectamente, otras variables como por ejemplo la vida de tus tropas SE PUEDEN HACKEAR, pero no se pueden hackear ni el oro, ni la madera, ni alimento, ni cantidad de la población, ni tampoco el favor(es otra variable que debes tener para crear unidades más avanzadas en el juego). He visto en el foro oficial del Cheat Engine que dicen que estas variables usan el cifrado XOR, por lo tanto, EN CONCLUSIÓN: las variables importantes en el juego(oro, madera, alimento y favor) están cifradas mediante el cifrado XOR, en cambio, las variables menos importantes las puedes modificar tranquilamente(como la vida de tus tropas).
Por lo tanto la pregunta es como modificar unas variables cifradas que usan la protección XOR?
Espero que hayas entendido lo que quiero decir...sino te lo explico de otra manera...

En ese caso solo tienes una opción. Realiza la misma búsqueda, pero cada vez que aumente o disminuya la variable, usa "Changed Value", ya que con XOR no sabes si el valor aumenta o disminuye realmente. Tras varias búsquedas y pruebas conseguirás la variable que podrás congelar (freezze) y con un poco de suerte editar. Lo correcto en ese caso sería reversar el código interno del videojuego para saber de que forma aplica el XOR, pero tendrías que tirar de OllyDbg y es una tarea bastante más compleja.
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

verdadero26

Cita de: Mad Antrax en 18 Julio 2014, 13:00 PM
En ese caso solo tienes una opción. Realiza la misma búsqueda, pero cada vez que aumente o disminuya la variable, usa "Changed Value", ya que con XOR no sabes si el valor aumenta o disminuye realmente. Tras varias búsquedas y pruebas conseguirás la variable que podrás congelar (freezze) y con un poco de suerte editar. Lo correcto en ese caso sería reversar el código interno del videojuego para saber de que forma aplica el XOR, pero tendrías que tirar de OllyDbg y es una tarea bastante más compleja.
Buenas,
Con el método Changed Value/Unchanged Value me salen unas 30 possibles direcciones y de ahí no bajan. Al congelar estas variables se cierra el juego. Con Ollydbg busque un valor(madera) en la memoria, luego la pase en el dump y puse un memory breakpoint on acces y me paro aqui:

Al apretar run (F9), me vuelve a parar en el mismo lugar o dos o tres lineas mas abajo (o a veces arriba), por lo tanto intente poner un memory breakpoint on write(en el dump) para que solo pare cuando el valor cambia pero igualmente paraba en las mismas direcciones. También explore las calls de arriba pero no encontré nada interesante.

toreto30

che se puede ponerle mas oro al game alas del destino de face o mas vida? me das una mano?

MaturBale

#194
Buena me leí todo el tutorial detalladamente y segui todo los pasos, hace varios Días estoy tratando de modificar un juego en el cual me aparece el dinero, logro modificiarlo pero cuando quiero realizar una compra me dice que no poseo ese dinero.

Además quiero aclarar que cuando modifico media el código hexa el valor 10.000 (3710) para que me aparezca en el juego, en vez de aparecer 10.000 me aparece 14.006 me pasa lo mismo cuando quiero poner 1.000 me pone 1.004, pero cuando pongo 500 si me lo toma.

Quiero saber que puedo estar haciendo mal, o mejor dicho que paso me está faltando? el juego está bajo una plataforma Adobe.Air , no sé si influirá.

Traté de buscar valores mediante las funciones increase y decrease pero solo me toma el mismo valor referencial, si necesitás datos o lo que sea no hay problemas te los puedo proveer.

Edito para ayudarte un poco, bah para que vos me ayudes jaja.

Esto son los valores que tengo al encontrar el punto que quiero modificar

14BC6635 - E8 D031DB4A - call Adobe AIR.dll+49980A
14BC663A - 83 C4 10 - add esp,10
14BC663D - 89 47 28  - mov [edi+28],eax <<
14BC6640 - 8D 55 F0  - lea edx,[ebp-10]
14BC6643 - 8B 4D D4  - mov ecx,[ebp-2C]

EAX=00000288
EBX=0AA532C1
ECX=40844000
EDX=00000002
ESI=14BA27B8
EDI=02D1D380
ESP=0038E930
EBP=0038E978
EIP=14BC6640

Si entro y cambio manualmente el EAX me lo modifica a forma "visual" pero no es dinero real que yo tengo.

engel lex

Cita de: MaturBale en 23 Julio 2014, 10:30 AM
Buena me leí todo el tutorial detalladamente y segui todo los pasos, hace varios Días estoy tratando de modificar un juego en el cual me aparece el dinero, logro modificiarlo pero cuando quiero realizar una compra me dice que no poseo ese dinero.

Además quiero aclarar que cuando modifico media el código hexa el valor 10.000 (3710) para que me aparezca en el juego, en vez de aparecer 10.000 me aparece 14.006 me pasa lo mismo cuando quiero poner 1.000 me pone 1.004, pero cuando pongo 500 si me lo toma.

Quiero saber que puedo estar haciendo mal, o mejor dicho que paso me está faltando? el juego está bajo una plataforma Adobe.Air , no sé si influirá.

Traté de buscar valores mediante las funciones increase y decrease pero solo me toma el mismo valor referencial, si necesitás datos o lo que sea no hay problemas te los puedo proveer.

Edito para ayudarte un poco, bah para que vos me ayudes jaja.

Esto son los valores que tengo al encontrar el punto que quiero modificar

14BC6635 - E8 D031DB4A - call Adobe AIR.dll+49980A
14BC663A - 83 C4 10 - add esp,10
14BC663D - 89 47 28  - mov [edi+28],eax <<
14BC6640 - 8D 55 F0  - lea edx,[ebp-10]
14BC6643 - 8B 4D D4  - mov ecx,[ebp-2C]

EAX=00000288
EBX=0AA532C1
ECX=40844000
EDX=00000002
ESI=14BA27B8
EDI=02D1D380
ESP=0038E930
EBP=0038E978
EIP=14BC6640

Si entro y cambio manualmente el EAX me lo modifica a forma "visual" pero no es dinero real que yo tengo.

apuesto que es un juego online y que no leiste nada de este tema con respecto a ello
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

guardyan18

disculpe soy nuevo en esto y pues veo que esta paginaesmuybuena y quiero aprender...en este tutorial que colocas podrecrear algo para hackear juegos de facebook..como por ejemplo war of mercenaries...cuando he utilizado en CE con tutos por la red he podidohacerlo pero no hace efecto es solamente visual...entonces quiero saber como lograr los resultados

lobosucio35

Hola, ¿pudieras aconsejarme como usar cheat engine 6.2 con el juego afrika korps vs ratas del desierto?, he logrado incrementar la cantidad de unidades (soldados y vehiculos) permitidos por mision, PERO QUISIERA MODIFICAR LOS PARAMETROS DE LOS TANQUES Y DE LOS VEHICULOS MISMOS (Puntos de impacto, daño, etc. Hasta ahora todos mis intentos han sido vamos.

Te agradeceria un poco de tu tiempo para ver si es posible eso. Gracias

xzirx

BUENO ANTES Q NADA FELICITART POR EL BUEN TUTO DE PRINCIPIO A FIN HE SEGUIDO TODO COMO INDICAS EN LOS 3 TUTOS Y ME FUNCIONO AL 100, PERO TENGO UNAS DUDAS

1RA CONSULTA
SOBRE TU 3ER TUTORIAL EN EL AA SCRIPT AGREGAS add ax,A ENTIENDO QUE AX=6CC ES LA PARTE FINAL DEL REGISTRO EAX=000006CC, PERO COMO SE SI SU VALOR ES 5 U OTRO Y XQ AL FINAL DE add ax,A hay una A mayúscula q significa o es por algún tipo de lenguaje


2DA CONSULTA
ESTABA LEYENDO EL FORO Y NO ME QUEDA BIEN EN CLARO SI EL CE TAMBIEN FUNCIONA EN JUEGOS FLASH DE WEBS HE INTENTADO PERO EL FLASH SE DESHABILITA Y TENGO Q REFRESCAR LA WEB PARA VOLVER A JUGAR Y SIN NINGUN RESULTADO, SI FUESE EL CASO PODRIAS REALIZAR UN TUTO SOBRE ELLO DONDE INCLUYA tiempo, vida y dinero. bueno abusando d tu amabilidad de antemano gracias



Mad Antrax

Cita de: xzirx en 22 Octubre 2014, 21:39 PM
BUENO ANTES Q NADA FELICITART POR EL BUEN TUTO DE PRINCIPIO A FIN HE SEGUIDO TODO COMO INDICAS Y ME FUNCIONO AL 100, PERO TENGO UNAS DUDAS

1RA CONSULTA
SOBRE TU 3ER TUTORIAL EN EL AA SCRIPT AGREGAS add ax,A ENTIENDO QUE AX=6CC ES LA PARTE FINAL DEL REGISTRO EAX=000006CC, PERO COMO SE SI SU VALOR ES 5 U OTRO Y XQ AL FINAL DE add ax,A hay una A mayúscula q significa o es por algún tipo de lenguaje


2DA CONSULTA
ESTABA LEYENDO EL FORO Y NO ME QUEDA BIEN EN CLARO SI EL CE TAMBIEN FUNCIONA EN JUEGOS FLASH DE WEBS HE INTENTADO PERO EL FLASH SE DESHABILITA Y TENGO Q REFRESCAR LA WEB PARA VOLVER A JUGAR Y SIN NINGUN RESULTADO, SI FUESE EL CASO PODRIAS REALIZAR UN TUTO SOBRE ELLO DONDE INCLUYA tiempo, vida y dinero. bueno abusando d tu amabilidad de antemano gracias




Tu primera consulta:

El código original del programa ejecuta la instrucción mov [esi+34],ax para almacenar el contenido de ax en la dirección esi+34

Si pongo add ax,A justo antes de mov [esi+34],ax lo que consigo es incrementar (add) el valor de ax en 10 unidades. El número decimal 10 se escribe A en hexadecimal, por eso pongo add ax,A es decir, suma +10 en ax. Luego se ejecuta el mov y en la variable de las monedas se incrementa en 10 unidades.

El hacking en juegos flash es algo más complejo, tienes que abrir el proceso de tu explorador web que maneje el plugin de flashplayer (en firefox creo que se llama plugin-container.exe). Luego la búsqueda de variables es algo complejo porque suelen estar multiplicado por 8. Te pongo un ejemplo:

Tengo un juego donde tengo 5 vidas, pues en CE busco 40 (5*8). Éste truco no funciona siempre, depende de la versión flash del juego se ha de buscar de otra forma. Indaga un poco por google sobre como usar CE para juegos flash, no me quiero extender demasiado en ésta rama de la Ingeniería Inversa.

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