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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Creacion de un trainer en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Creacion de un trainer en c++  (Leído 5,612 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Creacion de un trainer en c++
« Respuesta #10 en: 3 Octubre 2014, 11:23 am »

No creo, pero haz una prueba:
Mira qué punteros apuntan a la dirección de la variable que encuentras.
Mira qué modifica la variable.


En línea

BloodSharp


Desconectado Desconectado

Mensajes: 804


El Messi-Vegeta :D


Ver Perfil
Re: Creacion de un trainer en c++
« Respuesta #11 en: 3 Octubre 2014, 20:32 pm »

La dirección que encuentro con cheat-engine cambia cada vez que cierro y abro el programa.
Intente con este codigo:

(...)

Si encuentro la memoria con cheat engine y sin cerrar el programa cambio el valor de 0X0113FE78 funciona bien pero si cierro y vuelvo a abrir el programa ya la dirección no es la misma y me tira el error de 487 ERROR_INVALID_ADDRESS.

Podés probar lo siguiente:
Buscar la dirección de memoria y comprobar si está dentro del espacio de memoria de un módulo. En caso de que dicho módulo tenga información de reubicación buscar la imagebase y el tamaño del módulo cargado en memoria y analizar donde está y hacer lo que quieras con la dirección de memoria a buscar. En caso de que no esté en un módulo (posiblemente esté en el heap) tendrás que buscar referencias a la dirección de memoria que quieras buscar, una vez que la encuentres buscar a qué módulo hace referencia, verificar si dicho módulo contiene información de reubicación, en caso de que lo tenga tu programa debe buscar la imagebase y el tamaño del módulo cargado en memoria, analizar el puntero y verificar que lleve a una dirección válida y listo, en caso de que no tenga información de reubicación verificas su imagebase y le sumás el offset (analizado en memoria el offset) para conseguir la dirección de tu puntero verificando también que en tiempo de ejecución el puntero lleve a una dirección válida.


B#


En línea



patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Creacion de un trainer en c++
« Respuesta #12 en: 3 Octubre 2014, 21:33 pm »

Cero que me faltan conocimientos para poder hacer lo que me decís.
No se lo que es la imagebase...
Estibe buscando por google y esta muy relacionado con los rootkits pero encontré esto:
http://ns2.elhacker.net/timofonica/manus/Formato_de_ficheros%20ejecutables%20_Formato%20PE_.pdf

No se si me servirá y ademas es solo para windows pero quiero aprender mas sobre la memoria y los módulos. Supongo que necesitare aprender ensamblador ?
Me podéis recomendar algún pdf o algo para aprender y luego intentar de nuevo hacer mi trainer  :D

Un saludo
En línea

BloodSharp


Desconectado Desconectado

Mensajes: 804


El Messi-Vegeta :D


Ver Perfil
Re: Creacion de un trainer en c++
« Respuesta #13 en: 3 Octubre 2014, 23:08 pm »

Cero que me faltan conocimientos para poder hacer lo que me decís.
No se lo que es la imagebase...

Cita de: msdn
ImageBase

    The preferred address of the first byte of the image when it is loaded in memory. This value is a multiple of 64K bytes. The default value for DLLs is 0x10000000. The default value for applications is 0x00400000, except on Windows CE where it is 0x00010000.

Estibe buscando por google y esta muy relacionado con los rootkits pero encontré esto:
http://ns2.elhacker.net/timofonica/manus/Formato_de_ficheros%20ejecutables%20_Formato%20PE_.pdf

Si querés hacer un rootkit es más fácil inyectar una dll y modificar la memoria dentro del mismo espacio de memoria del proceso que hacerlo externamente como vos estabas haciendo en tu código :P

Supongo que necesitare aprender ensamblador ?

No necesariamente aunque serviría mejor para buscar punteros y direcciones de memorias e incluso ver como funciona internamente el programa que querés modificar...

Me podéis recomendar algún pdf o algo para aprender y luego intentar de nuevo hacer mi trainer  :D

¿Probaste mirando la sección de ingeniería inversa del foro? Creo que ahí había algo de info acerca de cheat-engine (búsqueda de memoria,punteros,etc...)...


B#
« Última modificación: 3 Octubre 2014, 23:10 pm por IEAX » En línea



patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Creacion de un trainer en c++
« Respuesta #14 en: 25 Octubre 2014, 14:33 pm »

Hola me mire el tutorial http://foro.elhacker.net/ingenieria_inversa/tutorialcreacion_de_trainers_con_ollydbg_y_cheat_engine-t342664.0.html y lo intente de nuevo.
Tengo el trainer bien hecho con cheat engine y olly conseguí la memoria que me agrega 1 a la variable en el código pero luego cambio el valor con mi programa y no funciona



En la imagen se ven las direcciones. Donde fallo?

Saludos
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un trainer es un Troyano?¿?¿?¿ « 1 2 3 »
Análisis y Diseño de Malware
beholdthe 27 16,675 Último mensaje 11 Septiembre 2011, 05:46 am
por Milo_EscorpioNN
soccer trainer 3.0
Ingeniería Inversa
quinipilar 6 8,280 Último mensaje 18 Agosto 2011, 05:45 am
por .:UND3R:.
Me ayudas con mi trainer? « 1 2 »
Dudas Generales
ElNoob2014 11 5,511 Último mensaje 22 Junio 2014, 17:00 pm
por engel lex
Problema con trainer DLL
Programación C/C++
Axtrax 3 1,971 Último mensaje 15 Enero 2017, 01:41 am
por ivancea96
Extraer Codigos de un Trainer « 1 2 »
Ingeniería Inversa
xxDonxx 16 16,845 Último mensaje 17 Mayo 2017, 16:51 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines