Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: beholdthe en 14 Junio 2018, 04:45 am



Título: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 14 Junio 2018, 04:45 am
Hola a  todos.
No juego a muchos juegos (valga la redundancia) porque no tengo tiempo, y porque me pilla algo mayor ya :D :D, pero de vez en cuando, a los que juego, uso el Cheat Engine 6.7 para darme por ej mas dinero, y comprar cosas como munición, armas, etc, y así compensar un poco lo malisimo que soy jugando y poder acabarme alguno.

No soy un experto en esto, la verdad es que se hacer pocas cosas con el CE, pero lo que no entiendo es por que en unos juegos funciona y en otros no.
En algunos para modificar la puntuación, dinero o munición, que son cantidades exactas y fáciles de encontrar y modificar, no tienes problema ninguno, y en otros es imposible.
Encuentro la dirección, o me queda un único resultado, pero al modificarlo no lo hace.

Tambien se modificar las barras de vida, donde no hay un valor exacto, y me pasa lo mismo, en algunos juegos me resulta imposible.

Al que estoy jugando ahora es uno INDIE, que ocupa muy poco llamado SHAQ FU A LEGEND REBORN, que acaba de salir, y por mas que lo intento no hay manera.

Otra duda...
¿Por que siempre que cierro el juego o incluso en algunos juegos cuando cambias de nivel, tengo que volver a repetir toooodo el proceso?
Me gustaria saber hacer lo que hacen la gente que desarrolla TRAINERS, que simplemente lo ejecutas y te sirve para siempre.
Es mas, si no fuera muy complicado, me gustaría PAGAR A ALGUIEN para que me diera clases por SKYPE o como sea.
Mi favorito desarrollando TRAINERS es alguien llamado FLING, dado que siempre funcionan, nunca se crashea el juego, y nunca tienen virus, no como otros que vienen cargaditos segun VIRUS TOTAL.

He seguido cuidadosamente muchos tutoriales y vídeos en Youtube, incluso uno que hay en este foro por MAD ANTRAX, pero cuando ejecuto el script, el juego se crashea, y siempre que lo cierro, ya no me sirve para nada lo que he hecho porque cambian las direcciones.

Muchas gracias.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: engel lex en 14 Junio 2018, 04:59 am
el asunto está no en entender Cheat Engine, esa es solo una herramienta para acceder a la sección de ram que contiene el ejecutable, es cosa de entender como se estrcturan los exe y como se carga en memoria... para esto es bueno aprender ASM e ingenieria inversa, junto con el manejo de editores hexadecimales (CE no es más que eso pero con capacidades agregadas)

sobre por qué no afectan tus cambios, puede ser porque estás cambiando la variable que representa elelemento en pantalla pero no la variable interna, puede que esta se fuerde en un formato diferente por razones varias (incluyendo protección) así que (esto es un vago ejemplo) por ejemplo el dinero en pantalla es 1000, el guarde 0001 y lo invierta para operar con el

sobre el cambio de los valores es debido a que estás trabajando con la memoria dinamica, tendrás que aprender a encontrar los apuntadores estaticos de la memoria


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 14 Junio 2018, 06:03 am

sobre por qué no afectan tus cambios, puede ser porque estás cambiando la variable que representa elelemento en pantalla pero no la variable interna, puede que esta se fuerde en un formato diferente por razones varias (incluyendo protección) así que (esto es un vago ejemplo) por ejemplo el dinero en pantalla es 1000, el guarde 0001 y lo invierta para operar con el


Pues algo así tendrá que ser casi seguro, porque en un montón de juegos no hay problemas, y en otros es imposible.

Pero por ej en el caso de las barras de vida ya no se si sera eso que has dicho, dado que yo lo que hago es buscar un valor inicial desconocido y luego cada golpe que me dan y baja la vida busco valor decreciente, y si pillo por ej una poción y aumenta la vida pues valor creciente, así todo el rato hasta que me da un único resultado, o alguno mas dependiendo del juego.
Creo que en ese caso no debería haber ya ninguna duda que realmente son los valores de la vida (como en otros juegos que si funciona) y aun así nada de nada :( :(

Lo de aprender todas esas cosas, ya me pilla muy mayor y con poco tiempo, aunque me encantaría.
Aunque como bien dije antes, no tendría ningún problema en pagar a alquilen para que o bien me enseñe lo básico, o simplemente me cree el un trainer a petición.
Todo es negociable. :D :D

Muchas gracias por tu buena y rápida respuesta.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: apuromafo CLS en 15 Junio 2018, 01:17 am
no es tener que pagar para entender, es simplemente una posibilidad de cada juego, ejemplo si el juego trabaja con los datos en el servidor, no podrás modificar los datos, porque no están sincronizados, por otro lado si lo trabaja en el cliente y no puedes, posiblemente tiene alguna deteccion de alguna trampa (ejemplo tener 30 vidas es el maximo, que alguien tenga mas es trampa)..

la gran mayoria de los juegos que detectan hacks, hacen baneos a la cuenta


por otro lado si quieres aprender, aqui hay ejemplos de uso
https://foro.elhacker.net/ingenieria_inversa/tutorial_usar_cheat_engine_para_modificar_juegos_inyeccion_de_codigo-t382181.0.html

Saludos Apuromafo


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: BloodSharp en 15 Junio 2018, 02:14 am
Al que estoy jugando ahora es uno INDIE, que ocupa muy poco llamado SHAQ FU A LEGEND REBORN, que acaba de salir, y por mas que lo intento no hay manera.
TvvX7ZHXQ_8

Ese juego no parece muy complicado (solo 1 jugador según steam) seguro no tiene un anticheat decente :P, además por lo que ví en youtube se me ocurren modificar otras cosas aparte de la vida y el dinero, como velocidad del jugador, velocidad de  golpe, habilidades, energía, autokeys (por si tienen combo) :silbar:, etc...

En fín, es cuestión de aprender ingeniería inversa, analizar y depurar varias horas encontrando así las vulnerabilidades a explotar...


B#


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 15 Junio 2018, 04:42 am
no es tener que pagar para entender, es simplemente una posibilidad de cada juego, ejemplo si el juego trabaja con los datos en el servidor, no podrás modificar los datos, porque no están sincronizados, por otro lado si lo trabaja en el cliente y no puedes, posiblemente tiene alguna deteccion de alguna trampa (ejemplo tener 30 vidas es el maximo, que alguien tenga mas es trampa)..

la gran mayoria de los juegos que detectan hacks, hacen baneos a la cuenta


No, no, los juegos que utilizo son de manera local, nunca juego online ni nada de eso.
Sobre lo que  dices de tener mas vidas y que lo detecte porque tenga un máximo, todo eso ya lo había pensado, por lo que las pruebas que he hecho es subiendo por ej 100 puntos mas (solo con dar un par de golpes los consigues) y tampoco funciona.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 15 Junio 2018, 04:48 am
TvvX7ZHXQ_8

Ese juego no parece muy complicado (solo 1 jugador según steam) seguro no tiene un anticheat decente :P, además por lo que ví en youtube se me ocurren modificar otras cosas aparte de la vida y el dinero, como velocidad del jugador, velocidad de  golpe, habilidades, energía, autokeys (por si tienen combo) :silbar:, etc...

En fín, es cuestión de aprender ingeniería inversa, analizar y depurar varias horas encontrando así las vulnerabilidades a explotar...


B#

No, si este juego no es nada difícil, de hecho lo termine sin ningún truco porque no podía.
Lo he puesto de ejemplo porque al intentar modificarlo los primeros días con el Cheat Engine para darme vida infinita o lo que sea, no pude, por mas que lo intente mil veces.
Me pareció un buen candidato para hablar de esto que me ha sucedido en algún que otro juego, dado que es un juego INDIE, osea pequeñito y supongo con menos medidas de seguridad o complejidades, y por ser un juego muy liviano.
Al ser actual pues es probable que alguien del foro lo jugara también y pudiera probar a ver si había conseguía hacer algo, aunque sinceramente lo dudo.
Yo creo que de alguna manera los protegen y no es posible.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: PalitroqueZ en 15 Junio 2018, 04:53 am
Citar
Encuentro la dirección, o me queda un único resultado, pero al modificarlo no lo hace.

eso sucede porque en la programación del juego se usan punteros anidados, esto es un  puntero que apunta a otro puntero, y esto puede repetirse en varios niveles, entonces si no se traza adecuadamente el direccionamiento y se capturan los registros correctos, caerás en falsas direcciones que no guardan los datos al cargar el juego en cada instancia.



Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 15 Junio 2018, 08:29 am
eso sucede porque en la programación del juego se usan punteros anidados, esto es un  puntero que apunta a otro puntero, y esto puede repetirse en varios niveles, entonces si no se traza adecuadamente el direccionamiento y se capturan los registros correctos, caerás en falsas direcciones que no guardan los datos al cargar el juego en cada instancia.



Osea que si realmente es por lo que dices, con un programa como Cheat Engine seria imposible lograr hacer nada, ¿no?  :( :( :(


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: PalitroqueZ en 15 Junio 2018, 18:24 pm
Osea que si realmente es por lo que dices, con un programa como Cheat Engine seria imposible lograr hacer nada, ¿no?  :( :( :(

con CE es posible hacerlo, pero hay tecnicas para eso. en youtube hay videos (los mejores en ingles) que explican como detectar el puntero correcto.



Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: engel lex en 15 Junio 2018, 18:33 pm
Citar
Osea que si realmente es por lo que dices, con un programa como Cheat Engine seria imposible lograr hacer nada, ¿no?  :( :( :(

Citar
con CE es posible hacerlo, pero hay tecnicas para eso. en youtube hay videos (los mejores en ingles) que explican como detectar el puntero correcto.

exacto, CE es una herramienta de inspección de memoria dinámica, tal vez una de las mejores, el asunto es comprender que hace por dentro el programa para poder usarlo apropiadamente


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: BloodSharp en 15 Junio 2018, 19:22 pm
Osea que si realmente es por lo que dices, con un programa como Cheat Engine seria imposible lograr hacer nada, ¿no?  :( :( :(

No, @PalitroqueZ se refería a tener que buscar a las variables buscando referencias (posiblemente varias) viendo a donde apuntan (lectura/escritura) tales valores que representan lo que querés buscar, pero que al modificar no pasa nada porque son referencias... Por ejemplo valores identicos usados para mostrar en pantalla, lo que se hace es buscar que modifica o lee el valor deseado y localizar la ubicación física real del valor que necesites...

En definitiva con Cheat Engine se puede, pero no es solamente escanear valores únicamente...


B#


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: Serapis en 16 Junio 2018, 10:50 am
Cada programador añade sus propias ideas sobre protección, luego no puede valer usar un programa así tal cual, esperando que adivine que cosa hizo cada programador.
Requiere que el usuario, no sea meramente un usuario, si no también un programador, para saber que hace.

No basta solo con direcciones de memoria, a veces será preciso pringarse más que eso.

Imagina que yo tengo un byte y guardo en él 3 datos, en los bits 1 y 2 x cosa, en los siguientes 5 bits, por ejemplo municiónes, luego el máximo para 5 bits es 32, y en el bit restante otro dato... entonces no vas a poder 500 como munición, primero porque solo uso un byte y segundo, tampoco podrás poner siquiera 255, porque en segundo lugar, el resto de bits al usarlo para otras cosas, podrías estar fastidiando por otro lado, imagina que esos dos bits primeros fueran nivel de oscuridad (0-3) al poner los dos bits a 1, estarías oscureciendo la pantalla, quizás hasta un punto, donde cueste percibir la acción del juego. ...esto es, que según el juego y su programador, podría no bastar con alterar el valor de una dirección de memoria... o bien que modificando una dirección de memoria podrías estar modificando algo más que lo que tú pretendes.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 18 Junio 2018, 02:47 am
Pues vaya...  :( :(
Vamos que para alguien como yo no esta la cosa.

con CE es posible hacerlo, pero hay técnicas para eso. en Youtube hay vídeos (los mejores en ingles) que explican como detectar el puntero correcto.

He buscado por Youtube algún vídeo de esos, pero siempre acabo encontrando los mismos, una y otra vez.
¿Podías mandarme algún enlace de algunos para ver si consigo entender o mejorar algo?
Si no, ¿que pongo para buscar? Porque si pongo puntero o pointer voy a los vídeos de siempre.

Muchas gracias a todos por las respuestas.


Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: PalitroqueZ en 18 Junio 2018, 04:36 am
bRrfmrTzVMw

N44nk9URoG8

47qRcjAB1kM



Título: Re: ¿Por que CHEAT ENGINE no funciona en todos los juegos?
Publicado por: beholdthe en 18 Junio 2018, 06:29 am
bRrfmrTzVMw

N44nk9URoG8

47qRcjAB1kM




Muchísimas gracias por los vídeos.
Seguramente no me entere de nada, pero seguro que algo nuevo aprendere y mejorare en el manejo del Cheat Engine.

Gracias a todos de nuevo.    ;-) ;-) ;-) ;-) ;-) ;-) ;-)