Página 1 de 1

leer datos de Memory view

Publicado: 17 Jun 2011, 20:47
por dacu
Buenas, hoy vengo a preguntar que alguien sabe guiarme para leer ciertos datos de una aplicación "ejecutada" mediante Memory view.

Me explicare.
Si abrimos el cheat engine elegimos la aplicacion, y luego en buscar puedo selecionar entre diversas opciones, "2, 4 bytes.. texto.."

Bien, yo lo que quiero es buscar un Texto especifico y que siempre que se abre de nuevo la aplicación se cambia el address por lo tanto los pasos serian.

Seleccionar aplicación a escanear
Escanear Texto y guardarlo en variable.

Bien posibles problemas, podrían ser que valla muy lenta el escaneo, pero ese ya es otro tema, de momento si me podéis dar pistas de como buscar el texto, sobra.


Gracias.

Re: leer datos de Memory view

Publicado: 18 Jun 2011, 15:01
por ms999
hola dacu! ¿Es para un juego? Yo nunca aprendi bien a usarlos o lo que son exactamente los pointers pero quiza eso sea lo que te ayude, busca en internet mas info sobre eso(hay muchisima) que yo no te la puedo dar porque no se, para leer memoria y escribir, tenes la UDF MemoryNomad.au3 tambien tiene alguna que otra funcion sobre pointers... si lo que queres hacer es algo como el Cheat Engine(CE a partir de ahora), no es tan simple como hacer una lectura de todas las addresses dentro de un bucle, esto tarda una eternidad, hay funciones API como VirtualQueryEx(si no me equivoco :S ) que te consiguen los datos de cierto bloque de address mas rapido, pero nunca lo implemente.

Re: leer datos de Memory view

Publicado: 18 Jun 2011, 17:58
por dacu
ms999 efectivamente es para un juego, y lo unico que quiero es localizar un "texto" digamos que esta en un Addrees pero como bien dices habría que ver los pointers por que siempre cambia, pero eso es otro tema, Yo de momento solo pido Que busque un TEXTO entre todo, que no es lo mismo, darle un Addrees y que te saque el texto de dicho.

Bien voy a investigar MemoryNomad.au3 haber que tal..

Gracias.

EDITO: aunque pensándolo bien, si ya tenemos un pointers, solo tendría que leer de hay, bueno investigo y ahora vengo jaja.

Re: leer datos de Memory view

Publicado: 20 Jun 2011, 14:10
por dacu
Por si a alguien le interesa, o le hace falta.

Código: Seleccionar todo

#include <GUIConstants.au3>
#include <NomadMemory.au3> ;porque es necesario para las funciones de este _memread
GUICreate("My GUI Button")
$Button_1 = GUICtrlCreateButton ("Check Memory Address",  10, 30, 150)
$Label_1 = GUICtrlCreateLabel("(lvl)",20, 60)
GUISetState ()

$Mem_Address = 0xADDRES; El addrees que se quiere leer.
$Process1 = WinGetProcess("PROCESO") ;the window to get PID

While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $Button_1
			$Mem_Open = _MemoryOpen($Process1) ;debe abrir antes de que pueda leer el discurso
			$Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) ;lee el valor en la dirección de memoria
			_MemoryClose($Mem_Open) ;cerca de ella después
				MsgBox(0,"",$Mem_Read)
			GUICtrlSetData($Label_1,$Mem_Read) ; se define la etiqueta de valor de la lectura de memoria
    EndSelect
Wend

Pero no me sirve, y no se porque, me lee el Addres, pero me saca un dato que no es el que me saca el cheat engine, la verdad que estoy un poco perdido en estos temas.

Re: leer datos de Memory view

Publicado: 20 Jun 2011, 21:44
por ms999
fijate en la documentacion los parametros de la funcion _MemoryRead() hay uno mas que vos no usas y es el de tipo de dato, no es lo mismo una cadena de caracteres a un entero o a un float(decimal) y asi...

Por si no sabes la documentacion es ese pedazo de comentario arriba de la funcion que esta dentro de la UDF ahi debe decir parameters y te dice cuales o que podes poner ahi ;)

Re: leer datos de Memory view

Publicado: 21 Jun 2011, 12:13
por dacu
Gracias ms999, lo voy a mirar.