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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Creé un programa y en otro debe leerlo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Creé un programa y en otro debe leerlo  (Leído 2,282 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Creé un programa y en otro debe leerlo
« en: 10 Marzo 2014, 19:04 pm »

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
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Leer_RAM
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        // Si pulsas el botón, empieza el contador.
  21.        private void button2_Click(object sender, EventArgs e)
  22.        {
  23.            timer1.Start();
  24.        }
  25.  
  26.        private void timer1_Tick(object sender, EventArgs e)
  27.        {
  28.            int Valor = progressBar1.Value; // Guarda el valor actual.
  29.            progressBar1.Increment(1); // Incrementa a 1.
  30.            label1.Text = Valor.ToString(); // Muestra el valor del incremento del ProgressBar.
  31.  
  32.            // Si el valor llega a 100.
  33.            if (Valor == 100)
  34.            {
  35.                progressBar1.Value = 0; // Empieza desde 0.
  36.            }
  37.        }
  38.    }
  39. }
  40.  

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/?referredby=CE63

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.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Creé un programa y en otro debe leerlo
« Respuesta #1 en: 10 Marzo 2014, 22:20 pm »

Hola!

Un tutorial sobre como usar cheat engine: http://foro.elhacker.net/ingenieria_inversa/tutorial_usar_cheat_engine_para_modificar_juegos_inyeccion_de_codigo-t382181.0.html

Saludos!
En línea

MCKSys Argentina

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

Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Re: Creé un programa y en otro debe leerlo
« Respuesta #2 en: 10 Marzo 2014, 23:09 pm »

Hola:

Lo estoy siguiendo al detalle, el n3 el enlce por ahora no funciona.

Muchas gracias mi muy distinguido amigo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines