Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
VehApiResolve — Resuelve las APIs de Windows en tiempo de ejecución mediante manejadores de excepciones vectorizados y búsquedas con hash para ocultar las importaciones y ralentizar la ingeniería inversa de payloads ofensivos. | Kitploit
Herramientas/GitHubGitHub/rad9800/vehapiresolve
Red TeamingDesarrollo de PayloadsAtaque Adversario
GitHubrad9800/vehapiresolve

VehApiResolve

Resuelve las APIs de Windows en tiempo de ejecución mediante manejadores de excepciones vectorizados y búsquedas con hash para ocultar las importaciones y ralentizar la ingeniería inversa de payloads ofensivos.

Ver Repositorio
11824hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

VehApiResolve

Inspirado por la ofuscación de API de 32 bits del cargador Dridex.

¿Cómo funciona esto?

Configuramos un manejador de excepciones.

root@kitploit:~
AddVectoredExceptionHandler( CALL_FIRST, ApiResolverHandler );

Este manejador de excepciones solo manejará las excepciones lanzadas como EXCEPTION_BREAKPOINT. Cuando es lanzada por nosotros, podemos capturar el CONTEXT. Podemos obtener los argumentos pasados. RDX y R8 contendrán nuestro hash de función y módulo. Entonces podemos resolverlos dinámicamente con GetProcAddrExH como se ve

root@kitploit:~
ExceptionInfo->ContextRecord->Rax = (ULONG_PTR)GetProcAddrExH( ExceptionInfo->ContextRecord->Rdx, ExceptionInfo->ContextRecord->R8 );

RAX se usa a menudo para devolver valores. Cuando retornamos, si la dirección fue resuelta, se devolverá.

root@kitploit:~
LazyRet proc
	int 3	; lanza una excepción 
	ret		; rax contendrá la dirección
LazyRet endp
  1. Lanza una excepción.
  2. Maneja esta excepción.
  3. Resuelve la función requerida.
  4. Guárdala en RAX.
  5. Retorna.

Entonces podemos usar esta dirección.

¿Por qué?

Probablemente hace la vida más difícil a los ingenieros inversos, lo cual siempre es bueno.

Descargar herramienta