Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Протекторы —› Анализ ASProtect
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >>
Посл.ответ Сообщение

Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 28 марта 2008 15:30 · Поправил: vnekrilov
· Личное сообщение · #1

Я выложил свой первый туториал по анализу ASProtect v2.4 build 12.20 (Анализ подпрограммы эмуляции инструкций.rar http://dump.ru/files/o/o489862518/ ). В этом туториале я подробно описал процесс восстановления эмулированных инструкций типа:
Code:
  1. PUSH 0
  2. PUSH 0CC5850
  3. PUSH 0DB180C
  4. CALL 00CEB814


Полный цикл статей по распаковке ASProtect (Актуальная версия 25 декабря 2009):
ASProtect_Unpacking_Tutorial_2009-12-25.rar http://rapidshare.com/files/325720799/ASProtect_Unpacking_Tutorial_2009-12-25.rar 7,9 МБ
Программы, рассматриваемые в статьях:
ASProtect_Unpacking_Apps_2009-12-25.rar http://rapidshare.com/files/325718084/ASProtect_Unpacking_Apps_2009-12-25.rar 22,2 МБ

Буду благодарен за критику, замечания, пожелания и отзывы.

Скрипты:
Текущая рекомендуемая версия ODBGScript [1.78.3]:
ecf1_03.06.2010_CRACKLAB.rU.tgz - ODbgScript.dll

Последний текущий комплект скриптов [от 19 февраля 2011]:
69ca_18.02.2011_CRACKLAB.rU.tgz - Скрипты для распаковки Asprotect от 19 февраля 2011.rar

Статьи по частям:
Актуальная версия статей [Последняя - 25.11.2010]:
Выпуск 2
0754_29.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 1
2844_29.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 2
8e06_30.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 3
50a0_03.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 4
1b51_05.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 5
0ff8_05.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 5 (продолжение)
a182_06.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 6
82b8_15.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 7
74e4_16.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 8
b2e1_17.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 9
532c_18.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 10
76af_20.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 11
fe67_22.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 12
079c_20.01.2010_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 13
8415_03.06.2010_CRACKLAB.rU.tgz - Распаковка Asprotect - Часть 14
0a66_18.02.2011_CRACKLAB.rU.tgz - Распаковка Asprotect - Части 15 и 16

DriEm конвертировал мой цикл статей в формате PDF, который можно скачать по ссылке --> Link <--



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 22 ноября 2009 13:49
· Личное сообщение · #2

DaRKSiDE, это пусть сам Валентин решит, как автор топа.

-----
.[ rE! p0w4 ].




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

Создано: 22 ноября 2009 16:05
· Личное сообщение · #3

Собрал все в кучу. (8Mb)

Немогу скачать с рапиды, перезалейте



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 22 ноября 2009 16:38
· Личное сообщение · #4

DaRKSiDE пишет:
ИМХО... топ в приват


А зачем в приват? Я писал статьи для того, чтобы как можно больше юзеров пришли к выводу о том, что пакеры составляют проблемы только для новичков. А затем новички становятся профессионалами, по мере накопления опыта. Мне, в этом ракурсе, очень интересно смотреть за работой Pavka. К сожалению, он очень мало пишет статей, но предлагаемые им скрипты - это просто прелесть, видна работа серьезного профессионала.
Поэтому, видимо нет резона переносить топ в приват. Хотя это только мое мнение, и можно по этому поводу посоветоваться.




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 22 ноября 2009 16:40
· Личное сообщение · #5

vnekrilov пишет:
можно по этому поводу посоветоваться

Было б не плохо..

-----
aLL rIGHTS rEVERSED!





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 22 ноября 2009 16:53
· Личное сообщение · #6

DaRKSiDE пишет:
ИМХО... топ в приват


дык, представь, что он уже там и не читай




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 22 ноября 2009 16:59 · Поправил: mak
· Личное сообщение · #7

vnekrilov Выкладывайте тогда уже все =) , даже то что хотели оставить в привате ...

Поправлено - а как насчет цыклической вм ?! Тут было много желающих узнать поподробнее

r_e пишет:
Собрал все в кучу. (8Mb)

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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 22 ноября 2009 17:06
· Личное сообщение · #8

mak пишет:
лучшепоследнего релиза подождать ..


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

mak пишет:
хотя если была бы как бы история изменений и обновления примерно как на открытых сайтах с кодом


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



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 23 ноября 2009 15:30 · Поправил: vnekrilov
· Личное сообщение · #9

Кстати, я немного более глубоко посмотрел на последнюю версию Asprotect v2.51 SKE build 09.22. Разработчики опять вставляют "бедным" кракерам палки в колеса. Если на протяжении нескольких последних версий своего изделия, они не касались второй VM, которая выполняла эмулированные инструкции ADD, SUB и MOV, то теперь они влезли и сюда. Мало того, что они все время меняют порядок расположения данных об эмулированных инструкциях в массивах данных для первой VM (которая выполняет эмулированные инструкции всех типов), и криптуют первый байт опкода каждой эмулированной инструкции с помощью генератора случайных чисел, который привязан к текущему времени, они теперь и во второй VM начали менять порядок расположения данных об эмулированных инструкциях в массивах данных, и начали изменять проверку типов эмулированных инструкций ADD, SUB и MOV (здесь речь идет о константах к регистрам, какие регистры обрабатываются - BYTE или DWORD, и т.д.). Проверяя работу VM по восстановлению эмулированных инструкций этого типа, я заметил появление непонятных восстановленных инструкций. Чтобы понять причину сбоя, залез в недра их VM, и нашел эту ловушку. Но эта ловушка легко вылечилась, путем записи в скрипт для создания VM нескольких строк, которые патчат VM по восстановлению эмулированных инструкций. Как говорят в народе, на всякую хитрую всегда что-то находится с винтом.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 ноября 2009 18:41 · Поправил: mak
· Личное сообщение · #10

vnekrilov ты будешь это описывать ? Меня интересует vnekrilov пишет:
криптуют первый байт опкода каждой эмулированной инструкции с помощью генератора случайных чисел, который привязан к текущему времени, они теперь и во второй VM начали менять порядок расположения данных об эмулированных инструкциях в массивах данных, и начали изменять проверку типов эмулированных инструкций ADD, SUB и MOV (здесь речь идет о константах к регистрам, какие регистры обрабатываются - BYTE или DWORD, и т.д.).


и вот это
vnekrilov пишет:
порядок расположения данных об эмулированных инструкциях в массивах данных для первой VM


коротко приведи пример если можно ...

Поправленно а ну я туторы еще не смотрел , так как жду последней точки , эти все изменения запутывают , вообщем ждемс

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 23 ноября 2009 19:34
· Личное сообщение · #11

mak пишет:
коротко приведи пример если можно ..


Об этом я писал в части 8 моего цикла статей по Аспру. Но здесь я могу привести пример, который я использовал для Asprotect v2.51 SKE build 09.22:

hex 2.41_0226 2.51_0922

0h D4h 9Dh
1h E0h F7h
2h 4Eh C7h
3h 8Dh E0h
4h 7h F6h
5h 5Bh EBh
6h 5Eh 4Eh
7h 99h DCh
8h C7h F9h
9h FCh D2h
Ah A0h 8h
Bh 49h 57h
Ch 8Bh CDh
Dh 93h 10h
Eh 4Ah D0h
Fh 9Ah 72h

Расположение данных в заголовке массива данных
Параметр 2.41_0226 2.51_0922

DWORD_00h + 00h + 00h
DWORD_04h + 04h + 0Ch Начало блока данных для инструкций MOV, ADD и SUB
DWORD_08h + 08h + 18h Константа для раскриптовки
DWORD_0Сh + 0Сh + 14h ImageBase программы
DWORD_10h + 10h + 10h Начало блока данных для эмулированных инструкций
DWORD_14h + 14h + 08h PID процесса
DWORD_18h + 18h + 04h Число эмулированных инструкций
DWORD_1Ch + 1Ch + 1Ch Идентификатор блока данных

Расположение данных в массиве данных
Параметр 2.41_0226 2.51_0922

DWORD_00h + 00h + 12h
DWORD_04h + 04h + 0Eh
BYTE_08h + 08h + 17h
BYTE_09h + 09h + 05h
BYTE_0Ah + 0Ah + 08h
BYTE_0Bh + 0Bh + 01h
BYTE_0Ch + 0Ch + 16h Применяется для оценки бита
DWORD_0Dh + 0Dh + 0Ah
BYTE_11h + 11h + 00h Применяется для оценки бита для инструкций 66:8B4346
BYTE_12h + 12h + 02h
BYTE_13h + 13h + 03h
BYTE_14h + 14h + 09h Дополнительный первый байт 66:8B4346
BYTE_15h + 15h + 06h Основной первый байт опкода инструкции
BYTE_16h + 16h + 07h
BYTE_17h + 17h + 04h

Массив данных для второй VM (инструкции ADD, MOV и SUB)
Параметр 2.41_0226 2.51_0922

BYTE_00h + 00h + 00h
BYTE_01h + 01h + 0Ch
BYTE_02h + 02h + 05h
BYTE_03h + 03h + 06h
BYTE_04h + 04h + 0Bh
BYTE_05h + 05h + 07h
BYTE_06h + 06h + 08h
BYTE_07h + 07h + 09h
BYTE_08h + 08h + 0Ah
BYTE_09h + 09h + 01h
BYTE_0Ah + 0Ah + 02h
BYTE_0Bh + 0Bh + 03h
BYTE_0Ch + 0Ch + 04h

Порядок выполнения инструкций в подпрограмме второй VM
(Контроль инструкции "CMP BYTE PTR SS:[EBP-1D],??")

Параметр 2.41_0226 2.51_0922
CMP BYTE [EBP-1D],0 00h 05h
CMP BYTE [EBP-1D],6 06h 00h
CMP BYTE [EBP-1D],8 08h 07h
CMP BYTE [EBP-1D],5 05h 04h
CMP BYTE [EBP-1D],9 09h 09h

mak пишет:
ты будешь это описывать ? Меня интересует


Да, об этом я буду писать.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 23 ноября 2009 19:39
· Личное сообщение · #12

Кстати, столкнулся с 1.35 на которой скрипт поиска OEP_SBOEP не работает. Детали не смотрел. Судя по всему не срабатывает бряк. В итоге софт показывает стандартное окно креша.

-----
старый пень




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 24 ноября 2009 07:20
· Личное сообщение · #13

r_e пишет:
Кстати, столкнулся с 1.35 на которой скрипт поиска OEP_SBOEP не работает.


Если не сложно, сбрось эту программу, посмотрю, что происходит. Вообще я этот скрипт делал для того, чтобы бегло посмотреть, какие опции защиты применил разработчик программы. А проходят ли на OEP (SBOEP) другие скрипты?

Да, только сейчас заметил, что в предыдущем посте произошло смещение данных. Первый параметр с приставкой "h" относится к Аспру v2.41 build 02.26, а второй параметр - Аспру v2.51 build 09.22.



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 24 ноября 2009 11:40
· Личное сообщение · #14

r_e пишет:
Судя по всему не срабатывает бряк. В итоге софт показывает стандартное окно креша.

Скинь прогу, дело скорре всего не в скрипте, а в ольке.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 25 ноября 2009 11:52
· Личное сообщение · #15

MasterSoft
Если не ставить DRx в фантоме - то просто не брякается.
Олька в тесте использована стандартная. Рекомендуется другая сборка?

-----
старый пень




Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 25 ноября 2009 15:47
· Личное сообщение · #16

Ну хз, я юзаю ollydbg 1.10 By Mouradpr (арабы). Выложи прогу лучше, все вместе глянем.



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 26 ноября 2009 07:59 · Поправил: vnekrilov
· Личное сообщение · #17

r_e пишет:
Если не ставить DRx в фантоме - то просто не брякается


Посмотри на мой файл .ini отладчика, сопоставь со своим, и найди в чем есть отличия. Возможно, это поможет тебе найти причину. Особенно обрати внимание на раздел в [Plugin PhantOm] в этом файле.

1585_25.11.2009_CRACKLAB.rU.tgz - ollydbg.ini



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 26 ноября 2009 12:03
· Личное сообщение · #18

Дело оказалось в ольге. Сейчас взял версию "OllyDbg v1.0 Themida" - все сработало.
Попутно нашел пару багов у тебя в скриптах. Переписываю один - потом скину.

-----
старый пень




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

Создано: 27 ноября 2009 04:42
· Личное сообщение · #19

Is there any chance to translate those great tutorials to English?



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 27 ноября 2009 05:11
· Личное сообщение · #20

winndy пишет:
Is there any chance to translate those great tutorials to English?


Let's wait updating of articles, and then we will already translate.

Ну статьи-то понятно, а вот интерессно за скрипты кто-нить возьмётся или ну нах?



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

Создано: 27 ноября 2009 08:26
· Личное сообщение · #21

that's good news.
thanks




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 27 ноября 2009 11:48 · Поправил: BoRoV
· Личное сообщение · #22

