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

 [email protected] —› Протекторы —› Метаморф в ASProtect 1.3x
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 24 мая 2005 20:06
· Личное сообщение · #1

Эээ, ну вобщем нужда заставила заняться тем чего я года два уже не делал - распаковать сабж ручками. Без удивления обнаружил что прогресс не стоит на месте - это чудовище сраслось в дельфевой прогой в единое целое Перестраивалку замангленного импорта/таблицы инициализаций сделал на одном дыхании, а вот с точкой входа беда - добрый десяток rtl функций и то что было отмечено маркерами превращено в метаморфную кашу. Понятно что все это можно сдампить и приклеить к имаджу и после обточки напильником это вероятно будет даже работать, но нет ли более кошерного способа с этим бороться??? Потом можно будет сделать эмулятор для сворачивания этого трэша в нормальный код, но сейчас на это нет время.



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

Создано: 24 мая 2005 21:19
· Личное сообщение · #2

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

ЗЫ. там вопрос не только с точкой входа. По большому счету, всю программу можно перепахать полиморфом. Что-то типа POLYBUFFER директива зовется (если не ошибаюсь) - после нее до конца функции аспр все к себе забирает и варит из него кашу... А эвристики на расчистку лень писать - я уже в ИДЕ этот код и без преобразований читаю



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 мая 2005 21:32
· Личное сообщение · #3

DrGolova
Я бы сделал так: идентифицировал функцию, затем рипнул бы её из чистого кода.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 мая 2005 21:38
· Личное сообщение · #4

Я вообще можно скрипт для олли(так нелюбимый для DrGolova) налабать, занимающийся вытаскиванием чистого кода.




Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 24 мая 2005 23:11
· Личное сообщение · #5

DrGolova
Попробуй с Syd'ом пообщаться - мне кажется, что он в данный момент самый главный специалист по аспру



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

Создано: 24 мая 2005 23:45
· Личное сообщение · #6

Inferno[mteam] пишет:
скрипт для олли(так нелюбимый для DrGolova) налабать, занимающийся вытаскиванием чистого кода


ты знаешь как это делать или просто так сказал? Вопрос не в том, для Оли или для Пети скрипт писать, а в том, как полиморф расчистить...

А Syd не чистит - он "дампит и клеит к имаджу", да и когда он это делал в последний раз? (У аспра в этом месяце новая версия была, в которой большинство дыр залатано)...

DrGolova
а какова цель твоего интереса? Если анализатор вирусов в запакованном теле, то распаковывается все и так "наура" без запуска программы. а если поиск в полиморфной каше, тады ой...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 мая 2005 01:10
· Личное сообщение · #7

Solo пишет:
ты знаешь как это делать или просто так сказал?

Скажу сразу - аспр1.3 не копал. Копал 2.0. Но судя по всему asprVM начинается именно с версии аспра 1.3, если это действительно так, то ответ на твой вопрос - да, знаю.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 25 мая 2005 12:01
· Личное сообщение · #8

Inferno[mteam]
скриптом отдирают только "VM" так что чистого кода после скрипта не получится, метаморф никуда не денется, тут уже надо какой-нить анализатор писать...




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 25 мая 2005 12:37
· Личное сообщение · #9

Тээкс, мнения разделились Метаморф будем клеить как все. Еще вопрос - где искать эту VM? Ничего похожего на байт код вроде не видно. А интерес обычный - распаковать и крякнуть, по возможности без написания распаковщика =)



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 мая 2005 17:17
· Личное сообщение · #10

Mario555 пишет:
скриптом отдирают только "VM" так что чистого кода после скрипта не получится, метаморф никуда не денется, тут уже надо какой-нить анализатор писать...

Да нет, используя олли скрипт можно восстановить весь код. В третьих упаковщиках это будет мной скорее всего описано.

DrGolova пишет:
Еще вопрос - где искать эту VM?

На реверсинге есть топик, там вся необходимая информация.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 25 мая 2005 17:57
· Личное сообщение · #11

Inferno[mteam] пишет:
Да нет, используя олли скрипт можно восстановить весь код

не верю я например восстанавливал только то где было call VM тоесть call/jcc/cmp. А вот восстановить _оригинальный_ код из метаморфа посредствам оллискрипта - в это не верится... Можно распакованный файлик после твоего скрипта ?



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

Создано: 25 мая 2005 18:58
· Личное сообщение · #12

Inferno[mteam]
а мы точно об одном и том же говорим? При чем тут VM?

