Foros del Web » Programación para mayores de 30 ;) » .NET »

Creé un programa y en otro debe leerlo

Estas en el tema de Creé un programa y en otro debe leerlo en el foro de .NET en Foros del Web. Hola: Quiero hacer una prueba sencilla para lograr un objetivo. Intentar leer en la memoria RAM unos valores de las variables que no conoces, localizar ...
  #1 (permalink)  
Antiguo 10/03/2014, 09:24
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Creé un programa y en otro debe leerlo

Hola:

Quiero hacer una prueba sencilla para lograr un objetivo. Intentar leer en la memoria RAM unos valores de las variables que no conoces, localizar esa variable, crear tu aplicación aunque sea en C# capaz de leer sus valores. Hay que crear dos proyectos. Uno como hice abajo, lo que hace es con un timer incrementar el valor del componente progressBar y mostrar su valor en label1.

Como muestra en la imagen de abajo, se ha incluido en el Form1, un lable, un button, un timer y progressBar.


Su código fuente es:
Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Leer_RAM
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Si pulsas el botón, empieza el contador.
        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int Valor = progressBar1.Value; // Guarda el valor actual.
            progressBar1.Increment(1); // Incrementa a 1.
            label1.Text = Valor.ToString(); // Muestra el valor del incremento del ProgressBar.

            // Si el valor llega a 100.
            if (Valor == 100)
            {
                progressBar1.Value = 0; // Empieza desde 0.
            }
        }
    }
}
Este programa se recomienda ejecutarlo directamente del .exe compilado, no usando Visual Express 2013. Supuestamente no tengo idea del código fuente del .exe de arriba, tener claro que no lo conoces, se los dejo para dar ideas. Ahora hay que crear otro proyecto desde cero, puedes usar C++ que es más rápido a la hora de intercambiar información, para dejarlo más fácil ya que estamos aprendiendo, usaremos C#, y los que quieran VB .net.

Para leer los valores del archivo.exe, hay que verlo desde un descompilador o algún programa que lea en tiempo real el proceso. Aquí hay uno, es muy utilizado para cambiar vidas infinitas a los juegos de PC. Se logra buscar esa variable, se le suma nuevos valores y tiene más vida, en nuestro caso no trataremos este tema, se tratará de localizar dicha variable y ver como cambian sus estados. Luego crear un progrma a parte que lea dichas variables y mostrarla en un label.

Cheat Engine
http://www.cheatengine.org/

Puedes usar otro programa y también recomendarlo si parece interesante.

La idea principal es, ser capaz de localizar esas variables, hacer una aplicación que los lea y muestre en un form1 con C# o otro lenguaje que más te guste.

El ejemplo que puse arriba quiero sacar los valores que muestra en label1, que es el mismo del progressBar1.

En un juego de Rally, quiero sacar el cuentakilómetros indicado en pantalla a mi propia aplicación, pero esto es otra historia mucha más adelante. Por ahora me conformo en entender lo más básico.

¿Parace fácil?

Un cordial saludo.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Última edición por Malenko; 10/03/2014 a las 09:38 Razón: Modificada la URL

Etiquetas: net, programa, vb, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:44.