Título: Como buscar un Integer en la memoria de forma manual? Publicado por: WHK en 26 Abril 2015, 00:17 am Hola, actualmente para buscar valores en la memoria y modificarlos utilizaba la herramienta scanmem y quiero hacer una gui que haga lo mismo pero sin utilizar el binario :)
Se que suena raro pero en la práctica estoy utilizando ARM y es muy dificil encontrar un binario compatible debido a los sistemas de protección del dispositivo pero tengo acceso desde el terminal a leer y escribir los archivos /proc/pid/maps. Se que en ese lugar se aloja la memoria de cada aplicación y me gustaría hacer una app gráfica capaz de leer y escribir los valores de memoria. Solo necesito manipular enteros de 32 bits. Alguien me da una mano sobre la estructura de estos archivos y donde buscar estos valores? Título: Re: Como buscar un Integer en la memoria de forma manual? Publicado por: WHK en 26 Abril 2015, 01:41 am Bueno, leyendo algunos documentos oficiales sobre la estructura de estos archivos hice este pequeño script para leer la memoria de una aplicación a traves de su pid:
Código
Comprendiendo que los primeros dos valores de cada línea es la posición en hexadecimal de los bytes que se alojan en el archivo /proc/pid/mem, el problema es que parece que lo estoy haciendo mal ya que al convertir el valor hexadecimal a decimal me arroja un error exageradamente elevado: Citar 7ffd9c73b000-7ffd9c73d000 r--p 00000000 00:00 0 [vvar] Código: ------------ Algo estoy haciendo mal :-/ Título: Re: Como buscar un Integer en la memoria de forma manual? Publicado por: WHK en 26 Abril 2015, 01:47 am Bueno, fue un error mio, usé mal el substr, puse el valor final en ves de la cantidad de bytes y también me equivoqué al restar inicio con final, era final con inicio xD
Ahora si funciona de lujo :D Código: <?php Ahora mi pregunta es: Tengo una serie de bytes, si quiero buscar un valor entero (Int32) debo convertir los bytes a int32? Título: Re: Como buscar un Integer en la memoria de forma manual? Publicado por: WHK en 26 Abril 2015, 02:08 am Bueno, finalmente veo que tiene una estructura ya mas definida cada bloque de memoria.
Finalmente me estoy guiando por el mismo proyecto de scanmem https://github.com/scanmem/scanmem Igual gracias de todas maneras. Saludos. Título: Re: Como buscar un Integer en la memoria de forma manual? Publicado por: scott_ en 26 Abril 2015, 09:12 am Es algo raro este tema no? que un usuario se responda así solo ;-), me ha asado no te preocupes :xD
Saludos. |