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

 eXeL@B —› Вопросы новичков —› Начало и размер IAT вручную найти без кнопки IAT AutoSearch
Посл.ответ Сообщение

Ранг: 2.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 августа 2013 22:38
· Личное сообщение · #1

Подскажите как без кнопки IAT AutoSearch найти адрес начала и конец таблицы IAT чтобы потом можно было узнать ее размер и занести в ImportREC распаковка UPXа начало понятно а вот границы IAT в отладчике как увидеть и на начало ее этой таблицы попасть не очень понял Так ImportRec я так понял часто врет с нахождением IAT...




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 21 августа 2013 22:53 · Поправил: plutos
· Личное сообщение · #2

"Сначала протектор раскриптовывает код в секции кода, а затем, в последнюю очередь, он восстанавливает Таблицу IAT. Поэтому, нам нужно посмотреть, где находится Таблица IAT. Поскольку программа у нас запущена, то мы переходим в секцию кода (адрес 00401000), и выполняем бинарный поиск опкода FF 25"
Valentin Vnekrilov.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 21 августа 2013 22:57 · Поправил: Vovan666
· Личное сообщение · #3

дык. йопт. я же кидал тебе ссылку на мультик по распаковке upx-a, где все наглядно видно.
http://tuts4you.com/download.php?view.3143


plutos пишет:
выполняем бинарный поиск опкода FF 25"
Valentin Vnekrilov.

иногда "FF 15", в зависимости от компилятора.




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 21 августа 2013 23:01 · Поправил: plutos
· Личное сообщение · #4

Да, иногда FF 15.
Забыл добавить.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 21 августа 2013 23:42
· Личное сообщение · #5

Можно огрести false positives без проблем. Не проще поискать блоки офсетов, ведущих в другой модуль?

-----
старый пень




Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 21 августа 2013 23:54
· Личное сообщение · #6

В Ольке даже опция есть Search all intermodular call.



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

Создано: 22 августа 2013 00:34
· Личное сообщение · #7

Я бы искал глазами в дампе. Для каждого компилятора характерен свой способ размещения IAT.
Почти все компиляторы выравнивают на границу 0x1000
Delphi - сначала указатели, потом блок функций, секция .idata
VC++ до 5-го - IAT , блок функций (ненастроенный), блок функций настроенный
VC++ с 6-го - блок функций (настроенный) потом данные, потом IAT и блок функций (ненастроенный)
Протекторы, конечно, гадят, стирают копии таблицы, запоняют мусором нули между блоками функций от разных DLL, но все это легко решаемо, если голова есть.

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


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