Вопрос по linux, posix, pthreads, ptrace – CreateRemoteThread в Linux

8

я используюCreateRemoteThread в Windows и хотел бы знать, возможно ли то же самое в Linux. Возможно ли сделать это в Linux?

CreateRemoteThread - это WINAPI, который использовался в коде C ++. CrazyC
как это вопрос с ++? Chris Becke

Ваш Ответ

2   ответа
-2

`#include ptread.

int ptread_create (ptread_t * tread, const ptread_attr_t * attr,                           void * (* start_routine) (void *), void * arg); ` Компилировать и связывать с -ptread.

смотрите man ptread_create для подробностей

Это то, как создавать поток, а не создавать поток и внедрять его в удаленный процесс.
6

Традиционный способ сделать это в Linux состоит в том, чтобы создать динамическую библиотеку (.so) с вашим кодом в ней, а затем принудительно загрузить вашу библиотеку в работающее приложение. Там нет единого магазина, как есть сCreateRemoteThread на винде.

Итак, вот основные шаги:

Create a dylib/so that contains the code you wish to execute in the remote process. Write some very simple code in assembly that loads the specified so file (mainly copy and paste from this link, part 1). Embed said loader ASM as a binary payload in a buffer in a 2nd code file/app. Here you will use ptrace to run the binary payload written in step 2, which will trigger the target app to call _dl_open() on the .so created in step 1, which contains the actual code you wish to run. (Sample given in the same link, part 2.)

Если вам нужно, чтобы ваш код работал в отдельном потоке от основного насоса, вам следует использоватьpthread_create в коде в шаге 1.

Надеюсь, что это ответ на ваш вопрос. Да, он более сложный, чем в Windows; но это должно работать одинаково хорошо. Кроме того, вы можете повторно использовать практически весь код из шагов 2 и 3 для будущих проектов удаленного внедрения кода.

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

Похожие вопросы