Сейчас на форуме: YDS, _MBK_, user99 (+9 невидимых)

 eXeL@B —› Основной форум —› распаковка PEspin 1.304
Посл.ответ Сообщение


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

Создано: 21 января 2006 22:07 · Поправил: Hellspawn
· Личное сообщение · #1

вот появилось свободное время между здачей экзаменов,
решил ченить поиследовать... так вот... запаковыа маленькую асм. прогу
эти чудом и понеслась...
ничего не читал, делал всё сам... вот интересно, может кто поделится опытом?
пока, всё что получилось, я могу дойти пешком до ОЕП 1мин
нашёл несколько интересных процедур (форм импорта и т.д.)
но чёт с импортом никак не получается =(

а вобще вот:

00404B77 D1E1 SHL ECX,1
00404B79 F7D1 NOT ECX
00404B7B F2: PREFIX REPNE: ; Superfluous prefix
00404B7C F7D2 NOT EDX
00404B7E C1C1 77 ROL ECX,77 ; Shift constant out of range 1..31
00404B81 0FB7C8 MOVZX ECX,AX
00404B84 4A DEC EDX
00404B85 BA 68EB57EF MOV EDX,EF57EB68
00404B8A 8BD0 MOV EDX,EAX ; 1.<ModuleEntryPoint>
00404B8C 0FB3C2 BTR EDX,EAX ; 1.<ModuleEntryPoint>
00404B8F B9 04DAA1B5 MOV ECX,B5A1DA04
00404B94 C7C1 9E14091A MOV ECX,1A09149E
00404B9A - E9 61C4FFFF JMP 1.00401000 <--- прыжок на оеп !

что запомнилось... это деление на 0, юзуются SEH =) и шифрование там вроде...
много циклов распаковки... больше ничё интересного вроде...
хочу импорт добить.... =)
в аттаче прога, запакованная сабжем...
всего 3 функции там... мессаге бох, ехит процесс и дебуггер презент
8773_1.EXE.zip

-----
[nice coder and reverser]




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 22 января 2006 00:14
· Личное сообщение · #2

http://exelab.ru/f/action=vthread&forum=3&topic=2618




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

Создано: 22 января 2006 00:48 · Поправил: Hellspawn
· Личное сообщение · #3

arnix пишет:
http://exelab.ru/f/action=vthread&forum=3&topic=2618

я конечно извеняюсь.. что не нешёл в поиске... но что то там про импорт не слова не было...
хотя с моим ужасным англ. я мог и не увидеть....

-----
[nice coder and reverser]




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 22 января 2006 01:46 · Поправил: arnix
· Личное сообщение · #4

ОК, я когда-то распаковывал, попробую вспомнить. Поставь брейк на retn 14 функции VirtualProtectEx и запусти, когда поймаешь, потрейси до кода программы, потом дави Ctrl-F и ищи MOV EAX,0F96B302E

00404806 9C PUSHFD
00404807 F71424 NOT DWORD PTR SS:[ESP]
0040480A 832424 01 AND DWORD PTR SS:[ESP],1
0040480E 50 PUSH EAX
0040480F 52 PUSH EDX
00404810 B8 2E306BF9 MOV EAX,F96B302E


поменяй это дело на...

00404806 9C PUSHFD
00404807 9D POPFD
00404808 6A 01 PUSH 1
0040480A 90 NOP
0040480B 90 NOP
0040480C 90 NOP
0040480D 90 NOP
0040480E 50 PUSH EAX
0040480F 52 PUSH EDX
00404810 B8 2E306BF9 MOV EAX,F96B302E


О причинах (почему так сделано и как это работает) разберись сам, ну или если хочешь обясню. Ну и собсно запусти программу, включи импрек, выбери прогу и делай правый клик -> Advanced command -> Get API Calls, потом, если есть кривые, то Show invalid, Cut thunks. Будут вопросы скажи.


FThunk: 0000742A NbFunc: 00000001
1 0000742A kernel32.dll 00B0 ExitProcess

FThunk: 0000742F NbFunc: 00000001
1 0000742F kernel32.dll 0224 IsDebuggerPresent

FThunk: 00007435 NbFunc: 00000001
1 00007435 user32.dll 01DD MessageBoxA


P.S.
Могут быть методы и другие, получше и надёжнее, не копал много...

Добавка:
Да, можно сделать и получше, нужно скрипт написать сначала, чтобы нормальным образом восстановить IAT.



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

Создано: 22 января 2006 10:33
· Личное сообщение · #5

arnix пишет:
Да, можно сделать и получше, нужно скрипт написать сначала, чтобы нормальным образом восстановить IAT.