напиши на С (к примеру) немаленькую функцию, вставь в ее начало USER_POLYBUFFER откомпилируй, обработай аспром. Все равно каким - можно и вторым. После чего распакуй (да хоть стриппером) и то, что стриппер втиснет во вновь-созданную секцию, попытайся перетащить обратно в секцию кода.
Ты об этом говоришь?



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 мая 2005 11:20
· Личное сообщение · #13

Solo пишет:
а мы точно об одном и том же говорим? При чем тут VM?

Мда... Я имел ввиду восстановление кода после VM.
Посмотрел на код обработанный USER_POLYBUFFER'ом... Что тут сказать? Восстановить такое довольно сложно(хотя, в принципе, там мусора много), но мне кажется возможно. Вопрос времени.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 26 мая 2005 11:49 · Поправил: Mario555
· Личное сообщение · #14

Mario555 пишет:
скриптом отдирают только "VM" так что чистого кода после скрипта не получится, метаморф никуда не денется


Inferno[mteam] пишет:
Да нет, используя олли скрипт можно восстановить весь код


Inferno[mteam] пишет:
Мда... Я имел ввиду восстановление кода после VM.


no comments %)



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 мая 2005 12:13
· Личное сообщение · #15

Mario555
Гы, типа ты своим скриптом восстанавливаешь код после VM?




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 26 мая 2005 12:45
· Личное сообщение · #16

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



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 мая 2005 12:56
· Личное сообщение · #17

Mario555
Да я ступил чего то, пропустил про метаморф в твоем посте



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

Создано: 26 мая 2005 15:20
· Личное сообщение · #18

Inferno[mteam] пишет:
Да нет, используя олли скрипт можно восстановить весь код.


У меня сложилось мнение что OllyScript для "серьёзных" дел не годится,
я до сих пор не написал ни одного скрипта для него, пару раз ставил
и пытался заюзать чужие скрипты в качестве эксперимента - результаты
не впечатлили. Вот Embeded Perl в IDA действительно рулез.




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 26 мая 2005 15:29
· Личное сообщение · #19

> Embeded Perl в IDA действительно рулез.

Перл канешна рулез, но вот сам отладчик у иды далеко не рулез пока.



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

Создано: 26 мая 2005 15:44
· Личное сообщение · #20

DrGolova
Приходится делать танцы с бубном, например detach'иться из Olly потом аттачится в Иду чтоб
заюзать какой-нибудь скрипт, естественно со связкой Perl+Debugger в таком случае не поработаешь,
но для правки и сканирования таблицы импорта или ещё чего вполне пригодно.

Вот еслиб Red Plait прикрутил бы perl к OllyDbg было бы вообще здорово.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2005 01:02
· Личное сообщение · #21

Вобщем, глянул я на этот метаморф поподробнее...

Цитата из ASProtect readme про polymorphic markers:
ASProtect will change its content throw emulation (like for the EntryPoint Protection), so it
will be impossible to restore or even to understand the work principles of the original code.

Всё оказалось до смешного простым. Код восстановить - possible, принцип работы - understand.

Скоро порадую вас готовым решением...



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

Создано: 27 мая 2005 02:17
· Личное сообщение · #22

Inferno[mteam] пишет:
Всё оказалось до смешного простым. Код восстановить - possible, принцип работы - understand.

Скоро порадую вас готовым решением...

