Invertir la tecnología de asistencia ------ tecnologías de enmascaramiento anti-detección destructor

desarrolladores inversa en el proceso de desarrollo, hay una gran cantidad de personas pueden encontrarse con un problema de este tipo:

Sin necesidad de abrir el juego, algunas de las llamadas a funciones y uso normal.
Pero después de correr en el juego. Este fallo de la función directa de clases.
El ejemplo más típico es el FPS y DNF.

El juego de plataformas de detección inmensa mayoría protegerá a ejecutar ratón y el teclado de clase funciones asumidas por el sistema de seguridad, el más típico mouse_event función ()

Entonces, ¿hay alguna manera de aliviar esta función o pensando que el escudo? La respuesta es sí.

Análisis:
En primer lugar, la función falla, sólo por el juego en sí, cuando el juego se reduce al mínimo, llamada a la función normal, lo que indica que la protección no se cuelgue directamente R0 global, pero después de que el juego se ejecute, ir función de enlace llamada. La interfaz de la función kernel abierta Microsoft cada vez más estricta, nuevo fuera de la win10 y nuevas versiones del sistema win7, quiere GANCHO dificultad aumenta lentamente en la capa R0, que es la unidad para proteger ciertos juegos debido a un fallo del sistema en 10 .

      确定了屏蔽函数是在游戏程序中调用而不是全局执行,还需确定以下几点:

1, cuando se realiza la función de máscara (por ejemplo: iniciar el juego después de que el juego comienza o se ha completado)

2, la función de máscara se encuentra (por ejemplo: un juego después de un módulo es cargado, funciona fallo puede determinarse)

3, hallazgo GANCHO mouse_event () lugar, para restaurarlo (no necesariamente de manera directa mouse_event HOOK, más probabilidades de ser más de una llamada interior al gancho función)

En primer lugar determinar el primer punto: cuando para realizar la función de blindaje es muy simple, escribir un programa llamada mouse_event, mantenido llamando adelante y atrás, y cuando el incumplimiento de la función, probado, algunos FPS después de la segunda comunicación de proceso (una primera apariencia de proceso, módulos y controladores de carga, y reinicie el cargado y conducido por el proceso de protección), es decir, se carga la función de máscara.

El segundo punto es seguido por: la función de máscara en una base de la ubicación de la función en el momento del fallo, y otras herramientas de terceros PCHunter observó los módulos cargados.

Sólo 3 módulos son cargados, y lo hicimos llamada falla la función, la función de escudo da en tres módulos. Y en el que el módulo principal (módulo exe) puede ser ignorado, los medios de detección no lo hacen generalmente presente entre el hilo principal. Por lo que sólo xxxbase.dll y bugxxx.dll. ¿Quieres prueba es muy simple, no se puede dejar que se cargue la DLL. Por supuesto, el juego no se carga la DLL no se sube, pero no el fallo de la sombra mouse_event.

Aquí Insertar imagen Descripción
No es el proceso del juego, pero mouse_event no falló, lo que indica la función de blindaje situado en algún lugar xxxbase.dll.

Entonces, después de xxxbase.dll de carga, el gancho kernel ratón, la función del núcleo se observa blindado.

Aquí, hay varias maneras de recuperar / prevenir su próxima gancho.
1, a la dirección de la función original, escribir el código directamente para restaurar la apariencia original de la capa R0
2, encontrar el Soporte función bajo el gancho directa o NOP JMP para evitar su ejecución (la corriente actual)
3, con las herramientas adecuadas para recuperar directamente GANCHO .

Publicado ocho artículos originales · ganado elogios 0 · Vistas 87

Supongo que te gusta

Origin blog.csdn.net/qq_41697345/article/details/104757968
Recomendado
Clasificación