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

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

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

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

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

Категории

Все категории
Loading categories
Nim-RunPE — Реализация на Nim рефлективной загрузки PE-файлов из памяти | Kitploit
Инструменты/GitHubGitHub/s3cur3th1ssh1t/nim-runpe
ЭксплуатацияШелл-кодАнализ вредоносных программRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubs3cur3th1ssh1t/nim-runpe

Nim-RunPE

Реализация на Nim рефлективной загрузки PE-файлов из памяти

Репозиторий
29544252 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Nim-RunPE

Реализация на Nim рефлективной загрузки PE-файлов из памяти. Основа кода взята из RunPE-In-Memory, который я портировал на Nim.

Вам потребуется установить следующие зависимости:

nimble install ptr_math winim

Я тестировал это только с Nim версии 1.6.2, поэтому используйте эту версию для тестирования, иначе я не могу гарантировать отсутствие ошибок при использовании другой версии.

Компиляция

Если вы хотите передавать аргументы во время выполнения или не хотите передавать аргументы вообще, компилируйте так:

nim c NimRunPE.nim

Если вы хотите жёстко задать свои аргументы, измените const exeArgs по своему усмотрению и компилируйте с:

nim c -d:args NimRunPE.nim — это было предложено @glynx, спасибо! 😎

Если вам нужна полная поддержка callback-ов Thread Local Storage (TLS), позволяющая запускать Rust PE и т.д., компилируйте с:

nim c -d:full_tls NimRunPE.nim

Благодарность BlackBone и блогу lander'а/solstice-loader за реализацию опции full_tls.

Подробнее

Сама техника довольно старая, но я пока не нашёл реализации на Nim. Теперь это исправлено. :)

alt text

Если вы планируете загружать, например, Mimikatz с помощью этой техники — обязательно скомпилируйте версию из исходников самостоятельно, так как готовые бинарники не принимают аргументы после рефлективной загрузки этим загрузчиком. Почему? Честно, не знаю, это странно, но факт. Если скомпилировать самостоятельно, всё будет работать:

alt text

Мой частный Packer также оснащён этой техникой — но все функции Win32 заменены на Syscalls. Это делает технику более скрытной.

Скачать инструмент