Сейчас на форуме: bartolomeo, Adler, johnniewalker, NIKOLA, vasilevradislav (+6 невидимых)

 eXeL@B —› Софт, инструменты —› Import Rebuilder v0.1 alpha
Посл.ответ Сообщение

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

Создано: 27 августа 2007 17:14
· Личное сообщение · #1

Простой реконструктор импорта в виде dll + SDK (GUI с сорцам на Delphi и MASM).
Для конструирования таблицы импорта использовал функции из ap0x unpacking SDK.
Мож кому пригодиться
ImpReb http://crackingpage.jino-net.ru/release/ImpReb.rar




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 августа 2007 17:27
· Личное сообщение · #2

MiHaN пишет:
Для конструирования таблицы импорта использовал функции из ap0x unpacking SDK.


у апокс косячный двиг =\ на айс его юзать... лучше бы свой накодил

-----
[nice coder and reverser]




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

Создано: 27 августа 2007 17:50
· Личное сообщение · #3

Hellspawn двиг поиска мой, из апокс юзаются только функции построения таблицы из найденного импорта или в них тоже косяк?




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 августа 2007 17:56
· Личное сообщение · #4

хм, если поиск твой, наф юзал его сдк? Нет, у него именно поиск хромал...

-----
[nice coder and reverser]




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

Создано: 27 августа 2007 18:05
· Личное сообщение · #5

В GetAPIName у них был косяк, когда-то юзал эту их функцию и приходилось фиксить багу, но искалось всёравно ооочень долго, поэтому пришлось своё сочинить.
У меня найденный импорт возвращается в виде структуры, из этой структуры с помощую функций апокс (они в ридми перечислены) импотр привинчивается к дампу. Вот эту самую функцию привинчивания мне и было лень присать




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 28 августа 2007 15:23
· Личное сообщение · #6

А как кстати поиск реализовал? Марков?

-----
Researcher




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

Создано: 28 августа 2007 15:40
· Личное сообщение · #7

My Russian is really bad today MiHaN, could you say that in English please




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 28 августа 2007 17:04
· Личное сообщение · #8

ap0x,
1)
Simple import reconstructor that is dll+SDK (GUI App with Delphi and MASM sources).
For construction IAT he used functions from your unpacking SDK.
Maybee it will be useful for somebody.
2)
Find API names proc is his, from SDK he used only functions for build Table from found import, after he ask Hellspawn : Maybee this functions has bugs too?
3)
GetAPIName has bug, He used this but he must fix this bug, find time was long, so he decide to write his own.
Found Import save in structure, after this structure he use with your SDK to fix imports to dump...

Грамматический отжегатель) йа

-----
Researcher




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

Создано: 28 августа 2007 17:22
· Личное сообщение · #9

overwriter пишет:
Марков?

Чё-то я отстал от жизни Поясни?

overwriter пишет:
А как кстати поиск реализовал?

Поиск FF15h и FF25h + перечитывание файла в поисках IAT.
Вообщем читаю фаил и проверяю, являются ли dword'ы адресами функций. Для этого сначала юзал ImporterGetAPINameFromDebugee, а потом свою GetAPIName сделал. Вот в общих чертах.

ap0x read PM.



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

Создано: 28 августа 2007 18:00
· Личное сообщение · #10

MiHaN
Может глупый вопрос, но я в этом деле еще новичок. Что такое PID (dec) в GUI?




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 28 августа 2007 18:08
· Личное сообщение · #11

deepred пишет:
Что такое PID (dec) в GUI?

Это уникальный идентификатор процесса. Фактически, представляет из себя число. Можно получить, например, из стандартного диспетчера задач Windows.

-----
Программист SkyNet





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 августа 2007 18:15 · Поправил: Archer
· Личное сообщение · #12

deepred
Process ID, скорее всего. Мля, опоздал.



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

Создано: 28 августа 2007 18:37
· Личное сообщение · #13

FrenFolio
Спасибо за разъяснения.
MiHaN
А теперь вообще тупой вопрос - Как им пользоваться? Ввел я этот PID, нажал Get Import, в окне появился импорт. Т.е. дальше надо импорт ручками делать?




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 28 августа 2007 18:42 · Поправил: overwriter
· Личное сообщение · #14

MiHaN, все понял) ступил я... Марков это алгосы оброботки строк

-----
Researcher





Ранг: 66.5 (постоянный)
Активность: 0.030
Статус: Участник
Повелитель ЗЛА

Создано: 28 августа 2007 18:46
· Личное сообщение · #15

deepred пишет:
А теперь вообще тупой вопрос - Как им пользоваться? Ввел я этот PID, нажал Get Import, в окне появился импорт. Т.е. дальше надо импорт ручками делать?

бгг, выбираете дамп процесса у которого получали импорт и восстанавливаете.



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

Создано: 28 августа 2007 18:59
· Личное сообщение · #16

ev1l_4 пишет:
бгг, выбираете дамп процесса у которого получали импорт и восстанавливаете.

Восстанавливаем, нажав на кнопку Fix Dump или вручную? Я просто уточняю, потому что на снятый дамп вообще эта прога не действует, а на дамп с импортом после импрека действует.



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

Создано: 28 августа 2007 19:09
· Личное сообщение · #17

deepred рассчитывалось вообще-то, чтоб эту dll юзали например вместо imprec.dll в анпакерах всяких, а GUI - это только для демонстрации функций. А юзать надо так: вводишь PID в dec, жмёшь Get Import, выбираешь дамп и жмёшь Fix Dump.
Насчёт редактирования импорта, дописать такое в GUI несложно, код dll для этого менять не надо.

deepred пишет:
Я просто уточняю, потому что на снятый дамп вообще эта прога не действует

У меня всё действовало, пример в студию.



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

Создано: 28 августа 2007 19:24
· Личное сообщение · #18

MiHaN
Пример в этой теме: Перейти



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

Создано: 28 августа 2007 19:27
· Личное сообщение · #19

Будем тестить.



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

Создано: 28 августа 2007 21:12
· Личное сообщение · #20

Thanks for the translation



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

Создано: 29 августа 2007 07:04
· Личное сообщение · #21

После отработки скрипта весь импорт находит правильно, добавляет новую секцию и записывает в неё таблицу, но при перебивке директории импорта в функции ImporterExportIAT возникает ошибка. Хотел поправить дирекорию вручную, но ни PEEditor из PETools, ни PEExplorer, ни новый COFFExplorer не смогли этого сделать. Вероятно там косяк в где-то в заголовке. Так что будем считеть это частным случаем


 eXeL@B —› Софт, инструменты —› Import Rebuilder v0.1 alpha
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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