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

 eXeL@B —› Протекторы —› Анализ ASProtect
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 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 <--




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

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

Jupiter +1
Тоже хочу узнать про возможность восстановления крипто кусков при забаненном ключе
Часто есть ключи от старой версии, но нет возможности снять прот с новой




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 мая 2009 19:33
· Личное сообщение · #3

уточняю: я имею в виду именно забаненный ключ, а не тот случай, когда были изменены приватные ключи (как в случае с самим аспром после релиза ключегенов)

в принципе, в ASProtect SDK описана API, которая проверяет ключ и устанавливает флаг забаненности в случае чего

-----
EnJoy!





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

Создано: 13 мая 2009 20:25
· Личное сообщение · #4

Jupitеr, пробовал патчить эту самую апи или код, отвечающий за проверку?

-----
PSP-Gamer.ru




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

Создано: 13 мая 2009 20:48
· Личное сообщение · #5

Jupiter пишет:
к той же PasswordsPro есть ключи в открытом доступе

А там разве был шифрованный код? [X-Ray] и BoRoV инлайнили эту прогу, но опыта восстановления пошифрованного кода у них нет. А функционал, на сколько я знаю, восстановлен полностью. Пример не очень удачный.




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 13 мая 2009 21:09
· Личное сообщение · #6

В релизе от [X-Ray] и BoRoV
почему-то в поле о прогрмме они изменяют строчку "незарегистрированная Demo-версия"
на свои ники - что наводит на мысль о кривом кряке (убраны ограничения, но не убрана проверка регистрации) так что функционал еще проверять надо....
А лучше и проще анпакнуть с ключом имхо.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 мая 2009 21:25
· Личное сообщение · #7

progopis пишет:
Пример не очень удачный.


пример был выбран не мною
это очевидно, т.к. статья с PasswordsPro в качестве примера была опубликована Валентином до моего поста
единственное ограничение в программе PasswordsPro - это лимит количества импортируемых пользователей (1), который в релизе [X-Ray] и BoRoV успешно обойдён

-----
EnJoy!





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

Создано: 13 мая 2009 21:37
· Личное сообщение · #8

Jupiter пишет:
единственное ограничение в программе PasswordsPro - это лимит количества импортируемых пользователей (1)

это было ограничение прота, но были еще которые не уберались снятием прота

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





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 мая 2009 21:59
· Личное сообщение · #9

в справке к программе сказано именно про ограничение количества импортируемых пользователей:

Demo Version Restrictions
Maximum number of users can be imported: 1.

про другие ограничения (именно ограничения, а не проверки типа наличия рег. имени) мне не известно


LoCo пишет:
пробовал патчить эту самую апи или код, отвечающий за проверку?


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

для аспра 2.x есть API CheckKey, которая заполняют структуру MODE_STATUS
Code:
  1. typedef struct _MODE_STATUS {
  2.      BYTE ModeId;
  3.      bool IsRegistered,
  4.         IsKeyPresent,  
  5.         IsWrongHardwareID,  
  6.         IsKeyExpired,  
  7.         IsModeExpired,  
  8.         IsBlackListedKey,  
  9.         IsModeActivated;
  10.  }MODE_STATUS, *PMODE_STAT
US;

названия полей говорят сами за себя

соответственно, ключ может проверяться и в самой программе тоже

-----
EnJoy!




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

Создано: 13 мая 2009 23:24
· Личное сообщение · #10

Сегодня я выкладываю 14-ю часть из цикла статей по распаковке Asprotect, в которой описана распаковка программы AccessFIX DEMO v5.55. Буду, как всегда, очень признателен за отзывы, замечания, критику и пожелания.


ab30_13.05.2009_CRACKLAB.rU.tgz - Распаковка ASProtect (Часть 14).rar



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

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

Jupiter пишет:
в цикле статей не разобран очень важный момент:
распаковка программы при наличии забаненного ключа


Jupiter Большое спасибо за подсказку. Подготовлю туториал и по этому вопросу.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 14 мая 2009 10:12 · Поправил: Jupiter
· Личное сообщение · #12

и ещё по поводу препарирования PE файла:
секцию ресурсов лучше прикручивать последней, чтобы редактор ресурсов (если прога распаковывалась для перевода, например) не тронул секции, лежащие ниже, как это происходит в случае, когда за секцией ресурсов следуют другие секции

