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
Herramientas/GitHubGitHub/hasherezade/libpeconv
Forensia de MemoriaIngeniería InversaAnálisis de MalwareUtilidades y FrameworksAnálisis de BinariosDesarrollo de Payloads
GitHubhasherezade/libpeconv

libpeconv

Biblioteca personalizada de carga y manipulación de PE para mapeo manual, enganche de IAT, volcado de memoria y reconstrucción de imports para análisis de malware e ingeniería inversa.

Ver Repositorio
1.4k207hace 4 mesesRevisado 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
Sitio web

libPeConv

Build status Codacy Badge Commit activity Last Commit

License Platform Badge

Una biblioteca para cargar y manipular archivos PE.

Objetivos

El objetivo de libPEConv era crear una "navaja suiza" para la carga personalizada de archivos PE. Reúne varias funciones auxiliares que puedes integrar rápidamente en tu propio loader. Por ejemplo: reasignar secciones, aplicar reubicaciones, cargar importaciones, analizar recursos.

No solo permite cargar archivos PE, sino también personalizar algunos pasos, es decir, el hooking de IAT (proporcionando resolvers de IAT personalizados) y la redirección de funciones. Sin embargo, NO se centra en el hooking en línea y no debe confundirse con bibliotecas como MS Detours o MinHook.

LibPeConv se puede utilizar para crear binders de PE, ya que permite cargar un PE directamente desde el recurso e integrarlo como si fuera código local.

También puede ayudarte a volcar (dump) PEs desde la memoria y reconstruir sus IATs.

ADVERTENCIA: las aplicaciones que usan MUI no son compatibles.

Ejemplo básico

El caso de uso más simple: usa libPeConv para cargar y ejecutar manualmente un EXE de tu elección.

root@kitploit:~
#include <Windows.h>
#include <iostream>

#include <peconv.h> // include libPeConv header

int main(int argc, char *argv[])
{
    if (argc < 2) {
        std::cout << "Args: <path to the exe>" << std::endl;
        return 0;
    }
    LPCSTR pe_path = argv[1];

    // manually load the PE file using libPeConv:
    size_t v_size = 0;
#ifdef LOAD_FROM_PATH
    //if the PE is dropped on the disk, you can load it from the file:
    BYTE* my_pe = peconv::load_pe_executable(pe_path, v_size);
#else
    size_t bufsize = 0;
    BYTE *buffer = peconv::load_file(pe_path, bufsize);

    // if the file is NOT dropped on the disk, you can load it directly from a memory buffer:
    BYTE* my_pe = peconv::load_pe_executable(buffer, bufsize, v_size);
#endif
    if (!my_pe) {
        return -1;
    }
	
    // if the loaded PE needs to access resources, you may need to connect it to the PEB:
    peconv::set_main_module_in_peb((HMODULE)my_pe);
    
    // load delayed imports (if present):
    const ULONGLONG load_base = (ULONGLONG)my_pe;
    peconv::load_delayed_imports(my_pe, load_base);
  
    // if needed, you can run TLS callbacks before the Entry Point:
    peconv::run_tls_callbacks(my_pe, v_size);
	
    //calculate the Entry Point of the manually loaded module
    DWORD ep_rva = peconv::get_entry_point_rva(my_pe);
    if (!ep_rva) {
        return -2;
    }
    ULONG_PTR ep_va = ep_rva + (ULONG_PTR) my_pe;
    //assuming that the payload is an EXE file (not DLL) this will be the simplest prototype of the main:
    int (*new_main)() = (int(*)())ep_va;

    //call the Entry Point of the manually loaded PE:
    return new_main();
}

Ver también: https://github.com/hasherezade/libpeconv_tpl/blob/master/project_template/main.cpp

Leer más

  • Wiki
  • Documentación
  • Ejemplos
  • Tutoriales
  • Plantilla de proyecto
Descargar herramienta