Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PTM — Libreria C++ per manipolare le tabelle di paging x86-64 dalla modalità utente: leggere/scrivere le voci PML4E, PDPTE, PDE e PTE, tradurre gli indirizzi virtuali in fisici e costruire tabelle auto-referenzianti. | Kitploit
Strumenti/GitHubGitHub/gmh5225/ptm
Escalation di PrivilegiMemory ForensicsExploitReverse EngineeringPost-ExploitBinary Exploitation
GitHubgmh5225/ptm

PTM

Libreria C++ per manipolare le tabelle di paging x86-64 dalla modalità utente: leggere/scrivere le voci PML4E, PDPTE, PDE e PTE, tradurre gli indirizzi virtuali in fisici e costruire tabelle auto-referenzianti.

Vedi Repository
34 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

_xeroxz's PTM - Manipolazione delle tabelle di paginazione dallo spazio utente

manipolazione delle tabelle di paginazione dallo spazio utente. vengono offerte operazioni come l'ottenimento e l'impostazione di tutte le voci e i valori delle tabelle di paginazione. il codice è consapevole delle pagine grandi. Il link alla documentazione è disponibile qui.

esempio

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
[+] premere un tasto per chiudere...

manipolazione delle voci della tabella

  • get/set dei pml4e
  • get/set dei pdpte
  • get/set dei pde
  • get/set dei pte

manipolazione delle tabelle

  • copia della tabella
  • creazione di una tabella auto-referenziante.

memoria virtuale

  • conversione degli indirizzi virtuali in indirizzi fisici
  • ottenimento delle voci di tabella per un dato indirizzo
  • modifica delle voci di tabella per un dato indirizzo

ringraziamenti

  • buck#0001 - fonte d'ispirazione per la maggior parte di questo lavoro.
  • Ch40zz - per avermi aiutato a collegare i punti.

lavori correlati

  • PSKP
  • PTEditor
  • PSKDM
  • reverse-injector
  • pclone
Scarica lo strumento