Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PTM — Biblioteca de C++ para manipular tablas de paginación x86-64 desde modo usuario: leer/escribir entradas PML4E, PDPTE, PDE y PTE, traducir direcciones virtuales a físicas y construir tablas autorreferenciadas. | Kitploit
Herramientas/GitHubGitHub/gmh5225/ptm
Escalada de PrivilegiosForensia de MemoriaExplotaciónIngeniería InversaPost-ExplotaciónExplotación de Binarios
GitHubgmh5225/ptm

PTM

Biblioteca de C++ para manipular tablas de paginación x86-64 desde modo usuario: leer/escribir entradas PML4E, PDPTE, PDE y PTE, traducir direcciones virtuales a físicas y construir tablas autorreferenciadas.

Ver Repositorio
3hace 4 añosAún no revisado

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

_xeroxz's PTM - Manipulación de tablas de paginación desde modo usuario

manipulación de tablas de paginación desde modo usuario. se ofrecen operaciones como obtener y establecer todas las entradas y valores de las tablas de paginación. el código es consciente de las páginas grandes. El enlace al artículo se puede encontrar aquí.

ejemplo

vdm::read_phys_t _read_phys = 
	[&](void* addr, void* buffer, std::size_t size) -> bool
{
	return vdm::read_phys(addr, buffer, size);
};

vdm::write_phys_t _write_phys =
	[&](void* addr, void* buffer, std::size_t size) -> bool
{
	return vdm::write_phys(addr, buffer, size);
};

vdm::vdm_ctx vdm(_read_phys, _write_phys);
nasa::mem_ctx my_proc(vdm);

const auto ntoskrnl_base =
    reinterpret_cast<void*>(
	    util::get_kmodule_base("ntoskrnl.exe"));

const auto ntoskrnl_pde = my_proc.get_pde(ntoskrnl_base);
std::printf("[+] pde.present -> %d\n", ntoskrnl_pde.second.present);
std::printf("[+] pde.pfn -> 0x%x\n", ntoskrnl_pde.second.pfn);
std::printf("[+] pde.large_page -> %d\n", ntoskrnl_pde.second.large_page);
[+] pde.present -> 1
[+] pde.pfn -> 0x10400
[+] pde.large_page -> 1
[+] press any key to close...

manipulación de entradas de tabla

  • obtener/establecer pml4e's
  • obtener/establecer pdpte's
  • obtener/establecer pde's
  • obtener/establecer pte's

manipulación de tablas

  • copiar tabla
  • crear tabla autorreferenciada.

memoria virtual

  • convertir direcciones virtuales a direcciones físicas
  • obtener entradas de tabla para una dirección dada
  • cambiar entradas de tabla para una dirección dada

créditos

  • buck#0001 - inspiración para la mayor parte de esto.
  • Ch40zz - ayudándome a conectar los puntos.

trabajo relacionado

  • PSKP
  • PTEditor
  • PSKDM
  • reverse-injector
  • pclone
Descargar herramienta