elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Modificar cadena en x32dbg
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Modificar cadena en x32dbg  (Leído 1,537 veces)
Albertoak

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Modificar cadena en x32dbg
« en: 21 Agosto 2019, 09:56 am »

Buenas de nuevo compañeros.

Quiero modificar un numero de serie en en varias direccion con x32dbg. En el cpu me lo modifica(valor de arriba: AH2P83) pero si me quedo encima de la linea me deja el valor antiguo(A1C7Ce59). ¿de que manera puedo modificarlo?? dumpeando??

toda ayuda es muy agradecida.



saludos!!!
« Última modificación: 21 Agosto 2019, 09:59 am por Albertoak » En línea

s0n1k

Desconectado Desconectado

Mensajes: 10


Spain, Basque Country


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #1 en: 21 Agosto 2019, 12:41 pm »

Abajo donde pone "DUMP 1" dale "ctrl+g" y pon la dirección "4C2124"
seguido doble clic encima y lo modificas en ASCII
En línea

Albertoak

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #2 en: 21 Agosto 2019, 17:26 pm »

Abajo donde pone "DUMP 1" dale "ctrl+g" y pon la dirección "4C2124"
seguido doble clic encima y lo modificas en ASCII

muchas gracias por contestar compañero.

Si te fijas en la imagen que pongo ahora. Busco la direccion en la dump pero nada que ver tiene a la numeracion A1C7CE59...  :-\

En línea

s0n1k

Desconectado Desconectado

Mensajes: 10


Spain, Basque Country


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #3 en: 21 Agosto 2019, 18:49 pm »

Parece que es un puntero(puente), lee los 4 bytes en Hexadecimal y navega hacia el.
En línea

Albertoak

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #4 en: 22 Agosto 2019, 14:02 pm »

Parece que es un puntero(puente), lee los 4 bytes en Hexadecimal y navega hacia el.

Gracias compañero. Pero me quedo igual... no encuentro el serial por ningun sitio.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.907


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #5 en: 22 Agosto 2019, 14:33 pm »

Hola!

Como te han dicho, el string que estás tratando de cambiar se accede por un puntero.

Cambiar el string el tiempo de ejecucion no vale de mucho si el programa lo cambia de nuevo.

El tema es saber que es lo que estas intentando hacer: cambiar un string antes de que se lo compruebe? Despues?

Tu imagen muestra un puntero (direccion de memoria que hace refencia a otra direccion de memoria) a un string, que es el que (al perecer) quieres modificar.

Ademas, para que lo tengas en cuenta, si se trata de un puntero a la sección .data, vas a tener que tener en cuenta las relocaciones (si hay).

Saludos!
En línea

MCKSys Argentina

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

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.676



Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #6 en: 22 Agosto 2019, 14:51 pm »

Saludos,

- Primero tienes que saber que los textos que aparecen en la parte de la derecha, como 4C2124:&L"AH2P83" son solo comentarios, pueden ser propios o automáticos, ayudan a identificar cosas como referencias a Api, Números, Strings, etc.

-- Si haces modificaciones ahí, no afectan al programa en sí, ya que son solo comentarios.

- En la parte central se muestran los detalles de la línea seleccionada.

- También tienes que entender que significa estos detalles o comentarios, en particular te interesa: 4C2124:&L"AH2P83", y esto se lee asÍ:

-- Dirección 4C2124, hay un Puntero (&), es decir, una Dirección donde a su vez hay un String o Texto Unicode* (L) que dice: "AH2P83"

04C2120  00 00 00 00 EC AE 6A 00 7C 39 69 00 00 00 00 00  ....ì®j.|9i.....

-- Ese EC AE 6A 00 es un Puntero a tu Texto, pero recordar también que los datos del Dump se leen de derecha a izquierda (Little Endian) quedando así: 00 6A AE EC o 006AAEEC, ve a esa dirección y deberías encontrar tu Texto, algo así:

006AAEE0  47 00 41 00 54 00 4F 00 53 00 00 00 41 00 48 00  G.A.T.O.S...A.H.
006AAEF0  32 00 50 00 38 00 33 00 00 48 00 4F 00 4C 00 41  2.P.8.3..H.O.L.A


- Me parece que sería mejor usar un Editor Hexadecimal para hacer y guardar la modificación del String, si es que el String no se modifica en tiempo de ejecución ...

* No he encontrado documentación detallada sobre como leer y entender esos símbolos en x64dbg, espero que alguien ponga una referencia, yo entiendo a &L como puntero a un String Unicode XD.
En línea