Ёлки палки - если всё так действительно просто опиши одним/двумя абзацами как ЭТО восстановить
Как определить длины инструкций ?!? иногда даже в самом метаморфе нет проверок на длину - к примеру mov eax, 1 может быть двухбайтной а может и 6 .. намекни хоть - всё равно твое готовое решение не будет работать для всех билдов - максимум только для выбранного тобой target`a..



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2005 02:43
· Личное сообщение · #23

evix
Это статическим анализом определить сложно, но что мешает применить динамический?
К примеру mov reg, reg эмуляться несколькими командами(e.g. 5), после их выполнения в регистре будет результат, его нужно просто достать, дальше объяснять? На самом деле аспр эмулит всего несколько команд(mov, add и т.д.) и делает это тупо. До старфорса, слава богу, далеко.



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

Создано: 27 мая 2005 08:10 · Поправил: evix
· Личное сообщение · #24

Inferno[mteam] пишет:
evix
Это статическим анализом определить сложно, но что мешает применить динамический?
К примеру mov reg, reg эмуляться несколькими командами(e.g. 5), после их выполнения в регистре будет результат, его нужно просто достать, дальше объяснять? На самом деле аспр эмулит всего несколько команд(mov, add и т.д.) и делает это тупо. До старфорса, слава богу, далеко.

Не может такого быть - тогда как же насчёт остального кода ?? это что - всего лишь мусор !? Если да - то как ты планируешь отделять мусор от кода ?? тем более этот мусор часто находится между несколькими инструкциями которые эмулят одну команду .. у меня аспр вместо 30-40 инструкций выдавал как-то 7-8 килобайт полиморфного кода
В общем - давай, заценим твою тулзу - это будет ещё лучше чем стрипер новый по-моему.

после их выполнения в регистре будет результат, его нужно просто достать, дальше объяснять?
Ну и что, что результат будет в регистре ?!? как это поможет тебе восстановить инструкцию, а точнее узнать узнать её длину ?!? я уже приводил пример: mov eax, 1 - она может быть длиной 1, 5 и 6 байт. Пусть она эмулится хоть 3 командами, хоть 4`мя, хоть 5`ю - как это поможет тебе высчитать её оригинальную длину ?!? И кстати, ещё один менее детализированный вопрос - как ты собираешься отличать на каком шаге кончается эмуляция одной инструкции и начинается эмуль другой или вообще не эмуль, а мусор или другая оригинальная инструкция ?!? короче вопросов больше чем ответов - даже не представляю пока теорию как ты это собираешься сделать.. ты сам то представляешь ???



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

Создано: 27 мая 2005 08:13
· Личное сообщение · #25

Inferno[mteam] пишет:
До старфорса, слава богу, далеко.

В старфорсе основное - это VM. Полиморфный движок я там вообще не видел ..



Ранг: 192.3 (ветеран), 18thx
Активность: 0.120
Статус: Участник
stoned machine-gunner

Создано: 27 мая 2005 09:17
· Личное сообщение · #26

мне что-то тоже с трудом в это верится, точнее я вообще не верю, бред имхо =)

-----
once you have tried it, you will never want anything else




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

Создано: 27 мая 2005 11:16
· Личное сообщение · #27

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




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 27 мая 2005 11:46
· Личное сообщение · #28

Ни разу не видел инфы про автоматизацию разбора метаморфов... Неясно даже реально ли это (конечно зависит от самого метаморфа). Хотя ведь антивири как-то работают с метаморфами...
Во всяком случае написать анализатор метаморфа будет не просто, имхо.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2005 12:17
· Личное сообщение · #29

evix пишет:
Inferno[mteam] пишет:
До старфорса, слава богу, далеко.
В старфорсе основное - это VM. Полиморфный движок я там вообще не видел ..

Я не знаю, что там главное, а что нет. Просто посмотри сюда:

Вот как старфорс эмулит mov:

.sforce:00BA28C8 sub_BA28C8 proc near
.sforce:00BA28C8 mov eax, [edi+8]
.sforce:00BA28CB add eax, [edi+14h] ; Add VM Base to Opcode Ptr(EIP)
.sforce:00BA28CE mov ecx, [eax] ; Get Opcode Data Dword 1 - 0x98004200
.sforce:00BA28D0 mov edx, [eax+4] ; Get Opcode Data Dword 2 - 0x08600135
.sforce:00BA28D3 add dword ptr [edi+14h], 8 ; Increase EIP
.sforce:00BA28D7
.sforce:00BA28D7 ########## Extract Data for Metaphorsis ################
.sforce:00BA28D7 .
.sforce:00BA28D7 push ecx ; Save Opcode 1
.sforce:00BA28D8 .
.sforce:00BA28D8 mov eax, edx ; Get Opcode 2
.sforce:00BA28DA .
.sforce:00BA28DA shl eax, 4
.sforce:00BA28DD shr eax, 1Dh ; extract bits 28,27,26 - EAX = 04
.sforce:00BA28E0 .
.sforce:00BA28E0 mov ebx, ecx ; Get Opcode 1
.sforce:00BA28E2 .
.sforce:00BA28E2 shl ebx, 5
.sforce:00BA28E5 shr ebx, 1Bh ; extract bits 23,24,25,26,27 - EBX = 0
.sforce:00BA28E8 .
.sforce:00BA28E8 mov ecx, edx ; Get Opcode 2
.sforce:00BA28EA .
.sforce:00BA28EA shl ecx, 7
.sforce:00BA28ED shr ecx, 1Bh ; extract bits 21,22,23,24,25 - ECX = 6
.sforce:00BA28F0
.sforce:00BA28F0
.sforce:00BA28F0 ############## START STREAM/METAPHORSIS ENCODING ##############
.sforce:00BA28F0
.sforce:00BA28F0 or eax, eax
.sforce:00BA28F2 jz short loc_BA2914
.sforce:00BA28F4 cmp eax, 1
.sforce:00BA28F7 jz short loc_BA291A ; EIP STREAM
.sforce:00BA28F9 cmp eax, 2
.sforce:00BA28FC jz short loc_BA2920 ; EIP STREAM
.sforce:00BA28FE cmp eax, 3
.sforce:00BA2901 jz short loc_BA2926 ; EIP STREAM
.sforce:00BA2903 cmp eax, 4
.sforce:00BA2906 jz short loc_BA292B ; EIP STREAM
.sforce:00BA2908 cmp eax, 5
.sforce:00BA290B jz short loc_BA2930 ; DESTINATION STREAM
.sforce:00BA290D cmp eax, 6
.sforce:00BA2910 jz short loc_BA293A ; SOURCE STREAM
.sforce:00BA2912 jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA2914 ; ---------------------------------------------------------------------- -----
.sforce:00BA2914
.sforce:00BA2914 loc_BA2914: ; CODE XREF: sub_BA28C8+2A_j
.sforce:00BA2914 bts [edi+24h], ecx
.sforce:00BA2918 jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA291A ; ---------------------------------------------------------------------- -----
.sforce:00BA291A
.sforce:00BA291A loc_BA291A: ; CODE XREF: sub_BA28C8+2F_j
.sforce:00BA291A btr [edi+24h], ecx
.sforce:00BA291E jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA2920 ; ---------------------------------------------------------------------- -----
.sforce:00BA2920
.sforce:00BA2920 loc_BA2920: ; CODE XREF: sub_BA28C8+34_j
.sforce:00BA2920 btc [edi+24h], ecx
.sforce:00BA2924 jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA2926 ; ---------------------------------------------------------------------- -----
.sforce:00BA2926
.sforce:00BA2926 loc_BA2926: ; CODE XREF: sub_BA28C8+39_j
.sforce:00BA2926 rol byte ptr [edi+24h], cl
.sforce:00BA2929 jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA292B ; ---------------------------------------------------------------------- -----
.sforce:00BA292B
.sforce:00BA292B loc_BA292B: ; CODE XREF: sub_BA28C8+3E_j
.sforce:00BA292B ror byte ptr [edi+24h], cl
.sforce:00BA292E jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA2930 ; ---------------------------------------------------------------------- -----
.sforce:00BA2930
.sforce:00BA2930 loc_BA2930: ; CODE XREF: sub_BA28C8+43_j
.sforce:00BA2930 shl ecx, 5
.sforce:00BA2933 or ebx, ecx
.sforce:00BA2935 mov [edi+0Ch], ebx
.sforce:00BA2938 jmp short loc_BA2944 ; Restore Opcode 1
.sforce:00BA293A ; ---------------------------------------------------------------------- -----
.sforce:00BA293A
.sforce:00BA293A loc_BA293A: ; CODE XREF: sub_BA28C8+48_j
.sforce:00BA293A shl ecx, 5
.sforce:00BA293D or ebx, ecx
.sforce:00BA293F mov [edi+10h], ebx
.sforce:00BA2942 jmp short $+2
.sforce:00BA2944 ###################################################################### ##########
.sforce:00BA2944
.sforce:00BA2944 loc_BA2944: ; CODE XREF: sub_BA28C8+4A_j
.sforce:00BA2944 ; sub_BA28C8+50_j ...
.sforce:00BA2944 pop ecx ; Restore Opcode 1
.sforce:00BA2945 mov ebx, [edi] ; VMRAM/REGISTERBASE Into EBX
.sforce:00BA2947 .
.sforce:00BA2947 mov esi, edx ; Get Opcode 2
.sforce:00BA2949
.sforce:00BA2949 ######### GET DESTINATION REGISTER ###########
.sforce:00BA2949
.sforce:00BA2949 shl esi, 14h ; Decode Source Register
.sforce:00BA294C shr esi, 18h ; Bits 5->12
.sforce:00BA294F add esi, [edi+10h] ; ESI = 0x13 + [EDI+10h] = 0x23 SRC.REG+SRC_STREAM = REG 0x36
.sforce:00BA2952 and esi, 0FFh ; 1 Byte Reg
.sforce:00BA2952
.sforce:00BA2952 ###############################################
.sforce:00BA2958 .
.sforce:00BA2958 mov esi, [ebx+esi*4] ; REG * 4 = REG_D8 + vmbase for location of data
.sforce:00BA295B .
.sforce:00BA295B ######## GET SOURCE REGISTER ##################
.sforce:00BA295B
.sforce:00BA295B mov eax, ecx ; Get Opcode 1
.sforce:00BA295D .
.sforce:00BA295D shl eax, 0Fh ; Decode Destination Register
.sforce:00BA2960 shr eax, 18h ; Bits 10->18
.sforce:00BA2963 add eax, [edi+0Ch] ; EAX = 0x21 + [EDI+0Ch] = 0x15 DEST.REG+DEST_STREAM = REG 0x36
.sforce:00BA2966 and eax, 0FFh ; 1 Byte Reg
.sforce:00BA296B
.sforce:00BA296B ################################################
.sforce:00BA296B
.sforce:00BA296B
.sforce:00BA296B
.sforce:00BA296B
.sforce:00BA296B .
.sforce:00BA296B mov [ebx+eax*4], esi ; !MOV INSTRUCTION! - COPY DATA INTO REG
.sforce:00BA296E
.sforce:00BA296E
.sforce:00BA296E
.sforce:00BA296E
.sforce:00BA296E
.sforce:00BA296E #### Obtain Instruction Index i.e find next instruction ####
.sforce:00BA296E
.sforce:00BA296E mov esi, ecx ; Get Opcode 1
.sforce:00BA2970 .
.sforce:00BA2970 shr esi, 1Bh ; ESI = 13
.sforce:00BA2973 mov ebp, edx ; Get Opcode 2
.sforce:00BA2975 shl ebp, 1Ch
.sforce:00BA2978 shr ebp, 17h ; EBP=0xA0
.sforce:00BA297B or esi, ebp ; ESI = 0xB3, INDEX = 0xB3 !
.sforce:00BA297D
.sforce:00BA297D ##########################################################
.sforce:00BA297D
.sforce:00BA297D ########## Get Index Decrypt Key ####################
.sforce:00BA297D
.sforce:00BA297D mov eax, ecx ; Get Opcode 1
.sforce:00BA297F .
.sforce:00BA297F shl eax, 17h
.sforce:00BA2982 shr eax, 17h
.sforce:00BA2985 and eax, [edi+24h] ; EAX = 0 [EDI+24] = 0x20 0&&0x20 = 0
.sforce:00BA2988
.sforce:00BA2988 ######################################################
.sforce:00BA2988 .
.sforce:00BA2988
.sforce:00BA2988 xor esi, eax ; Index Decrypt with key from opcode, still 0xB3
.sforce:00BA298A
.sforce:00BA298A
.sforce:00BA298A .
.sforce:00BA298A mov eax, [edi+1Ch] ; Get Instruction Table Offset
.sforce:00BA298D mov esi, [eax+esi*4] ; Add our instruction ID*4
.sforce:00BA2990 add esi, [edi+8] ; Add VMBASE
.sforce:00BA2993 jmp esi ; Jmp to Instruction
.sforce:00BA2993 sub_BA28C8 endp

А вот как аспр эмулит mov:

.as_0002:009881EE lea ecx, dword_449CC0[ecx+edx] ; mov ecx, ?
.as_0002:009881F5 add ecx, [esp+18h] ; mov ecx, ?
.as_0002:009881F9 rol ecx, 0CFh ; mov ecx, ?
.as_0002:009881FC lea ecx, [edi+6Fh] ; mov ecx, ?
.as_0002:00988200 jmp short loc_988204
.as_0002:00988200 ; ---------------------------------------------------------------------- -----
.as_0002:00988202 db 0CDh ; =
.as_0002:00988203 db 20h
.as_0002:00988204 ; ---------------------------------------------------------------------- -----
.as_0002:00988204
.as_0002:00988204 loc_988204: ; CODE XREF: .as_0002:00988200j
.as_0002:00988204 lea ecx, [ecx+edx-6Fh] ; mov ecx, ?
.as_0002:00988208 sub ecx, edx ; mov ecx, ?

А теперь попробуй не согласиться, что аспру далеко до старфорса в эмуляции команд
Что касается осталь



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2005 12:19
· Личное сообщение · #30

Что касается остальных вопросов, ты крякер или кто вообще? Залезь с отладчиком и посмотри на этот полиморф, многие вопросы отпадут сами собой.


. 1 . 2 . >>
 [email protected] —› Протекторы —› Метаморф в ASProtect 1.3x
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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