Título: Cambiar valor de un address de otro programa Publicado por: Stereo en 22 Agosto 2013, 20:15 pm Hola buenas
He hecho este code, pero no funciona, será la suma? o que no he puesto bien el offset, lo del 0x00.. no se si se pone así o se quitan los 0s de la izquierda :-\: Código
Gracias de antemano! Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 22 Agosto 2013, 20:58 pm Depuralo linea por linea y asi sabras que retornan WriteProcessMemory y ReadProcessMemory. Tambien podes depurar el otro programa, por ejemplo desde WinDbg podes hacer dd 0x18D4AC ... un cero a la izquierda es eso, irrelevante.
Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 22 Agosto 2013, 21:16 pm El caso es que según el cheat engine está bien y WriteProcessMemory y ReadProcessMemory retornan true ambas :/
Lo de los 0s a la izquierda me refiero que no se si al poner 0x se quitan los 0 de la izq o se deja así: 00187F34 -> 0x187F34 00005578 -> 0x5778 Gracias Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 22 Agosto 2013, 21:40 pm Los ceros a la izquierda son irrelevantes, 0x indica que la notacion es hexadecimal.
Sera sobreescrito el valor, fijate que pasa si depuras el otro programa y lo suspendes ... Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 22 Agosto 2013, 22:01 pm Ok ya resolví el problema:
Primero hay que leer el pointer, luego sumarle el offset de lo que hayas obtenido, y después escribir en esa dirección. Lo siento si he hecho perder tiempo, soy newbie jiji Gracias de todas formas Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 27 Agosto 2013, 21:35 pm Hola, tengo otro problema
Ésta vez quiero cambiar las instrucciones (no se si se llaman así) de un address: Código: 0043579C - 01 50 50 - add [eax+50],edx ->Código: 0043579C - 81 40 50 50C30000 - add [eax+50],0C350 Y hasta ahora lo que hago es crear 2 variables: una para el nuevo código y otra para el default, pero se crashea el programa (es una inyección de DLL): Código
Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 27 Agosto 2013, 21:52 pm Son 7 bytes (te falta 1) pero no podes simplemente poner eso ahi, vas a sobreescribir lo que haya despues del Default ... tenes que hacer un salto y ejecutar codigo en alguna zona libre.
Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 27 Agosto 2013, 22:21 pm Es lo que quiero ;D y lo de 7 bytes... seguro? O sea tal y como lo cambio está bien?:
Op code en debugger: Código: 81 40 50 50C30000 El cambio a C++: Código: "\x81\x40\x50\xC3\x00\x00" Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 27 Agosto 2013, 22:24 pm Te falta uno ahi, son 6, te falta otro byte con valor 0:
"\x81 \x40 \x50 \xC3 \x00 \x00" Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 27 Agosto 2013, 22:51 pm Me sigue crasheando el programa, ahora lo cambie por:
Código: "\x81\x40\x50\xC3\x00\x00\x00" Y puse 7 bytes, lo que dijiste no?Alomejor es por lo que has dicho de lo de despues del default, yo pretendo sobreescribir el opcode que tiene el address Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 28 Agosto 2013, 09:38 am Y obvio ... ¿Que viene despues de lo que sobreescribis? Es casi imposible que quede una instruccion valida ... como te dije tenes que hacer un salto a alguna zona libre donde pongas estas instrucciones y despues saltar a la instruccion siguiente (previa ejecucion de la que destruis al sobreescribir con tu salto).
Una buena practica seria hacerlo a mano con un depurador como WinDbg, asi entenderias mas rapido (podes comprobar inmediatamente si funciono) y despues escribis lo necesario con el programa. Título: Re: Cambiar valor de un address de otro programa Publicado por: Stereo en 28 Agosto 2013, 13:19 pm Okey ahora sí funciona, con el cheat engine, es un lujo, 10000000 gracias!!
Título: Re: Cambiar valor de un address de otro programa Publicado por: Eternal Idol en 28 Agosto 2013, 15:30 pm De nadas ;D
|