информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеВсе любят медСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Загрузка программ в 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 и ты сможешь загрузить и настроить её

может ещё есть проблемы - сразу не вспоминается больше :)

сразу скажу - не одну бессонную ночь проведёшь :)

может быть проще будет посмотреть как нужная тебе ОС запускает проги;
она же должна сначала отмапить файл таким какой он есть (т.е. он будет в некотором буфере - как тебе и нужно), а потом вызвать какую то функцию для настройки - вот она то тебе и нужна - научишься её вызывать - не надо будет самому настраивать исполняемый файл

желаю удачи :)
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach