Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PTM — C++-Bibliothek zur Manipulation von x86-64-Paging-Tabellen aus dem User-Mode: Lesen/Schreiben von PML4E-, PDPTE-, PDE- und PTE-Einträgen, Übersetzung virtueller in physische Adressen und Erstellung selbstreferenzierender Tabellen. | Kitploit
Tools/GitHubGitHub/gmh5225/ptm
Privilege EscalationSpeicherforensikExploitationReverse EngineeringPost-ExploitationBinary-Exploitation
GitHubgmh5225/ptm

PTM

C++-Bibliothek zur Manipulation von x86-64-Paging-Tabellen aus dem User-Mode: Lesen/Schreiben von PML4E-, PDPTE-, PDE- und PTE-Einträgen, Übersetzung virtueller in physische Adressen und Erstellung selbstreferenzierender Tabellen.

Repository anzeigen
3vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

_xeroxz's PTM - Manipulation von Seitentabellen aus dem Usermode

Manipulation von Seitentabellen aus dem Usermode. Es werden Operationen wie das Abrufen und Setzen aller Einträge und Werte von Seitentabellen angeboten. Der Code berücksichtigt große Seiten. Der Link zur Ausarbeitung ist hier zu finden.

Beispiel

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...

Manipulation von Tabelleneinträgen

  • PML4E's abrufen/setzen
  • PDPTE's abrufen/setzen
  • PDE's abrufen/setzen
  • PTE's abrufen/setzen

Tabellenmanipulation

  • Tabelle kopieren
  • selbstreferenzierende Tabelle erstellen.

Virtueller Speicher

  • virtuelle Adressen in physische Adressen umwandeln
  • Tabelleneinträge für eine gegebene Adresse abrufen
  • Tabelleneinträge für eine gegebene Adresse ändern

Danksagung

  • buck#0001 - Inspiration für das meiste hiervon.
  • Ch40zz - hat mir geholfen, die Zusammenhänge zu verstehen.

Verwandte Arbeiten

  • PSKP
  • PTEditor
  • PSKDM
  • reverse-injector
  • pclone
Tool herunterladen