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

 [email protected] —› Протекторы —› ASProtect 1.22-1.23 beta 21 by Alexei Solodovnikov
Посл.ответ Сообщение


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

Создано: 23 ноября 2005 22:25
· Личное сообщение · #1

Здравствуйте уважаемые господа крякеры. Ломаю прогу Advanced system agent v2.77. PEiD говорит сабж. Generic OEP Finder из PEiD показывает OEP 0045ABFB. Гружу в Ольку, на OEP ставлю бряк Memory On Access. Когда тормозится - дамплю, восстанавливаю импорт ImpRec'ом. Но полученный EXE'шник запускаться не хочет. При попытке загрузить его в Olly Debug последний(ая) жутко матерится. Что посоветуете сделать?

Вот ссылка на файл:
webfile.ru/650518

-----
The truth is out of there...





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 24 ноября 2005 00:38
· Личное сообщение · #2

lumen Гы а спертые байты кто искать буит ?




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

Создано: 24 ноября 2005 09:34
· Личное сообщение · #3

Z0oMiK пишет:
Гы а спертые байты кто искать буит ?

...там их походу нет.

-----
the Power of Reversing team




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

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

да ну?



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

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

Для версии 2.73

00458BFF 55 PUSH EBP ; This is the entry point (OEP)
00458C00 8BEC MOV EBP,ESP
00458C02 6A FF PUSH -1
00458C04 68 08CE4600 PUSH Advanced.0046CE08
00458C09 68 6A8D4500 PUSH Advanced.00458D6A ; JMP to msvcrt._except_handler3
00458C0E 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00458C14 50 PUSH EAX
00458C15 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
00458C1C 83EC 68 SUB ESP,68
00458C1F 53 PUSH EBX
00458C20 56 PUSH ESI
00458C21 57 PUSH EDI
00458C22 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00458C25 33DB XOR EBX,EBX
00458C27 895D FC MOV DWORD PTR SS:[EBP-4],EBX
00458C2A 6A 02 PUSH 2
00458C2C FF15 94584600 CALL DWORD PTR DS:[465894] ; msvcrt.__set_app_type
-----
00458D22 58 POP EAX
00458D23 50 PUSH EAX
00458D24 56 PUSH ESI
00458D25 53 PUSH EBX
00458D26 53 PUSH EBX
00458D27 FF15 4C514600 CALL DWORD PTR DS:[46514C]
00458D2D 50 PUSH EAX
00458D2E E8 7D000000 CALL Advanced.00458DB0 <<-- Здесь вылетает

А это лог стриппера

AsprStripperXP v1.23 (second edition)
(c) by syd, kiev, 2002

13:40:24 - open C:\Advanced System Agent\Advanced System Agent.exe...
13:40:33 - executing..
13:40:34 - dumping..
13:40:34 - processing import table..
13:40:34 - fixing import table..
13:40:34 - blacklist is not cleaned..
ApiEntry RVA :000357e0 *esp = (00a4098f, 00a33405, 0012ffe0)
13:40:34 - no stolen bytes are found..
EntryPoint RVA :00058bff
13:40:35 - saving unpacked file..
13:40:35 - done..



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 25 ноября 2005 12:18 · Поправил: Smon
· Личное сообщение · #6

Возможно там где вылетает - что то с несуществующим регионом связано, можно попробовать поглядеть место внутри калла, где вылетает =) Такой прикол был в самих аспаках -> после снятия аспра надо ручками несколько мест подправить =) Хотя может в том калле простая проверка на распаковку

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





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

Создано: 25 ноября 2005 21:55 · Поправил: DillerInc
· Личное сообщение · #7

Smon
А можно ли подробнее насчёт несуществующего региона?
Smon пишет:
Хотя может в том калле простая проверка на распаковку

...не думаю...по крайней мере не нашёл.
Сейчас ковыряю версию 2.77 и вот что заметил:
- при выходе из определённой процедуры,после команды RET,в распакованном варианте мы попадаем как бы куда должны были,а в запакованном - совсем в другое место,где впоследствии программа и запускается.Простая передача управления в нужное место в распакованном варианте не проходит - ошибка доступа.
- в одном месте в EAX кладётся адрес,по которому в запакованном варианте куча всяких байт,а в распакованном там ничего нету.Поэтому я и спрашиваю про несуществующий регион.Причём самое странное,что если посмотреть дамп в hex-редакторе,то все эти байты на месте,а вот после загрузки в память они куда-то улетучиваются.

В общем,если кому вдруг интересно,то как говорится:
"Давайте ковырять вместе" .
Скачать можно тут http://fileforum.betanews.com/detail/Advanced_System_Agent/967098564/1 , весит 827КБ.

-----
the Power of Reversing team




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 27 ноября 2005 14:47 · Поправил: Smon
· Личное сообщение · #8

DillerInc
Поглядел... регионы не используются... где то проверка на распак есть, причем не обязательно с использованием функций типа CreateFileA =) Просто после некоторых каллов регистры в распакованной и упакованной здорово различаются...., упакованный запускается не доходя до вылетающего калла, распакованный доходит и вылетает - так как там просто ExitProcess юзается, т.е. прога использует этот калл для выхода после нажатия в трее exit =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 30 ноября 2005 12:16 · Поправил: ValdiS
· Личное сообщение · #9

DillerInc
Действительно интересная программа. После распаковки закрывается сразу без лишних слов.

0045ACCF FF15 9C734800 CALL DWORD PTR DS:[48739C]
0045ACD5 50 PUSH EAX
0045ACD6 E8 95B50000 CALL Advanced.00466270 // Интересный вызов
0045ACDB 8945 A0 MOV DWORD PTR SS:[EBP-60],EAX
0045ACDE 50 PUSH EAX

В запакованной программе при трассировке по F8 при проходе по адресу 0045ACD6 прога стартует, а распакованная - оказывается на адресе 0045ACDB, т.е. копать надо от адреса 0045ACD6, но копать там немеренно.
Напиши, что наработал ...
ЗЫ Может кому пригодится импорт для Импрека (см. аттач). Единственно, что по адресам 0045AC21 и 0045AC81 импрек неправильно определил GetCurrentProcess, пришлось поправить:
0045AC21 B8 0501280A MOV EAX,0A280105
0045AC26 90 NOP
...
0045AC81 B8 E01E1400 MOV EAX,141EE0
0045AC86 90 NOP


-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 30 ноября 2005 12:18
· Личное сообщение · #10

Аттач


b6a0_tree.txt.zip

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

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

ValdiS
Картина следующая:

0047649E MOV EAX, 00486198 ; в распакованной по данному смещению ничего нет
...
Трассируя дальше и заходя в определённые процедуры,дойдёшь до следующей процедуры:
00476301 CALL 0046945F ; заходим
...
00469522 RET 002C ; выходим и должны попасть как бы на смещение 00476306...

...но попадаем на смещение 0045749Е, т.к. выше видим вызов той же процедуры:
00457499 CALL 0046945F



Кстати,ты уверен,что ImpRec неправильно определил эти две API в импорте?Почему ты так считаешь?

-----
the Power of Reversing team





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 30 ноября 2005 18:45
· Личное сообщение · #12

DillerInc пишет:
Кстати,ты уверен,что ImpRec неправильно определил эти две API в импорте?Почему ты так считаешь?

У меня дамп падал. Подсмотрел в исходной программе. Подправил, сейчас нормально. Просто программа закрывается.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться



 [email protected] —› Протекторы —› ASProtect 1.22-1.23 beta 21 by Alexei Solodovnikov
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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