Сейчас на форуме: asfa, Rio (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Почему olly невидит секцию?
Посл.ответ Сообщение

Ранг: 25.9 (посетитель), 1thx
Активность: 0.020
Статус: Участник

Создано: 02 июля 2013 19:46
· Личное сообщение · #1

Файл ничем не упакован, в hex editor-е в самом конце секция. Можно ли её как-то просмотреть через olly или узнать адрес начала секции, который отображается в оле. Простите за нубский вопрос)
http://rghost.ru/47167957



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 02 июля 2013 20:53
· Личное сообщение · #2

Не видит - потому что это не секция PE-файла, а просто Overlay (дописанные данные в конце файла)



Ранг: 25.9 (посетитель), 1thx
Активность: 0.020
Статус: Участник

Создано: 02 июля 2013 21:11
· Личное сообщение · #3

Как узнать её адрес?



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 02 июля 2013 21:19
· Личное сообщение · #4

Сильно сомневаюсь, что загрузчик будет грузить оверлей. Обычно его читают через ReadFile. Ставь бряк на CreateFileA/W и проверяй, чтобы путь к файлу соответствовал пути к самой программе. Так и найдешь обращение к оверлею.

| Сообщение посчитали полезным: Envy12

Ранг: 25.9 (посетитель), 1thx
Активность: 0.020
Статус: Участник

Создано: 02 июля 2013 21:32 · Поправил: Envy12
· Личное сообщение · #5

Я хочу дописать программу, чтобы она писала данные туда.
Нашел 2 вызова CreateFileW. После ReadFile в буфер попадает код с самого начала, а оверлея нету.
После нескольких ReadFile-оф все таки нашел эту секцию)



Ранг: 33.9 (посетитель), 22thx
Активность: 0.030
Статус: Участник

Создано: 02 июля 2013 22:07
· Личное сообщение · #6

Envy12 пишет:
Я хочу дописать программу, чтобы она писала данные туда.

туда это в оверлей? если да, то интересно каким образом будет происходить запись. шепните по секрету.



Ранг: 25.9 (посетитель), 1thx
Активность: 0.020
Статус: Участник

Создано: 02 июля 2013 22:45
· Личное сообщение · #7

Это невозможно?




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 03 июля 2013 00:26 · Поправил: DenCoder
· Личное сообщение · #8

Один из вариантов - 1) через драйвер файловой системы, на мой взгляд это будет проще, если не замудрить другие варианты. Чисто теоретически (не рассматривал на практике) можно 2) каким-то образом снять лок с exe-файла или что нередко используется при живых апдейтах 3) каким-то своим образом создавать процесс, чтобы лока не было.

По 1му варианту - это даже некоторые антивири обходит, поскольку минимальная единица для них - файл и файловый монитор сканить начинает только при открытии файла. Детект может быть только по ручному сканированию оперативки, но момент не удастся настолько точно поймать. По 3му - что-то вроде этого(подробно не буду, сами можете доработать):
{
//Настраиваем STARTUPINFO создаваемого любого другого процесса(лучше всего подготовленный наш), чтобы не было видно стартового окна
//В этом нет необходимости, если наш exe подготовлен так, как надо
...
}
CreateProcess(NULL, "notepad.exe", ...); //Процесс может быть любой
WriteProcessMemory(); //перекидываем в память дочернего процесса нужную часть тела родительского процесса
{
//Синхронизируем родительский и дочерний процесссы
...
}
ExitProcess();//Выходим из родительского процесса
{
//Операции записи в exe-файле родительского процесса
...
}

У всех вариантов возможны проблемы с брандмауэром и антиспаями при повторном открытии изменённого файла.

-----
IZ.RU




Ранг: 25.9 (посетитель), 1thx
Активность: 0.020
Статус: Участник

Создано: 03 июля 2013 02:25
· Личное сообщение · #9

Я неправильно выразился, я хочу только перехватить данные из секции, изменить их перед использованием. Уже придумал как сделаю, в таблице импорта заменю апи на свою функцию.



Ранг: 95.5 (постоянный), 36thx
Активность: 0.080.04
Статус: Участник

Создано: 03 июля 2013 03:12 · Поправил: Rio
· Личное сообщение · #10

Envy12
Перехват API через таблицу импорта:
--> Link <--

| Сообщение посчитали полезным: Envy12
 eXeL@B —› Вопросы новичков —› Почему olly невидит секцию?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати