• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Исходник Syscalls-cpp: гибкий фреймворк для прямого вызова syscall'ов с обходом хуков

Разработчик
Разработчик
Статус
Оффлайн
Регистрация
1 Сен 2018
Сообщения
1,664
Реакции
908
Еще одна библиотека для сисколлов, но теперь моя. Имеет политику, и в компил-тайме можно выбрать как будут аллоцироваться, и генерироваться стабы, и легко добавить свои методы.

На данный момент поддерживается два метода выделения:
- на хипе
- через секцию с правами SEC_NO_CHANGE ( спасибо колби )
- через аллокацию виртуальной памяти (RWX -> RX )

Генерация стабов
- Классический полноценный
- Через исключения ( ud2 ) и VEH
- С поиском гаджета в ntdll, и прыжком туда же для выполнения
т.е выходит:
Форматирование (BB-код):
Expand Collapse Copy
mov r10, rcx

mov eax, syscall_number

mov r11, ntdll_gadget

push r11

ret


ntdll_gadget:

syscall

ret
В итоге в стеке вызовов, мы фактически вызываем сисколл из под ntdll, но при этом обойдя хуки.


Думаю буду развивать, и еще что-то прикольное закину.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
добавил новый метод аллокации, избавился от GetModuleHandle при парсинге, улучшил поиск сисколлов при хукнутой функции
 
добавил хеллс + хало гейт методы ( с улучшенным детектом на хуки), добавил новый метод парсинга через exception директории, и избавился от GetProcAddress и GetModuleHandle на свою имплементацию
 
Наконец нормальный контент на форуме, спасибо за либку.
Будет ли поддержка x86? И можно отдельный файл на гите example, где будут показаны все варианты использования?
 
Наконец нормальный контент на форуме, спасибо за либку.
Будет ли поддержка x86?
не знаю еще, сделать х86 это фактически еще раз написать библиотеку, возможно позже

И можно отдельный файл на гите example, где будут показаны все варианты использования?
Да в целом, сделаю
 
перенёс всё на хэши, подготовил к no-crt, добавил новый стаб через исключения ( ud2 )
 
Thank you, this library is very good.
 
добавил поддержку х86
 
теперь можно установить через vcpkg
 
дракон как всегда молодец реально
 
Скрытое содержимое
Привет, только дошли руки ответить, потому что RtlExitUserProcess это не сисколл, а обертка над ним, под капотом там вызывается ZwTerminateProcess, псевдо:
1755867886229.png

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