UPD
в догонку:
обычно в документации к проге написано, какие в ней есть ограничения функционала, поэтому лучше сразу это учитывать и проверять соответствующий функционал после распаковки
например, про AccessFIX demo из 14-й части сказано:

The demo edition works exactly as the purchased editions except for the following:
The demo shows a preview of the recovered data but it does not save the file.

-----
EnJoy!




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

Создано: 14 мая 2009 19:44
· Личное сообщение · #13

Сегодня я выкладываю 15-ю часть из цикла статей по распаковке Asprotect, в которой описана распаковка программы Resource Builder. Буду, как всегда, очень признателен за отзывы, замечания, критику и пожелания.

Jupiter пишет:
обычно в документации к проге написано, какие в ней есть ограничения функционала,


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

1411_14.05.2009_CRACKLAB.rU.tgz - Распаковка ASProtect (Часть 15).rar



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

Создано: 14 мая 2009 19:55
· Личное сообщение · #14

Jupiter пишет:
и ещё по поводу препарирования PE файла:
секцию ресурсов лучше прикручивать последней, чтобы редактор ресурсов (если прога распаковывалась для перевода, например) не тронул секции, лежащие ниже, как это происходит в случае, когда за секцией ресурсов следуют другие секции


Это - можно сделать с помощью Resource Binder, прикрутив секцию ресурсов в конец распакованного файла, и заполнить старую секцию ресурсов - нолями. Поставить же секцию с украденным кодом на место секции ресурсов не всегда возможно, поскольку имеются программы, в которых между секцией ресурсов и секцией Asprotect могут быть еще секции файла, которые могут не позволить вставить секцию с украденным кодом. Кроме того, для программ, написанных на Micsoft C++, секцию импорта приходится прикручивать в конец файла, после секции с украденным кодом. Но, в принципе, это можно делать, по желанию человека, распковывающего программу.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 15 мая 2009 06:54
· Личное сообщение · #15

видимо сейчас посыпятся релизы resource builder'a



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

Создано: 15 мая 2009 07:31
· Личное сообщение · #16

Av0id пишет:
видимо сейчас посыпятся релизы resource builder'a


По просьбе читателей, на обменнике multi-up.com/92536 я выложил распакованный файл UnResbldr3.rar. А теперь я, видимо, возьму тайм-аут на пару недель, чтобы осмыслить все ранее написанное, после чего приступлю к написанию сводного туториала. Буду признателен всем, кто напишет, какие аспекты нуждаются в более подробном разъяснении, и где мной были допущены ошибки. Особенно ценным для меня будут выявленные ошибки в работе скриптов, при распаковке разных программ, что позволит выполнить их корректировку.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

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

Jupiter пишет:
секцию ресурсов лучше прикручивать последней

+1
Ёё всегда можно срезать с промежуточного дампа, и прикрутить после восстановленных секций с данными/кодом/iat к рабочему.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




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

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

Валентин, файл просто распакован или дополнительно дешифрованы куски и убраны проверки на снятый аспр?
Просто не работает он и в about твоё имя не пишет.
В EXE на на него даже ссылок нет, хотя само оно есть...

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





Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 15 мая 2009 23:14 · Поправил: Nightshade
· Личное сообщение · #19

vnekrilov
Почему бы не переписать скрипт "Исправление прыжков из области кода в новую секцию файла"
Чтобы если встречались инструкции push - ret исправлять их на jmp на лету?
И будет ли перед сводным тутором тутор по восстановлению крипто кусков с забаненным ключом?
Может кто поделится этой информацией?
Jupiter
У тебя есть сигнатуры для 1.хх и как выглядит примерно CheckKey в 2.xx?



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

Создано: 16 мая 2009 05:06
· Личное сообщение · #20

Ultras пишет:
Валентин, файл просто распакован или дополнительно дешифрованы куски и убраны проверки на снятый аспр?


Я просто распаковал файл, и убрал триальность в 30 дней (эмулировал API Asprotect). Хочу еще раз подчеркнуть, что мной не ставилась цель взлома этой программы, а только снятие протектора.

