Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PTM — Библиотека C++ для манипулирования таблицами страниц x86-64 из пользовательского режима: чтение/запись записей PML4E, PDPTE, PDE и PTE, трансляция виртуальных адресов в физические и построение самореферентных таблиц. | Kitploit
Инструменты/GitHubGitHub/gmh5225/ptm
Повышение привилегийКриминалистика памятиЭксплуатацияОбратная инженерияПост-эксплуатацияЭксплуатация Бинарных Файлов
GitHubgmh5225/ptm

PTM

Библиотека C++ для манипулирования таблицами страниц x86-64 из пользовательского режима: чтение/запись записей PML4E, PDPTE, PDE и PTE, трансляция виртуальных адресов в физические и построение самореферентных таблиц.

Репозиторий
34 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

_xeroxz's PTM - Манипуляция таблицами страниц из пользовательского режима

манипуляция таблицами страниц из пользовательского режима. предлагаются такие операции, как получение и установка всех записей и значений таблиц страниц. код учитывает большие страницы. Ссылку на описание можно найти здесь.

пример

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 af tabelposter

  • hent/sæt pml4e'er
  • hent/sæt pdpte'er
  • hent/sæt pde'er
  • hent/sæt pte'er

манипуляция таблицами

  • копирование таблицы
  • создание самореферентной таблицы.

виртуальная память

  • преобразование виртуальных адресов в физические
  • получение записей таблиц для заданного адреса
  • изменение записей таблиц для заданного адреса

благодарности

  • buck#0001 - вдохновение для большей части этого.
  • Ch40zz - помог мне сложить всё воедино.

связанные работы

  • PSKP
  • PTEditor
  • PSKDM
  • reverse-injector
  • pclone
Скачать инструмент