Сейчас на форуме: vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› ASPack+PECompact
Посл.ответ Сообщение

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

Создано: 18 июня 2006 17:56
· Личное сообщение · #1

Всем привет. Только начинаю сейчас изучать реверсинг и пока только на распаковке простых пакеров. У меня есть файл, который запакован PECompact 1.68 - 1.84 -> Jeremy Collake и еще сверху ASPack 2.12 -> Alexey Solodovnikov. Распаковать вроде ерунда, но я завис уже на восстановлении импорта в ASPack. OEP нашел точно (это 100%), и когда ввожу его (с учетом Image Base) и нажимаю на IAT, то результата нет - импорт не дает. Вот я и хотел спросить у вас, как можно получить этот импорт? Может нужен какой-нибудь плагин для ImpREC?



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

Создано: 18 июня 2006 17:59
· Личное сообщение · #2

Забыл. Вот собственно сам файл:
ФАЙЛ http://rapidshare.de/files/23403963/DebugApiSpy.rar.html




Ранг: 116.7 (ветеран)
Активность: 0.10
Статус: Участник

Создано: 18 июня 2006 18:11
· Личное сообщение · #3

deepred пишет:
и нажимаю на IAT, то результата нет - импорт не дает

А "Get Imports" нажать?))




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

Создано: 18 июня 2006 18:19 · Поправил: Hellspawn
· Личное сообщение · #4

а зачем у аспака импорт восстанавливать? распакуй сразу всё и восстанови уже в конце

-----
[nice coder and reverser]




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

Создано: 18 июня 2006 18:44
· Личное сообщение · #5

Mifodix пишет:
А "Get Imports" нажать?))

Ну, естественно нажимаю, но выдает только не валидные значения.
Hellspawn пишет:
а зачем у аспака импорт восстанавливать? распаку сразу всё и восстанови уже в конце

Не. Мне надо именно с восстановлением импорта, как говорится на будущее, чтобы знать как решается данная проблема.)



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

Создано: 19 июня 2006 00:24 · Поправил: deepred
· Личное сообщение · #6

Уважаемые! Ну так мне кто-нибудь может объяснить как это сделать? Файл весит всего 183 КБ.




Ранг: 71.8 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 19 июня 2006 02:41 · Поправил: Bat
· Личное сообщение · #7

deepred
Кроме ASPack сверху ничё не увидел
OEP: 0043DDE3
Импорт обычно восстанавливается, правда после этого прога запускается выдает заставку и закрывается.
Может проверяет на распакованость или еще что. Не смотрел. Спать охота.
После распаковки PЕId говорит Microsoft Visual C++ 6.0.
Распакованый файл в аттаче.
[edited]
Нет там 2 упаковщика, это я ошибся. Про востановление импорта в PECompact почитай тут

643a_19.06.2006_CRACKLAB.rU.tgz - dump.rar




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 19 июня 2006 07:25
· Личное сообщение · #8

Да нифига. Ни в ASpack ни в PECompact ImpREC не нужен. Про PECompact я писал, про ASPack тоже есть.

-----
Yann Tiersen best and do not fuck




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

Создано: 19 июня 2006 13:58
· Личное сообщение · #9

Спасибо, ребята. Но мне нужна именно методика, как получить правильный импорт.
Что я делаю:
Нахожу OEP. Bat, он кстати у меня равен не 0043DDE3, а 004680F0. Дальше делаю дамп, открываю ImpREC забиваю в OEP 000680F0 (Image Base = 00400000), нажимаю IAT и он пишет: "Could not find anything good at this OEP!"
Вот на этом я и застопорился, ведь должен был сказать, что все нормально и типа парень теперь можешь нажать "Get Imports". OEP правильный - делал несколькими способами и через скрипты.
PE_Kill
Спасибо за статьи, но как я уже говорил мне нужно именно понять, поэтому нужна методика именно с импортом.




Ранг: 116.7 (ветеран)
Активность: 0.10
Статус: Участник

Создано: 19 июня 2006 15:06 · Поправил: Mifodix
· Личное сообщение · #10

