Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Процесс -> exe файл


Автор: Rickert 4.1.2012, 15:43
Через сеть прилетает бинарник и грузится в память без предварительной записи на HDD.
Т.е. приложение доступно только в активном, загруженном в память, режиме.
Есть ли возможность сохранить его процесс в бинарник, дабы потом исполнять?
Можно только пнуть в направлении правильных ссылок и тем.
win32

Автор: Dik0n 4.1.2012, 17:05
Rickert, чужие трояны ковыряем smile 

Цитата

Есть ли возможность сохранить его процесс в бинарник, дабы потом исполнять?

Можно сохранить кусок памяти, если точно знаем адрес буфера, или искать по сигнатуре, потом прочитать заголовок IMAGE_NT_HEADERS, дабы знать сколько сохранять. Тут еще моментик, не препутать нужный бинарник с другими dll.

Цитата

Можно только пнуть в направлении правильных ссылок и тем.

Читай про PE формат, и устройство памяти Windows.
VirtualQueryEx
ReadProcessMemory

Автор: 500mhz 4.1.2012, 17:26
есть такая софтина LordPe, она поможет )))

Автор: Rickert 14.1.2012, 06:35
Спасибо.

Автор: hawk3500 16.1.2012, 20:08
У меня вопрос, а чрез какую функцию такой чудозверь грузится?
CreateProcess и нижестоящие Nt функции подразумевают в качестве обязательного параметра наличиее исполняемого файла на диске.

Автор: hawk3500 16.1.2012, 20:24
LordPe поможет если тот бинарик не чем не обработан(я про различного рода обфускаторы).
Да и с LordPE придётся повозится, ибо он сохраняет дамп памяти процесса - а он сильно отличается от exe файла.
Про корректное снятие дампа с последующим восстановлением таблиц импорта и т.д. советую почитать на www.wasm.ru , там весьма подробно расписанно.

Dik0n, да это скорее не трояны а черви.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)