MasterSoft пишет:
Let's wait updating of articles, and then we will already translate. Ну статьи-то понятно, а вот интерессно за скрипты кто-нить возьмётся или ну нах?

а зачем вообще переводить им, они для нас переводят на русский.... НЕТ, пусть сами как-то мучаются... "спасение утопающего - дело самого утопающего" (с) народная мудрость

-----
Лучше быть одиноким, но свободным © $me





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 27 ноября 2009 12:20
· Личное сообщение · #23

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



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 27 ноября 2009 12:26 · Поправил: Ultras
· Личное сообщение · #24

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

-----
.[ rE! p0w4 ].





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 27 ноября 2009 12:37
· Личное сообщение · #25

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

-----
Лучше быть одиноким, но свободным © $me




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 27 ноября 2009 12:51
· Личное сообщение · #26

MasterSoft пишет:
а вот интерессно за скрипты кто-нить возьмётся или ну нах?

Уже в работе.



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

Создано: 27 ноября 2009 13:13
· Личное сообщение · #27

BoRoV
English is a must couse in school in my country.
But Russian is not.
English is the universal language in the world so far.



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 29 ноября 2009 15:03 · Поправил: Модератор
· Личное сообщение · #28

Сегодня я выложил первую часть второго выпуска из обещанного цикла статей по распаковке Asprotect, к которому приложен первый скрипт - "Поиск OEP (SBOEP)" от 29 ноября 2009 года. В этом скрипте устранены незначительные ошибки, и он приведен в более простой вид (без лишнего загромождения комментариями). Хочу поблагодарить r-e за его дельные советы по поводу доработки скриптов, а также перевод скрипта "Поиск OEP (SBOEP)" на английский язык.

Буду признателен за отзывы, замечания, критику и пожелания.

см. шапку топика



Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 29 ноября 2009 19:52 · Поправил: SVLab
· Личное сообщение · #29

На моей программе после выполнения скрипта в логе показано, что имеется SBOEP, хотя на самом деле OEP на месте.
Code:
  1. NO_SBOEP:
  2. ...
  3. add temp_2,VirtualSize_last_sec
  4. cmp temp_3,temp_2                               // temp_3 больше или меньше значения temp_2?
  5. ja NO_SBOEP_1 
  6. ...
  7. NO_SBOEP_1:
  8. eval "eip < 0{temp_3}"                          // Получаем условие cnd, при котором оно будет TRUE
  9.  
  10. NO_SBOEP_2:
  11. ticnd $RESULT                                   // Трассируем into calls до появления условия cnd TRUE
  12. mov temp_1,eip
  13. log temp_1," * OEP: "                           // Записываем адрес OEP в журнал регистрации
  14. jmp exit
  15.  
  16. exit:
  17. ...
  18. log_SBOEP:
  19. cmp temp_2,0
  20. je log_Call_APIs_Asprotect_SKE
  21. log " + SBOEP!"

В статье здесь, наверное, просто опечатка:
"Адрес 00CB1CBB – это очень интересный адрес", на скрине адрес 00CB1CB8
А здесь адреса совсем другие:
"А затем, начиная от предыдущей найденной инструкции, нам надо найти следующие две инструкции:

00EFFF4E A1 B81CF100 MOV EAX,DWORD PTR DS:[F11CB8]
00EFFF53 894424 04 MOV DWORD PTR SS:[ESP+4],EAX"
Такие несоответствия требуют определенного напряжения мозга для читающего



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

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

Сегодня я выложил вторую часть второго выпуска из обещанного цикла статей по распаковке Asprotect, к которому приложен второй скрипт - "Восстановление таблицы INIT" от 30 ноября 2009 года. Этот скрипт приведен в более простой вид (без лишнего загромождения комментариями).

Буду признателен за отзывы, замечания, критику и пожелания.

SVLab

Спасибо за замечание, исправлю.

2844_29.11.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 2, выпуск 2).rar



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 30 ноября 2009 10:25 · Поправил: vnekrilov
· Личное сообщение · #31

Вдогонку высылаю поправленный скрипт "Поиск OEP (SBOEP)" от 30 ноября 2009 года. В нем исправлен баг при записи опций защиты программы в журнал регистрации OllyDbg.

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

1ebc_29.11.2009_CRACKLAB.rU.tgz - Поиск OEP (SBOEP).osc


<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >>
 eXeL@B —› Протекторы —› Анализ ASProtect
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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