Рубрика «code injection»

Вводная часть

Эта статья может быть полезна тем кто занимается reverse engineering'ом, компьютерной безопасностью, тем, кто хочет немного ознакомиться с Mach-O файлами и с исполнением программ в iOS. Сразу скажу, что я не являюсь экспертом в области анализа бинарных файлов и тем более не разбираюсь в устройстве работы процессов в iOS, но имею достаточные знания чтобы подробно объяснить как добавить собственный код в готовый Mach-O файл и показать как это работает. Также в примерах кода могут быть неточности и ошибки.

Читать полностью »

Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.

В целом эта функция обладает сомнительной прикладной полезностью, поэтому не удивительно, что в Linux готового аналога CreateRemoteThread нет. Однако, мне было интересно, как он может быть реализован. Изучение темы вылилось в неплохое приключение.

Я подробно расскажу о том, как с помощью спецификации ELF, некоторого знания архитектуры x86_64 и системных вызовов Linux написать свой маленький кусочек отладчика, способный загрузить и исполнить произвольный код в уже запущенном и работающем процессе.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js