FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Lectura de variables
Saludos. Me gustaría saber si hay alguna manera de leer variables y zonas de memoria de otra aplicación con delphi, y si la hay, ¿Me podéis dar algo de información? Gracias a todos que siempre me ayudáis.
|
#2
|
|||
|
|||
Hola,
en teoria, variables no, puesto que se sustituye su simbolo por una dirección de memoria al momento de compilarse (si se han dejado las debug options activadas, no se sustituyen) y ejecutarse (objetos si: primero encontrando la form con findwindow y luego usar FindComponent). Eso si, una dirección de memoria conocida si puede leerse, mediante una funcion Peek o equivalente. Saludos |
#3
|
|||
|
|||
Ahora me gustaría saber lo siguiente: Como puedo saber la vida de un juego (por ejemplo). Mi teoría es:
1· Desensamblar y buscar la región de memoria y la línea que llama a esa región, ya que en algunos ordenadores puede cambiar. Y usar esa línea para localizar la región. ¿Eso está bien o hay alguna equivocación? |
#4
|
|||
|
|||
ufff... eso es complicadillo... en principio tendrias que cargar un juego en un debugger o lector dinamico de memoria....luego, poner 'flags' a las zonas de memoria que cambian y, mirando en el momento que te maten una vida, cual es el byte (o integer etc) que se ha reducido. Otra manera es grabar una partida, cargarla y acto seguido matarte (sin que cambie nada mas), grabar, y comparar los dos archivos (inicio->ejecutar->fc.com /b archivo1 archivo2 >> comparacion.txt). Este sistema por eso funcionaba bien en los juegos antiguos, pero en los modernos, donde en un segundo te cambia hasta la paleta de colores o las texturas, te sera bastante dificil encontrar en que posicion de memoria se guardan las vidas . Prueba eso, graba con 5 vidas, busca el caracter nº5, graba con 4, buscar el nº4, etc... y si tienes suerte que se te modifica en alguna posición concreta, quiza sea aquella la posición.
PD: no estoy seguro, pero creo que ya habran programas concretos para estas cosas X/ ... |
#5
|
|||
|
|||
Tranquilo, hay un programa llamado cheatengine, que debuggea y encuentra las zonas de memoria que le has dicho. Si tengo 5 vidas busco 5, si tengo 4 vidas busco 4... El problema no es ese, es como usarlo en delphi. Sobre debuggear y desensamblar estoy hecho un hacha xD.
|
#6
|
|||
|
|||
pero...a ver...en delphi no tienes vidas a no ser que haya algo que aun no haya descubierto yo...como quieres usar el 'cheatengine' este en delphi?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Lectura del USB por Interrupción | cisco | Varios | 0 | 25-10-2007 18:13:29 |
Lectura de un FTP con idHTTP | gluglu | Internet | 2 | 05-05-2007 00:35:50 |
Problema de lectura de un cd | dragondetierra | Varios | 0 | 18-02-2007 18:58:52 |
Test de lectura | Héctor Randolph | Humor | 9 | 26-10-2005 00:11:40 |
variables variables (manual php) | salvica | PHP | 0 | 25-09-2005 16:44:52 |
|