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





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

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

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

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

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




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


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