Autor
|
Tema: [Tutorial] Usar Cheat Engine para modificar juegos + inyección de código (Leído 430,373 veces)
|
gonzalo57
Desconectado
Mensajes: 74
|
a medio me perdi en la 2 parte y en el 3 ya bff. imposible para mi
|
|
|
En línea
|
@echo off title Gonzalo57 color 5a echo Estoy aprendiendo Batch :3 echo. pause cls echo un saludo elhacker.net pause > nul
|
|
|
Mad Antrax
|
a medio me perdi en la 2 parte y en el 3 ya bff. imposible para mi Exactamente en que parte te perdiste? Quizás pueda ayudarte
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
[NelSito*]
Desconectado
Mensajes: 12
|
Ahora entiendo un poco mas esa funcion ^^! lo que pasa que yo años atras jugaba MapleStory un juego muy peculiar y divertido en aquellos tiempos diseñado en 2D, al buscar addys en la memoria pues comenze encontrando un Unlimited Attk, consistes en saltar el limite de ataques que te da el juego que era "99" hits. Ejemplo: http://foro.elhacker.net/ingenieria_inversa/tutorial_hallar_pointers_offset_con_ce_mhs5-t342767.0.htmlOjo que aqui realizo usando otra herramienta para hacerlo mas facil y comprensivo. Volviendo a mi pregunta, en el script ejemplo que muestras señala "FTLGame.exe"+B133F: pero si yo lo cambio por el addy se me ocurre 00123456: ¿vendria hacer lo mismo? ¿el debugger lo leeria normal? ¿Ahora hay scripts que incluyen pointers y multipointers? podrias explicarme un poco mas sobre ello porfavor. Ejemplo del script del unlimited attk que incluye pointers. [enable] alloc(UnlimitedAttk, 512) label(dontReset) UnlimitedAttk: push ecx mov ecx,[997EDC] //Direccion del Unlimited Attk cmp [ecx+2250], 61 // Unlimited Attk Offset | 99 Ataques jle dontReset dec [ecx+E50] //Item X | Viene hacer un puntero que resetea el conteo de los ataques moviendose para cualquier lado dontReset: pop ecx cmp eax,edi mov [ebp-20],eax ret 005B9343: // AOB del Addy 3B C7 89 45 E0 74 5F FF B3 B0 03 00 00 8D 83 A8 call UnlimitedAttk [disable] 005B9343: cmp eax,edi mov [ebp-20],eax dealloc(UnlimitedAttk, 512)
|
|
|
En línea
|
|
|
|
Mad Antrax
|
Exactamente no entiendo tu pregunta Que es lo que quieres hacer? El tema de pointers o multi-level pointers no he hablado en el tutorial. No me gusta trabajar con ellos ya que son algo confusos, puedes realizar cualquier hack sin recurrir a los pointers, incluso en direcciones dinámicas
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
[NelSito*]
Desconectado
Mensajes: 12
|
Disculpa si no formule bien mi pregunta, pero quiero saber si al crear el script se agregan los pointers automaticamente y hablo de direcciones estaticas.
La otra pregunta era que si FTLGame.exe"+B133F: lo reemplazo por el addy que deberia de ser que es "00123456" CE leeria igual el script.
|
|
|
En línea
|
|
|
|
Mad Antrax
|
Disculpa si no formule bien mi pregunta, pero quiero saber si al crear el script se agregan los pointers automaticamente y hablo de direcciones estaticas.
La otra pregunta era que si FTLGame.exe"+B133F: lo reemplazo por el addy que deberia de ser que es "00123456" CE leeria igual el script.
Cuando generas un script usando los pasos descritos en la parte 3, se agrega todo automáticamente, no tienes que escribir nada. Te lo explico usando el ejemplo del tutorial 3: Como puedes ver, el debugger de CE me muestra la instrucción que modifica mi dirección donde almaceno el dinero, dicha instrucción es moneybag_tutorial.exe"+2C19 (mira la imagen). Al añadir las plantillas, CE escribe automáticamente el siguiente código: [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat alloc(newmem,2048) //2kb should be enough label(returnhere) label(originalcode) label(exit)
newmem: //this is allocated memory, you have read,write,execute access //place your code here
originalcode: mov [esi+34],ax jg moneybag_tutorial.exe+2C23
exit: jmp returnhere
"moneybag_tutorial.exe"+2C19: jmp newmem nop returnhere:
[DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) "moneybag_tutorial.exe"+2C19: mov [esi+34],ax jg moneybag_tutorial.exe+2C23 //Alt: db 66 89 46 34 7F 04Lo que está en negrita es la primera línea que se ejecutará, justamente es la dirección donde tengo mi instrucción mágica mov [esi+34],ax. Si quieres remplazar la dirección del salto puedes usar direcciones no relativas, para ello suma la BASE con la dirección: 40400+2C19 = moneybag_tutorial.exe+2C19, así que supongo que CE lo leerá igual, pero no estoy seguro, deberías probarlo.
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
gonzalo57
Desconectado
Mensajes: 74
|
En el debugger, lo de darle aqui: Find out what writes to this address
|
|
|
En línea
|
@echo off title Gonzalo57 color 5a echo Estoy aprendiendo Batch :3 echo. pause cls echo un saludo elhacker.net pause > nul
|
|
|
MeTaD
Desconectado
Mensajes: 84
|
Hermanito, una pregunta, la dirección de memoria cambia en cada ejecución cierto? como se podría identificar automáticamente la dirección después de haber cambiado?
|
|
|
En línea
|
|
|
|
Mad Antrax
|
Hermanito, una pregunta, la dirección de memoria cambia en cada ejecución cierto? como se podría identificar automáticamente la dirección después de haber cambiado?
Muy buena pregunta. Hay dos formas para hacer eso: - Utilizar pointers (no lo he explicado) - Utilizar Auto-Assemble Scripts (Explicado en el paso 2 y 3) Volviendo al ejemplo del paso 3 MoneyBagSe puede encontrar de forma fácil el pointer que almacena la dirección dinámica del Dinero. De igual forma se puede hacer un AA script para incrementar el dinero. Éstas 2 formas de trabajar con CE funcionarán siempre, incluso después de cerrar y volver a ejecutar el proceso: Puedes ver en la imagen que los pointers se identifican por P->000000. Te dejo mi tabla de CE para el ejemplo de MoneyBag, podrás abrirla sin problema y verás como el Pointer y el AA script funciona siempre: http://www.mediafire.com/?d51sd1qc3l0jiic______________________________________________ Si lo necesitáis, puedo escribir un tutorial para buscar pointers
|
|
« Última modificación: 17 Febrero 2013, 10:43 am por ||MadAntrax|| »
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
MeTaD
Desconectado
Mensajes: 84
|
Amigo, ¿cuando dices pointer es lo mismo que decir puntero?, Te agradacería inmensamente que escribieras el tutorial para buscar pointers... Este mismo tutorial lo he probado con un programa que yo mismo he creado en C# y funciona de manera simple... Existe un int con valor inicial de 0 y dos botones: uno sima 1 y el otro resta 1: ¿Podrías por favor revisarlo y contestarme una pregunta? Después de pulsar rápidamente el boton de suma (Cerca del valor 70 ~ 120) su espacio en la memoria cambia... ¿Por qué? Anexo el programa y el código fuente para que puedas revisarlo https://mega.co.nz/#!2F1SDYSQ!YqhHzX72VGTfC1jdoAxY9SqWvoZNvFjq53G6COIJfvM
También creé éste programa que es un "trainer" para mi "juego", el problema radica en que tengo que buscar el address cada vez que la memoria cambie, lo cual evidentemente no es algo bueno, porque cual sería el sentido del "Trainer" asi aún tengo que buscar la dirección manualmente y ya estando en el CE con la dirección sería preferible modificarla de una vez mediante el CE... por ende el trainer no tendría sentido... Aquí está uina captura de pantalla: Anexo el programa y su código fuente:
|
|
« Última modificación: 17 Febrero 2013, 20:11 pm por MeTaD »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Modificar imagen de cheat engine?
Ingeniería Inversa
|
.:UND3R:.
|
6
|
6,931
|
13 Octubre 2012, 06:53 am
por Weeken
|
|
|
modificar juego con cheat engine
Juegos y Consolas
|
kalvin52
|
0
|
7,796
|
5 Diciembre 2012, 08:17 am
por kalvin52
|
|
|
[TUTORIAL] Cheat Engine nivel avanzado. Tutorial completo
« 1 2 ... 7 8 »
Ingeniería Inversa
|
Mad Antrax
|
74
|
117,241
|
23 Mayo 2022, 05:27 am
por enthimir
|
|
|
Proyecto inyección de código Superstackporker con Cheat Engine
Ingeniería Inversa
|
xavieeee
|
0
|
2,534
|
9 Julio 2015, 13:04 pm
por xavieeee
|
|
|
[Tutorial] Inyección de código en C++, Cheat Engine y OllyDBG
Ingeniería Inversa
|
Carlos D. Alvarez
|
3
|
5,679
|
13 Noviembre 2015, 16:03 pm
por Kaxperday
|
|