PDA

Просмотр полной версии : Отдирание ASProtect 2.1 от файла.


0x0c0de
27.05.2007, 14:54
Решил разобраться с принципом работы ASProtect 2.1 (опыт распаковки более ранних версий был). Возникла следующая проблема. Запаковал им блокнот. На последнем исключении поставил точку останова на секцию с кодом. Сработало, но в теле аспра. Перешел по адресу OEP, заранее мне известному. А там как раз джамп в секцию ASProtect.
Oep:

0100739D .- E9 DB8EA6FF JMP 00A7027D

Перешел по этому адресу.

00A7027D 6A 70 PUSH 70
00A7027F EB 02 JMP SHORT 00A70283
00A70281 CD20 FF742410 VxDCall 102474FF
00A70287 66:9C PUSHFW
00A70289 57 PUSH EDI
00A7028A 64:EB 02 JMP SHORT 00A7028F ; Superfluous prefix
00A7028D CD20 8D3C11F2 VxDCall F2113C8D
00A70293 EB 01 JMP SHORT 00A70296
00A70295 - E9 F3EB02CD JMP CDA9EE8D
00A7029A 2003 AND BYTE PTR DS:[EBX],AL
00A7029C FA CLI
00A7029D F3: PREFIX REP: ; Superfluous prefix
00A7029E EB 02 JMP SHORT 00A702A2
00A702A0 CD20 8D7C245C VxDCall 5C247C8D

Ну то есть мало того, что аспр в свое тело переносит oep, он еще ее и с мусором смешивает. Как восстанавливать все на место не представляю. Может кто сталкивался?

!_filin_!
27.05.2007, 15:06
Если я не ошибаюсь то эта версия использует Vm (виртуальную машину) . Фактически аспр крадёт туеву хучу команд, и все их надо восстанавливать вручную очень трудоёмкий процесс...Насколько я помню где то в просторах инэта валяется скрипт для Ольки по восстановлению...Но по моему опыту он очень нестабильный. Стыдно признатся но именно из за Vm я откладываю большенство взломов. Многие сейчас криптуют аспром свои проги....

0x0c0de
27.05.2007, 16:21
Спасибо. Материал отыскал. То, что я нашел - VOEP (Virtual OEP). Как с этим работать буду разбираться.

_Great_
27.05.2007, 19:47
00A70281 CD20 FF742410 VxDCall 102474FF

ахха че за VxDCall ?)
это же INT 20

че у тебя за отладчик, который так любит вин9х-ные vxd

!_filin_!
27.05.2007, 20:05
а вообще давай линк на саму прогу..таки легче самому один раз увидеть чем...сто раз читать..

ProTeuS
28.05.2007, 22:26
или юзай 9 бетку стриппера, которая восстановит вм-интрсукции сама

!_filin_!
29.05.2007, 02:39
проверял стриппер (последний (совсем последний, жалко что закрылся проэкт)) на АСпре 2.1 Ske-не распаковал, как мне кажется тут тоже Ske...

zl0y
29.05.2007, 03:28
Файл выложи попробую распаковать =\

taha
29.05.2007, 12:05
Мля... а я так и не понял о чем идет речь.. автор говорит, что ASPr ворует инструкции, это называется "stolen bytes"
вы говрите вм.. имхо vm - это другое (типа конечные автоматы и тп) (Rascal вам еще покажет, что такое VM)
Я читал множество статей про PESpin и подобные проты, и везде это называлось "stolen bytes".
И вот что по поводу я говорю... их не обязательно восстанавливать! (Если пизженые баыты лежат в какойто секции. Вот если на выделенной памяти, тогда да). К примеру в том же PESpin.. я просто нашел stolen bytes и сказал что это EP. И все работало.. Другое дело если украденные байты записываются на динамически выделенную память.. Как у автора "/.. Тогда после дампа, сам понимаешь.. Они так и останутся безвестно пропавшими.. Поэтому тебе нужно их скопировать куданибудь в секцию..

to _Great_
Походу у него Olly, только как то тупо настроенна

to Топикстартер
Выкладывай файл

0x0c0de
29.05.2007, 20:54
Запаковал блокнот чисто для интереса. Мануалы нашел, пару дней, думаю за ними просижу. Память под украденные с oep байты выделяется в процессе работы программы (проверял, ставил бряк на VirtualAlloc). А виртуальная машина (по крайней мере во всех описаниях встречается именно этот термин) там действительно используется,т.е. при работе программы код разбросан по разным участкам памяти при этом изрядно замусорен. А распаковать все же попытаюсь сначала сам.