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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  [Librería C++] Detours, Codecaves, Return Adress Spoofing y mucho más
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Librería C++] Detours, Codecaves, Return Adress Spoofing y mucho más  (Leído 2,344 veces)
blipi

Desconectado Desconectado

Mensajes: 25


Programador y hacker por devoción


Ver Perfil WWW
[Librería C++] Detours, Codecaves, Return Adress Spoofing y mucho más
« en: 5 Febrero 2014, 03:04 am »

xHacking

Buenas a todos!

Hoy os traigo mi nueva creación, llamada xHacking. Se trata de una librería programada en C++11 especialmente diseñada para la ingeniería reversa.

Incluye todo tipo de funciones, entre las que destacan la creación de Detours, Codecaves, memory breakpoints (con PAGE_GUARD a modo de codecave) y llamadas a APIs con spoofing de la dirección de retorno.

Os dejo el link a github:
https://github.com/blipi/xHacking

Atención: Requiere compatibilidad con C++11. Funciona con Visual Studio 2013, y *quizás* con 2012. Inferior seguro que no. Aún no he podido dar soporte a otros compiladores, pero está en la lista.

Cualquier error por favor usad el sistema de issues de allí mismo. Y si queréis nuevas funcionalidades u os animáis a programar, os invito a usar los push requests o postearlo aquí mismo!

Os pongo algunos ejemplos de como se usaría la librería:

API:
Vamos a spoofer el "GetAsyncKeyState". Suponemos que estamos ya en el módulo principal.
Encontrará automáticamente un punto en el código (un RET) en el que modificar el punto de retorno de nuestro call.
Código
  1. API<SHORT, int>* api = new API<SHORT, int>();
  2. api->AutoLoad("user32.dll", "GetAsyncKeyState")->AutoFakeWithinModule(GetModuleHandle(NULL));
  3.  
  4. // Llamada
  5. (*api)(VK_DOWN);
  6.  


DETOURS:
De momento no desensambla el código de destino, por lo que debemos asegurarnos antes de que tenemos los 5/6 bytes disponibles y que no son JMP/CALL/etc. No es el caso con recv.
Código
  1. // Declaramos
  2. Detour<int, int, char*, int, int>* recvDetour = NULL;
  3.  
  4. // Funcion
  5. int WINAPI d_recv(SOCKET s, char *buf, int len, int flags)
  6. {
  7. return (*recvDetour)(s, buf, len, flags);
  8. }
  9.  
  10. // Creacion
  11. recvDetour = new Detour<int, int, char*, int, int>();
  12. recvDetour->Load("WSOCK32.dll", "recv", (BYTE*)d_recv);
  13.  

Y aún hay más funciones que os dejo experimentar a vosotros mismos!
En línea

blipi

Desconectado Desconectado

Mensajes: 25


Programador y hacker por devoción


Ver Perfil WWW
Re: [Librería C++] Detours, Codecaves, Return Adress Spoofing y mucho más
« Respuesta #1 en: 7 Febrero 2014, 00:33 am »

He liberado el código (cpp). No lo había hecho antes porque necesitaba un poco de limpieza.

Espero que le sirva a alguien, hay cosillas interesantes!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hook a recv sin ms detours?
Programación C/C++
while 2 3,134 Último mensaje 6 Octubre 2010, 23:25 pm
por while
encontrar base adress de un adress encontrada por cheat engine
Dudas Generales
.:UND3R:. 2 3,746 Último mensaje 29 Noviembre 2011, 23:42 pm
por .:UND3R:.
MS Detours 2.1 para interceptar Opengl32
Programación C/C++
85 1 1,562 Último mensaje 8 Abril 2013, 01:01 am
por Luchoz95
Interceptar Opengl32 con Detours y obtener un WH
Programación C/C++
85 4 2,321 Último mensaje 10 Abril 2013, 04:48 am
por 85
Interceptar con Detours el Opengl nativo por TEB
Programación C/C++
85 3 3,685 Último mensaje 11 Abril 2013, 00:23 am
por Luchoz95
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines