Сейчас на форуме: zds, -Sanchez- (+9 невидимых)

 eXeL@B —› Протекторы —› Aspr 1.23 - объясните, где я туплю?
Посл.ответ Сообщение

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

Создано: 11 сентября 2005 04:39 · Поправил: assassin
· Личное сообщение · #1

Прошу не бить ногами, я знаю что аспр уже сотни раз обсуждался,
накачал целую кучу туторов, но что-то всеравно не могу понять
в чем у меня затыка. может кто подскажет:

Есть прога(на Delphi), IconLover 3.0, http://www.iconutils.com/iconlover/iconlove.exe http://www.iconutils.com/iconlover/iconlove.exe - 1.7 MB
PEID пишет ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov,
PETools - ASProtect v1.23 RC1.

Запускаю ольку,run,жму 31 раз Shit-F9 и дохожу до предпоследнего ексепшена(13DA76A),
ставлю бряк на доступ к секции кода, жму f9, shift-f7, f9, f9 и
вижу:

004071C0 E8 3B8E1F01 CALL 01600000 ; я здесь(кайкойто нехороший call в тело аспра )
004071C5 B4 8B MOV AH,8B
004071C7 C0FF 25 SAR BH,25 ; Shift constant out of range 1..31

по описаниям в туторах 4071C0 должен быть tempOEP, а до него должны идти 00, они же спертые байты.
скролю выше и вижу:

004071A8 ^E9 EBC6FFFF JMP icolover.00403898
004071AD ^EB F8 JMP SHORT icolover.004071A7
004071AF 5D POP EBP
004071B0 C3 RETN
004071B1 0000 ADD BYTE PTR DS:[EAX],AL
004071B3 0000 ADD BYTE PTR DS:[EAX],AL
004071B5 0000 ADD BYTE PTR DS:[EAX],AL
004071B7 00E8 ADD AL,CH
004071B9 43 INC EBX
004071BA 8E1F MOV DS,WORD PTR DS:[EDI]
004071BC 0141 8B ADD DWORD PTR DS:[ECX-75],EAX
004071BF C0E8 3B SHR AL,3B
004071C2 8E1F MOV DS,WORD PTR DS:[EDI]

значит это и есть семь спертых байт, тогда получается, что 71b1 - OEP.
находясь на 71c0, дамплю с помощью Petools, прикручиваю импорт и, т.к прога дельфевая, пишу в EP
push ebp|mov ebp,esp|sub esp,00 (6 байт)
остается один 0x00 байт по смещению 4071b7.
если туда вписать B8, что бы получался mov eax, xxx, то прога падает на 4071с2: mov ds,[edi]
т.к в edi конечно 0.
а если записать однобайтовую инструкцию, то следующий call(тот что я посчитал tempOEP), уйдет вникуда.

вот я собсно и не могу понять, толи tempOEP я не тот нашел, толи дамп невовремя делаю,
толи попертые байты не те....

может кто разъяснит чайнику в чем замутка?

зы: ни один олин скрипт у меня не сработал, ни по поиску оеп, ни спертых байт
ззы: способ по esp-4 почемуто не катит, после 1го срабатывания на pushad прога запускается, ecли эе ставить на esp-24 то куча ненужных срабатываний



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 11 сентября 2005 13:15
· Личное сообщение · #2

assassin
Думается мне, что после вызова этого CALL произойдет дешифрация куска проги
004071C0 E8 3B8E1F01 CALL 01600000 ; я здесь(кайкойто нехороший call в тело аспра )
т.к. команды которые идут тут как минимум странные
004071C5 B4 8B MOV AH,8B
004071C7 C0FF 25 SAR BH,25 ; Shift constant out of range 1..31

а теперь про ОЕР
НЕ ПОХОЖЕ НА НОРМАЛЬНОЕ ОЕР СКОРЕЕ ВСЕГО ПОСЛЕ ВЫЗОВА ЭТОЙ Ф-ИИ ТАМ ТОЖЕ РАСКРИПТОВКА ПРОИСХОДИТ

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 11 сентября 2005 13:41
· Личное сообщение · #3

nice
да, ты прав, после вызова этого калла происходит дешифрация,
но если проходить его по f8, прога запустится, а если по f7, то модифицируется
только сам этот call, но он продолжает указывать кудато в aspr и дамп будет
падать абсолютно также...




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 11 сентября 2005 16:10
· Личное сообщение · #4

Может я ошибаюсь,но мне кажется,что вы пытаетесь распаковать второй ASProtect по правилам, применявшимся для распаковки протектора версий 1.23, т.к. если PEiD говорит:
ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov
...то это явно не к добру.

assassin пишет:
пишу в EP
push ebp|mov ebp,esp|sub esp,00

...скажи,пожалуйста,где ты взял эти команды?

-----
the Power of Reversing team




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

Создано: 11 сентября 2005 17:00
· Личное сообщение · #5

DillerInc
хм... думаешь это aspr 2.0? но если верить статьям, то вроде и во втором аспре OEP находится также...

>скажи,пожалуйста,где ты взял эти команды?
любае дельфи прога должна начинаться с:
push ebp
mov ebp,esp
sub esp,<value>
я написал sub esp,00, это конечно неверно, но смысл в том, что
если дамп нормальный, то нужное значение есп можно узнать потом.
а у меня он падает, и стек тут не причем...




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 11 сентября 2005 17:29
· Личное сообщение · #6

assassin пишет:
любае дельфи прога должна начинаться с:

...ну,во-первых,не sub esp, XX, а add esp, XX - если верить статьям .
К тому же уж очень мало этих нулевых байт,даже чтобы написать самые обычные начальные байты,характерные для Delphi...
Далее я согласен с nice'ом,что...
команды которые идут тут как минимум странные

-----
the Power of Reversing team




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

Создано: 11 сентября 2005 18:00
· Личное сообщение · #7

DillerInc
да вижу я, что команды левые, но до конца код не расшифровывается,
все время идут вызовы в тело аспра...
наверно это и есть аспр2 и его страшная ВМ )

может кто скачает и подтвердит/опровергнет? ;)



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

Создано: 11 сентября 2005 18:38
· Личное сообщение · #8

Да это аспр2.x, VM присутствует.

OEP:
0104028F   55               PUSH EBP
01040290   E9 5C0E0000      JMP 010410F1
01040295   33EF             XOR EBP,EDI
01040297   8DAC07 DC014500  LEA EBP,DWORD PTR DS:[EDI+EAX+4501DC]
0104029E   2E:EB 01         JMP SHORT 010402A2                       ; Superfluous prefix




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

Создано: 11 сентября 2005 18:50
· Личное сообщение · #9

inferno_mteam
спасиб, пойду читать про то, как его инлайнить )


 eXeL@B —› Протекторы —› Aspr 1.23 - объясните, где я туплю?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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