Albertoak

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Modificar cadena en x32dbg
« Respuesta #7 en: 22 Agosto 2019, 15:05 pm »

Hola!

Como te han dicho, el string que estás tratando de cambiar se accede por un puntero.

Cambiar el string el tiempo de ejecucion no vale de mucho si el programa lo cambia de nuevo.

El tema es saber que es lo que estas intentando hacer: cambiar un string antes de que se lo compruebe? Despues?

Tu imagen muestra un puntero (direccion de memoria que hace refencia a otra direccion de memoria) a un string, que es el que (al perecer) quieres modificar.

Ademas, para que lo tengas en cuenta, si se trata de un puntero a la sección .data, vas a tener que tener en cuenta las relocaciones (si hay).

Saludos!

Me temo que ese es mi problema... Cada vez que arranca el programa carga el mismo serial (A1C7CE59). Pero lo carga en un lugar de memoria diferente. Seria inutil cambiarlo ahi...

Por mas que busco no encuentro de el lugar donde recoge dicha numeracion el .exe... podria ser en alguna .dll del programa???

La idea seria modificar ese serial (A1C7CE59) y poner el de mi cable(AK08LS). Para que cada vez que arranque haga la comprobacion con el serial de mi cable y de el OK. Por que tampoco encuentro el salto en el que hace esa comprobacion... si no seria otra opcion.


Saludos,

- Primero tienes que saber que los textos que aparecen en la parte de la derecha, como 4C2124:&L"AH2P83" son solo comentarios, pueden ser propios o automáticos, ayudan a identificar cosas como referencias a Api, Números, Strings, etc.

-- Si haces modificaciones ahí, no afectan al programa en sí, ya que son solo comentarios.

- En la parte central se muestran los detalles de la línea seleccionada.

- También tienes que entender que significa estos detalles o comentarios, en particular te interesa: 4C2124:&L"AH2P83", y esto se lee asÍ:

-- Dirección 4C2124, hay un Puntero (&), es decir, una Dirección donde a su vez hay un String o Texto Unicode* (L) que dice: "AH2P83"

04C2120  00 00 00 00 EC AE 6A 00 7C 39 69 00 00 00 00 00  ....ì®j.|9i.....

-- Ese EC AE 6A 00 es un Puntero a tu Texto, pero recordar también que los datos del Dump se leen de derecha a izquierda (Little Endian) quedando así: 00 6A AE EC o 006AAEEC, ve a esa dirección y deberías encontrar tu Texto, algo así:

006AAEE0  47 00 41 00 54 00 4F 00 53 00 00 00 41 00 48 00  G.A.T.O.S...A.H.
006AAEF0  32 00 50 00 38 00 33 00 00 48 00 4F 00 4C 00 41  2.P.8.3..H.O.L.A


- Me parece que sería mejor usar un Editor Hexadecimal para hacer y guardar la modificación del String, si es que el String no se modifica en tiempo de ejecución ...

* No he encontrado documentación detallada sobre como leer y entender esos símbolos en x64dbg, espero que alguien ponga una referencia, yo entiendo a &L como puntero a un String Unicode XD.

como bien dices lo de la derecha pertenece al comentario de esa linea(modificado por mi). Pero como le comento al compañero. De nada me sirve modificarlo en la memoria. Si cuando abra de nuevo el programa, pega el serial en otro lugar de la memoria....

Ando dentro de un rompecabezas, nunca mejor dicho jejejeje










Descubri algo nuevo. En la llamada que muestro en pantalla. Es justo donde mete en memoria el numero de serie que quiero modificar al hacer dicha llamada...




y mas concretamente dentro de esa llamada y luego en esta:







SOLUCIONADO. Me salto la verificacion del serial number del cable y programa operativo. Listo!!!   ;D
« Última modificación: 23 Agosto 2019, 09:41 am por Albertoak » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
modificar arreglo de cadena de caracteres
Programación C/C++
kworld 2 5,109 Último mensaje 31 Mayo 2010, 15:38 pm
por Littlehorse
AYUDA: Modificar cadena en Runtime
Ingeniería Inversa
x64core 3 1,621 Último mensaje 7 Marzo 2012, 04:48 am
por Иōҳ
Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
Java
Javator 4 2,153 Último mensaje 25 Febrero 2014, 17:09 pm
por Javator
(Ayuda) Error al modificar el valor de un char en una cadena const char *
Programación C/C++
Seyro97 4 4,308 Último mensaje 2 Julio 2015, 15:17 pm
por Seyro97
PE header en x32dbg
Ingeniería Inversa
Jholer 3 866 Último mensaje 27 Febrero 2019, 04:34 am
por Jholer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines