
Una técnica que combina el desenganche de NTDLL y variantes de la puerta hellsgate
Una técnica de bypass de EDR en espacio de usuario que te permite alternar entre ntdll.dll sin hooks y con hooks a voluntad. Cómo construí esto se puede encontrar aquí.
Puedes simplemente arrastrar y soltar el archivo .h y .c en tu proyecto, asegúrate de editar la definición del archivo de cabecera para las funciones CRT que deben ser reimplementadas por ti o usando lo que quieras. También necesitarás editar la función switch_memory_protection dentro del archivo .c, ya que necesitas implementar esto tú mismo para que el proyecto funcione correctamente.
Aquí hay un fragmento sobre cómo usar la librería:
struct hook_cache *cache = 0;
cache = ntdll_reconstruction_init();
if (cache == 0)
// Throw Error!
while (1) {
// Do whatever
cache = ntdll_reconstruction_flip(cache); // Back to hooked stub
if (cache == 0)
// Throw Error!
Sleep(1234);
cache = ntdll_reconstruction_flip(cache); // Back to clean stub
if (cache == 0)
// Throw Error!
}