Да вроде есть такой
"PESpin v1.3 unpacker script for OllyScript plugin (by SHaG)"
там написано:
"Script will fix IAT redirection, code redirection and find stolen OEP code."

-----
~ the Power Of Reversing team ~




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 22 января 2006 13:12
· Личное сообщение · #6

вроде на reversing.be есть тутор (3-и в одном) для распаковки всех версий сабжа



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

Создано: 22 января 2006 13:40
· Личное сообщение · #7

Хм... У меня всё просто получилось.
Протрейсил до секции кода.
Встал на 401000.
Сдампил Olly, указав Base of Code = 1000; и без опции Rebuild Import.
Далее как arnix
arnix пишет:
Ну и собсно запусти программу, включи импрек, выбери прогу и делай правый клик -> Advanced command -> Get API Calls, потом, если есть кривые, то Show invalid, Cut thunks.


FThunk: 0000742A NbFunc: 00000001
1 0000742A kernel32.dll 00B0 ExitProcess

FThunk: 0000742F NbFunc: 00000001
1 0000742F kernel32.dll 0224 IsDebuggerPresent

FThunk: 00007435 NbFunc: 00000001
1 00007435 user32.dll 01DD MessageBoxA


Потом снял галку Add new Section и Ввёл RVA = 1100, т.к. кода там всё равно нет.
И получил рабочий дамп




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

Создано: 22 января 2006 13:50 · Поправил: Hellspawn
· Личное сообщение · #8

newborn пишет:
Да вроде есть такой
"PESpin v1.3 unpacker script for OllyScript plugin (by SHaG)"
там написано:
"Script will fix IAT redirection, code redirection and find stolen OEP code."

я же сказал хочу сам.. ты этот скрипт вообще видел??? самому лучше в коде разобраться
чем в скрипте

Klajnor пишет:
Хм... У меня всё просто получилось.
Протрейсил до секции кода.
Встал на 401000.
Сдампил Olly, указав Base of Code = 1000; и без опции Rebuild Import.
Далее как arnix

проcто трейсил? я весь пакер прошёл по коду... разбирался, что где и как....
интересно...
ок ща попробую.. о результатах скажу...
да действительно... хм интересно... ща поставлю галочку
api redirection.... да вообще все опции защиты включу....

-----
[nice coder and reverser]




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

Создано: 22 января 2006 14:11
· Личное сообщение · #9

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

Трейсил, игноря все исключения, но это долго( 1-2 минуты).
Потом, уже зная OEP, доходил до него так:
F9. Возникает исключение:неправильная инструкция.
Потом F7. Прога переходит в ntdll. Затем ставлю бряк на 401000 и снова F9. Оказываюсь на OEP




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

Создано: 22 января 2006 14:18
· Личное сообщение · #10

Klajnor пишет:
Потом F7. Прога переходит в ntdll. Затем ставлю бряк на 401000 и снова F9. Оказываюсь на OEP

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

-----
[nice coder and reverser]




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

Создано: 22 января 2006 14:33
· Личное сообщение · #11

В этой проге я не заметил особой защиты. Калькулятор запротекченный по полной( только без защиты паролем) я так и не смог распаковать пока.
А из твоей проги можно сделать ехе-шник в 963 байта, если сдампить только 2000h байт, а затем удалить из заголовка 2 последнии секции. Потом востановить импорт и в LordPe сделать над ехе-шником Rebild Pe

f657_d3_.exe.zip




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

Создано: 22 января 2006 14:39 · Поправил: Hellspawn
· Личное сообщение · #12

Klajnor пишет:
В этой проге я не заметил особой защиты. Калькулятор запротекченный по полной( только без защиты паролем) я так и не смог распаковать пока.
А из твоей проги можно сделать ехе-шник в 963 байта, если сдампить только 2000h байт, а затем удалить из заголовка 2 последнии секции. Потом востановить импорт и в LordPe сделать над ехе-шником Rebild Pe

интересно, что размер не упакованного файла 1 536 байт... прикольно =)
ну да я тока исследовал... вот тоже ща маюсь... зря калькулятор... лучше что нить поменьше....
хотя лан... ща займусь твоим файлом.... пока не распакую не успакоюсь +)

-----
[nice coder and reverser]




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

Создано: 22 января 2006 15:36
· Личное сообщение · #13

Там заголовок ехе-шника обрезается до самого минимума =)
ЗЫ
Hellspawn пишет:
ща займусь твоим файлом

В каким таким моим файлом? Я приаттачил результат




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 23 января 2006 13:23
· Личное сообщение · #14

Вы лучше сам прот попробуйте анпакнуть У кого какие идеи обхода наномитов?

-----
Недостаточно только получить знания:надо найти им приложение



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


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