deepred пишет:
Нахожу OEP. Bat, он кстати у меня равен не 0043DDE3, а 004680F0.

Вот отсюда у тебя проблемы и пошли: 004680F0 - это неверный ОЕП. Верный же 0043DDE3.
Как я доходил до ОЕП:
1) ставил железный бряк hr esp-4
2) жал ф9 пока не оказался на стандартном начале для прог на Microsoft Visual C++ 6.0
Ну а дальше дамп, импрек...
У меня всё получилось, можешь посмотреть вложение
++++++++++
атач не прекрепился, но выше уже выгладывали распакованный фаил.



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 20 июня 2006 14:31
· Личное сообщение · #11

deepred пишет:
кстати у меня равен не 0043DDE3, а 004680F0

004680F0 - это ты нашел так сказать промежуточный OEP
Ведь ты сам определил, что прога упакована двумя пакерами, и 004680F0 это "OEP" после ASPack'а.(и восстановление импорта в этом месте ничего не даст)
Дальше начинается PECompact. Протрассируй до этого места
0046E550 50 PUSH EAX
0046E551 68 E3DD4300 PUSH 0043DDE3
0046E556 C2 0400 RETN 4 ; переход на OEP
сымай дамп и восстанавливай импорт. Он там как на ладони RVA 47000; Size 610h



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

Создано: 20 июня 2006 16:26
· Личное сообщение · #12

Ребята, всем спасибо.
crc1
А вот если я не знаю, где мне надо остановиться, то как узнать, что я дойду до правильного места, если буду трассировать?




Ранг: 116.7 (ветеран)
Активность: 0.10
Статус: Участник

Создано: 20 июня 2006 17:13
· Личное сообщение · #13

deepred пишет:
то как узнать, что я дойду до правильного места, если буду трассировать?

Со временем ты научишься определять оеп визуально. Загрузи проги написанные на делфи(или каком-то другом языке) в отладчик и ты заметишь, что у всех у них есть сходные последовательности команд рядом с точкой входа. Потом попробуй проги на другом языке. У них тоже будут похожие начала. А затем, снимая пакер, ты будешь не только определять оеп это ли нет, но и на каком языке написано.



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 21 июня 2006 15:59
· Личное сообщение · #14

deepred пишет:
А вот если я не знаю, где мне надо остановиться

Ну во первых Mifodix дал тебе хороший совет (можешь даже создать колекцию стартового кода с различных компиляторов). Во вторых, смотри в каком адресном пространстве ты находишся во время трассировки. И если видишь переход в секцию где содержится код программы (code), то с большой долей вероятности можешь предположить, что ты на OEP. И эта прога как нельзя лучше демонстрирует сие.
Memory map
Address Size Owner Section Contains
00400000 00001000 DebugApi PE header
00401000 00063000 DebugApi pec1 code
00464000 0000D000 DebugApi .rsrc data,resources
00471000 00001000 DebugApi .rsrc
00472000 00003000 DebugApi .aspack SFX,imports,relocations
00475000 00001000 DebugApi .adata
Сначала выполнение программы идет в секции .aspack
004723B7 C2 0C00 RETN 0C
004723BA 68 F0804600 PUSH 004680F0
004723BF C3 RETN
> тут переход в секцию .rsrc и это явно не OEP, а переход в др. пакер
0046E550 50 PUSH EAX
0046E551 68 E3DD4300 PUSH 0043DDE3
0046E556 C2 0400 RETN 4
> а вот тут переход в секцию pec1, где содержится код программы - это OEP. Есть случаи, когда часть кода от OEP воруется и выполняется в другой секции, но это уже другая сказка



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

Создано: 27 июня 2006 14:09
· Личное сообщение · #15

deepred Как успехи-то. Ты, наверное, застрял на pecompact ?!



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

Создано: 28 июня 2006 21:32
· Личное сообщение · #16

tundra37
Нет, все в порядке, все понял. Всем спасиб.


 eXeL@B —› Вопросы новичков —› ASPack+PECompact
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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