Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Смотря где буфер находится. 14.08.01 11:42 Число просмотров: 719
Автор: Glory <Mr. Glory> Статус: Elderman
|
Если буфер в виртуальном адресном пространстве твоего приложения - JMP на точку входа программы. А если нет - придется через ReadProcessMemory() скопировать ее к "себе" и сделать как в первом случае.
|
<hacking>
|
Загрузка программ в Win из памяти 14.08.01 10:31
Автор: Go Статус: Незарегистрированный пользователь
|
Хай, гайз.
Возникла проблема загрузки программы (EXE и DLL) из памяти. Т.е. имеется буфер с кодом программы и необходимо его запустить без сохранения на диск. Если кто знает как это можно провернуть, pls, ответьте.
|
|
Смотря где буфер находится. 14.08.01 11:42
Автор: Glory <Mr. Glory> Статус: Elderman
|
Если буфер в виртуальном адресном пространстве твоего приложения - JMP на точку входа программы. А если нет - придется через ReadProcessMemory() скопировать ее к "себе" и сделать как в первом случае.
|
| |
Смотря где буфер находится. 14.08.01 15:05
Автор: ggg <ggg> Статус: Elderman
|
> Если буфер в виртуальном адресном пространстве твоего > приложения - JMP на точку входа программы. А если нет - > придется через ReadProcessMemory() скопировать ее к "себе" > и сделать как в первом случае.
не так просто :)
1) бинарный файл не обязан совпадать с тем что будет в памяти (выравнивание секций, настройка адресов импорта) - это можно настроить вручную (как - читай формат PE файлов; в последних MSDN описан)
2a) для EXE: скорее всего у этой проги будет тот же дефолтный BaseAddress 0x400000 и её нужно будет переносить на другой адрес; а если у неё нет Relocation Table (что не редкость у exe-файлов) то обломись :))
2b) для DLL: у них почти всегда есть RelocationTable и ты сможешь загрузить и настроить её
может ещё есть проблемы - сразу не вспоминается больше :)
сразу скажу - не одну бессонную ночь проведёшь :)
может быть проще будет посмотреть как нужная тебе ОС запускает проги;
она же должна сначала отмапить файл таким какой он есть (т.е. он будет в некотором буфере - как тебе и нужно), а потом вызвать какую то функцию для настройки - вот она то тебе и нужна - научишься её вызывать - не надо будет самому настраивать исполняемый файл
желаю удачи :)
|
|
|