Nightshade пишет:
Почему бы не переписать скрипт "Исправление прыжков из области кода в новую секцию файла"
Чтобы если встречались инструкции push - ret исправлять их на jmp на лету?


Спасибо за совет, я подумаю, как это сделать.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 16 мая 2009 12:29
· Личное сообщение · #21

resbldr3 - зашифрованые куски не убраны, т.к. нужен ключ, без него никуда




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 18 мая 2009 01:13
· Личное сообщение · #22

Av0id пишет:
нужен ключ, без него никуда

на руборде ужО зарисовали
//считай первый ключ на паблике...

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




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

Создано: 18 мая 2009 01:24
· Личное сообщение · #23

Простите за глупый вопрос.... в ASProtect 1.2 API эмулируются также? Ничто не меняется?




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 18 мая 2009 09:07
· Личное сообщение · #24

апи версии 1.2 подобны 1.3-1.4
проще всего глянуть SDK соответствующей версии

-----
EnJoy!




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

Создано: 19 мая 2009 13:24
· Личное сообщение · #25

Bronco пишет:
Накидал простой скриптец, по минимальной зачистке тыренно_сдампленного кода


Отличная работа!!! Я его присобачил к моим скриптам

Nightshade пишет:
Почему бы не переписать скрипт "Исправление прыжков из области кода в новую секцию файла"
Чтобы если встречались инструкции push - ret исправлять их на jmp на лету?


Приатачиваю откорректированные скрипты для переноса кода из областей со Stolen Code в добавляемую секцию файла.

202e_19.05.2009_CRACKLAB.rU.tgz - Исправленные скрипты для переноса кода из областей со Stolen Code.rar




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 19 мая 2009 13:44
· Личное сообщение · #26

Bronco
Зачем такой код
Code:
  1. je 1
  2. mov eip, $RESULT
  3. fill eip, s, 90
  4. jmp next
  5. 1:
  6. ret

Не проще ли написать
Code:
  1. je 1
  2. fill $RESULT, s, 90
  3. jmp next
  4. 1:
  5. ret

не будет смещаться eip будет быстрее работать в разы

35ec_19.05.2009_CRACKLAB.rU.tgz - мусорный код2.txt



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

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

Bronco пишет:
И ещё...мне кажетЦо что вполне реально тыренный код в выделенке, сразу "фильтровать и сворачивать", а потом уже сохранять в приатаченную секцию.
Надо покумекать как это замутить


Это можно сделать в скрипте "Поиск прыжков из кода в область Stolen Code и восстановление эмулированных инструкций.osc", встроив в него твой код. Но, как мне кажется, его все-таки лучше использовать уже в прикрученной секции .aspr. Я проверил работу скрипта на нескольких программах; он работает великолепно, и очищает код от этих надоедливых прыжков.

Bronco пишет:
//ну типо работы скриптеца не видно, а выигрышь в тайме - мизер

+1




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 19 мая 2009 17:06
· Личное сообщение · #28

Когда я фиксил мусор в Securome скриптом, то скрипт у меня работал минут 30-40
Поэтому привычка оптимизировать скрипты.
Каждому своё.




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

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

при пересчёте он может оказатЦо длинным/коротким:
команда asm насколько я знаю позволяет лепить длинные и короткие команды принудительно
ASM addr, command [,version]
а вот как сворачивать указатели и свитчи - тут надо думать




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 21 мая 2009 02:14
· Личное сообщение · #30

Маски для "фильтации мусора", не должны быть условными. Иначе после "зачистки", будут ошибки по коду.
//подкоректировал скриптец
Побаловался под Олькой, как "свернуть" сдампленный и зачищенный код.
Ну почти... херня.
В сдампленном коде, между адресом усл_перехода и конечным адресом его дистанциии, полно всякого кода из других подпрограмм.
Пересчитывать адреса усл_переходов - безсмысленно....
Хотя "свернуть" код реально, скрипт в аттаче, но все условные переходы лечить только ручками.


97ce_20.05.2009_CRACKLAB.rU.tgz - дурь на ночь.rar

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 21 мая 2009 06:44
· Личное сообщение · #31

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


<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 38 . 39 . >>
 eXeL@B —› Протекторы —› Анализ ASProtect
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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