[TUTORIAL] Cómo usar MS Detours - Tutorial de Microsoft Detours

  • Hola Invitado, ¿Quieres ganar dinero con GamerzHacking?, estamos necesitando creadores de contenido en game hacking o pirateria de juegos ingresa al siguiente enlance para mayor informacion AQUI
  • Hola Invitado, ¿Creas contenido sobre game hacking en tu blog o sitio web?, ¿Te gustaria formar una alianza para asi poder generar mas trafico en tu sitio y seguir creciendo como comunidad? INGRESA AQUI


274
Me Gusta
128
Temas

c0de

MOV EAX, EDX
Top Publicador Del Mes
Registrado
19 Abr 2020
Temas
128
Mensajes
249
Ubicación
Localhost
Mejores respuestas
0
1650127186827.png
Introducción a los desvíos de Microsoft

Anteriormente cubrí Hooking en mi
Porfavor, Acceder o Registrarse para ver el contenido de las URL!
, pero hoy vamos a discutir otras formas en que su aplicación puede enlazar API en un proceso remoto. Este tutorial cubrirá una biblioteca de enlace bastante conocida y fácil de usar disponible en Microsoft llamada Detours.

Detours contiene una gran cantidad de potentes API que puede utilizar en sus aplicaciones para conectar cualquier función. Como sugiere el nombre, le permite redirigir una función a otra. Puede usar esta biblioteca para desviar las funciones del juego o realizar parches en tiempo de ejecución en juegos más antiguos: para permitir que se ejecuten en sistemas operativos modernos.

Necesitará las siguientes herramientas para este tutorial:
  1. Porfavor, Acceder o Registrarse para ver el contenido de las URL!
  2. Porfavor, Acceder o Registrarse para ver el contenido de las URL!
Descargue la biblioteca de desvíos a su PC, luego abra una nueva ventana de comandos y navegue hasta la carpeta de desvíos. Deberá configurar su entorno de compilación para que coincida con el tipo de proceso que conectará (x86/x64).

Código:
Porfavor, Acceder o Registrarse para ver el contenido de los códigos!

En este tutorial, nos centraremos en Notepad.exe de 64 bits (Windows 10). También estoy usando Visual Studio Community 2017, así que si está usando una versión diferente, asegúrese de actualizar la ruta anterior para reflejar eso. Del mismo modo, si tiene como objetivo un ejecutable de 32 bits, asegúrese de modificar los comandos anteriores para usar x32 en lugar de x64.

Cree un nuevo proyecto de biblioteca de vínculos dinámicos en Visual Studio y asegúrese de cambiar el conjunto de caracteres para usar el conjunto de caracteres Unicode en las propiedades del proyecto. Es una buena idea hacer coincidir la configuración de la aplicación de destino, por lo que si está inyectando en un proceso habilitado para Unicode, su archivo DLL también debería estar habilitado para Unicode. Esto también facilita la búsqueda de fallas y la depuración.

Una vez que haya creado el proyecto de desvíos, puede copiar el archivo detours.lib del directorio lib.X64 en el directorio de su proyecto. También copie los archivos del directorio de inclusión y agréguelos a su proyecto.

El código

Defina un nuevo punto de entrada de DllMain:

C++:
Porfavor, Acceder o Registrarse para ver el contenido de los códigos!

Ahora podemos agregar nuestra función de desvío:

C++:
Porfavor, Acceder o Registrarse para ver el contenido de los códigos!

Vamos a interceptar la llamada del Bloc de notas a WriteFile para que podamos hacer las modificaciones que queramos. Nuestra función simplemente pasará sus parámetros a la API correcta y regresará (por ahora).

Dentro de su DllMain, deberá inicializar la biblioteca Detours y aplicar el gancho:

C++:
Porfavor, Acceder o Registrarse para ver el contenido de los códigos!

Ahora simplemente construya su proyecto e inyecte su DLL usando un inyector fácilmente disponible o usando un depurador como
Porfavor, Acceder o Registrarse para ver el contenido de las URL!
(Símbolos -> Clic derecho -> Cargar biblioteca).

El Bloc de notas debería funcionar normalmente y no fallar.

Ahora hagamos algo más interesante, agregue el siguiente código a su función de intercepción:

C++:
Porfavor, Acceder o Registrarse para ver el contenido de los códigos!

Ahora abra el bloc de notas, inyecte su DLL e intente guardar texto en un archivo. ¡Descubrirá que su texto ha sido reemplazado con la cadena que insertamos arriba!

Conclusión

¡Y ahí lo tienes! Ahora podemos enganchar cualquier función que queramos. Las desventajas obvias de enganchar de esta manera es que nuestro código se basa en la biblioteca Detours y requiere un método para inyectar nuestra DLL en la aplicación de destino. En el próximo tutorial veremos cómo escribir nuestro propio código de enganche sin usar Detours.

Creditos
timb3r
 
AdBlock Detectado

Lo sentimos, los anuncios son molestos!

Claro, el software de bloqueo de anuncios hace un gran trabajo al bloquear anuncios, pero también bloquea funciones útiles de nuestro sitio web. Para obtener la mejor experiencia en el sitio, deshabilite su AdBlocker.

He desactivado AdBlock    No, gracias