Сейчас на форуме: (+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 <--



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

Создано: 01 декабря 2009 02:03
· Личное сообщение · #2

vnekrilov
Было бы интересно узнать универсальный способ быстрого нахождения всех криптованых кусков в проге



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

Создано: 01 декабря 2009 09:08
· Личное сообщение · #3

Сегодня я выложил третью часть второго выпуска из обещанного цикла статей по распаковке Asprotect, в которой описан процесс восстановления таблицы IAT и вызовов эмулированных APIs. К этой части не приложен скрипт "Восстановление таблицы IAT и вызовов APIs.osc", поскольку мной еще не рассмотрены вызовы APIs Asprotect, которые будут рассмотрены в 4-й части. К этой 4-й части и будет приложен этот скрипт.

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



Ранг: 42.9 (посетитель), 33thx
Активность: 0.040
Статус: Участник

Создано: 02 декабря 2009 11:30 · Поправил: Konstantin
· Личное сообщение · #4

vnekrilov
При распаковке программы скриптом "Восстановление таблицы IAT и вызовов APIs" наткнулся на такую ошибку:

Искал метку "run_programm" в скрипте, но так и не нашел.

В этом же скрипте распаковывая старую версию USBSafelyRemove_3.3.0.613 наткнулся на следующее сообщение:

Версия аспра на этой проге:

Старая версия скрипта работает нормально.

В скрипте "Поиск прыжков из кода в область Stolen Code и восстановление эмулированных инструкций" определение imagebase распаковываемой программы привязано к текущему eip. Поэтому если oep программы украден, то текущее значение eip(после применения скрипта "Восстановление таблицы IAT и вызовов APIs") находится вне секции кода программы. Поэтому если после скрипта "Восстановление таблицы IAT и вызовов APIs" сразу запустить скрипт "Поиск прыжков из кода в область Stolen Code и восстановление эмулированных инструкций" то он будет работать не корректно.



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

Создано: 02 декабря 2009 12:35
· Личное сообщение · #5

Konstantin пишет:
наткнулся на такую ошибку


К 4-й части статьи будет приложен откорректированный скрипт "Восстановление таблицы IAT и вызовов APIs". Немного подождите.

Konstantin пишет:
определение imagebase распаковываемой программы привязано к текущему eip.


plugin ODbgScript ImageBase модуля считывает из PE-заголовка, и правильно его указывает - 00400000. Поэтому, имется ли у программы OEP или SBOEP, это роли не играет. Кроме того, скрипт "Поиск прыжков из кода в область Stolen Code и восстановление эмулированных инструкций", в начале своей работы, считывает основные параметры из файла "main_parameters.bin". Может быть я не понял вопроса?



Ранг: 42.9 (посетитель), 33thx
Активность: 0.040
Статус: Участник

Создано: 02 декабря 2009 13:02 · Поправил: Konstantin
· Личное сообщение · #6

Поэтому, имется ли у программы OEP или SBOEP, это роли не играет.

Этот вопрос снят, я ступил.



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

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

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

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

50a0_03.12.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 4, выпуск 2).rar




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

Создано: 04 декабря 2009 03:48
· Личное сообщение · #8

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

Я так понимаю что в линейке 2.4 build ХХ.ХХ этого не было. Иначе бы один бинарник прививки не подошёл подряд к трём разным версиям , в четырёх ипостасях.
//итого 12.

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




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

Создано: 04 декабря 2009 07:50
· Личное сообщение · #9

Bronco пишет:
Я так понимаю что в линейке 2.4 build ХХ.ХХ этого не было. Иначе бы один бинарник прививки не подошёл подряд к трём разным версиям


К сожалению, было! А бинарник подходит подряд к разным версиям прота потому, что я корректирую код этого бинарника применительно к каждой программе, для чего и создал специальный скрипт "Создание кода VM, используемой для восстановления эмулированных инструкций в области кода.osc". Эта тема, кстати, и будет описана в пятой части второго выпуска цикла статей.




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

Создано: 04 декабря 2009 08:24
· Личное сообщение · #10

vnekrilov пишет:
в пятой части второго выпуска цикла


определенно надо будет делать один архив




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

Создано: 04 декабря 2009 10:21
· Личное сообщение · #11

vnekrilov, бинарник скоректирован один раз. Программа одна, только за месяц обновилась три раза, версию линкуют в четырёх вариантах. Уже к восьми билдам бинарник подошёл, ну в смысле эмулируемые участки кода восстановлены корректно.

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




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

Создано: 04 декабря 2009 21:03 · Поправил: vnekrilov
· Личное сообщение · #12

Bronco пишет:
бинарник скоректирован один раз.


Я тогда хочу уточнить, о чем идет речь? Если об эмулированных инструкциях в Asprotect.dll, то там ничего пока не изменилось, и бинарник работает на всех версиях. А если идет речь об эмулированных инструкциях в области кода программы, то там неоткорректированный бинарник работать не будет, потому что меняется закриптовка первого байта опкода, расположение данных в заголовке массива, расположение данных в самом массиве, и т.д.

Здесь я привожу раскриптованные, но зашифрованные hex-значения первого байта опкода эмулированных инструкций из разных версий Asprotect для эмулированных программ в области кода:

hex 2.41_0226 1.41_0401 1.50_0401 1.51_0922 2.41_0401 2.51_0922
0 D4h 17h FAh D7h EBh 9Dh
1 E0h 55h 96h 0Ah A7h F7h
2 4Eh 85h 57h 69h 8Bh C7h
3 8Dh EBh 75h D9h 13h E0h
4 07h 01h C4h FBh E0h F6h
5 5Bh 2Fh 42h EBh 73h EBh
6 5Eh AAh 97h 14h 02h 4Eh
7 99h 97h 50h B7h 57h DCh
8 C7h 40h 30h C0h BFh F9h
9 FCh 72h 5Ch 2Eh 19h D2h
A A0h 73h 47h B9h F3h 8h
B 49h 7Ch A5h ACh 3Ch 57h
C 8Bh B1h 73h 40h A2h CDh
D 93h D9h B7h 30h C1h 10h
E 4Ah 03h 9Ah D4h 43h D0h
F 9Ah C9h B9h 99h 46h 72h

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




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

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

vnekrilov, в сорцах разноплановой приблуды, общего между билдами на 90 %, и возможно общий проект для защиты, но мап_файл по любому разный, так как на выходе размеры у билдов разные, как и целевой функционал. Маркеры для эмуляции кода процедур в приложении, раставлены в разных участках общего исходного кода.
Бинарник прививки, который ты мне выслал, к моему приятному удивлению, отработал положительно на всех билдах.

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




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

Создано: 05 декабря 2009 17:05
· Личное сообщение · #14

Сегодня я выложил пятую часть второго выпуска из обещанного цикла статей по распаковке Asprotect, к которому приложено несколько скриптов (для создания файла Asprotect.dll, эмуляции APIs Asprotect, вызываемых из кода программы и устранения проверок целостности кода (CRC) в программе), базовая Asprotect_241_0226.dll и VM_Machine_main_code.exe (VM для восстановления оригинального кода эмулированных инструкций в коде программы). К сожалению, из-за ограничений аттача, сюда не вошла Asprotect_251_0922.dll, которая будет приложена к шестой части второго выпуска цикла статей.

Для сведения, на форуме RU-BOARD учатсник JbBaD выложил дистрибутив Asprotect v2.51 SKE build 09.22, который я рассматриваю в этом цикле статей. Его можно скачать по ссылке, которая указана в разделе "Редактировать".

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

1b51_05.12.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 5, выпуск 2).rar



Ранг: 116.5 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 05 декабря 2009 17:59 · Поправил: Valemox
· Личное сообщение · #15

vnekrilov пишет:
учатсник JbBaD выложил дистрибутив Asprotect v2.51 SKE build 09.22, который я рассматриваю в этом цикле статей

Чот облазил все там ничо не нашел про аспр. Где взять этот билд прота для наглядности?
ADD
tihiy_grom, СПС, потри хоть ссыль для правильности...



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

Создано: 05 декабря 2009 18:08 · Поправил: Модератор
· Личное сообщение · #16

Valemox
Аспр СКЕ 2.51


ADD
Valemox

я какбы дал ссылку на топик по ASProtect, а не конкретно на ту версию прота



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

Создано: 05 декабря 2009 19:45 · Поправил: vnekrilov
· Личное сообщение · #17

Сегодня я выложил шестую часть второго выпуска из обещанного цикла статей по распаковке Asprotect, к которому приложен скрипт для корректировки VM, которая восстанавливает оригинальный код эмулированных инструкций, и файл Asprotect_251_0922.dll, который не вошел в пятую часть второго выпуска цикла статей.

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

Valemox

Ссылка на аспр - http://www.plunder.com/aspr251b-zip-download-1634c5cbf9.htm

d398_05.12.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 6, выпуск 2).rar



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

Создано: 06 декабря 2009 04:52
· Личное сообщение · #18

Мной, к сожалению, при написании продолжения части 5 второго выпуска цикла статей допущены две ошибки:

1. Дважды повторяется номерация некоторых разделов.
2. В конце я написал "До встречи в седьмой части" и "Конец части VI".

Хотя эти ошибки и не влияют на текст статьи, но они досадные, и указывают на мою невнимательность. Я хочу поблагодарить SVLab за указание на эти ошибки. Ведь я планирую, после завершения написания всего цикла статей, все объединить в один флакон. Поэтому, чем больше будет замечаний, тем будет лучше.

Я прикладываю к этому топику исправленное продолжение 5-й части второго выпуска. Замените им статью "Распаковка Asprotect (часть 6, выпуск 2)".

0ff8_05.12.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (продолжение части 5, выпуск 2).chm




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

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

почти в каждой части есть 1-2 картинки, которые растянуты и соответствено изображение искаженно/размыто, это можно будет попровить, или это так и нужно?

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




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

Создано: 06 декабря 2009 18:32
· Личное сообщение · #20

BoRoV пишет:
почти в каждой части есть 1-2 картинки, которые растянуты и соответствено


Уточни, о чем идет речь? У меня все картинки отображаются нормально. Я ничего не размывал, и не растягивал. И такое встречается у всех?




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

Создано: 06 декабря 2009 18:52
· Личное сообщение · #21

c1_1 - в части 1
с3_1, с3_2 - часть 3
с5_1 - часть 5
с51_1 - дополнение части 5

а также в 5 части написано
Code:
  1. Приложения:
  2. ...
  3. 7.      Файл подопытной Asprotect.dll -  “Asprotect_251_0922.dll”.
  4. ...

но при этом там нет этого файла, а он есть в статье-дополнении в которой снова написан этот файл

bb81_06.12.2009_CRACKLAB.rU.tgz - pict.7z

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




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

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

BoRoV

Понял. Такое появляется, когда я вписываю текст, или делаю стрелки в Quick Screen Capture. Мне эта программа нравится, поскольку она небольшая по размеру, и с ней удобно работать. Может быть кто-то подскажет небольшой, и удобный графический редактор?

BoRoV пишет:
но при этом там нет этого файла,


Я же писал, что из-за ограничений аттача был вынужден прикрепить этот файл отдельно, к продолжению 5-й части.



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 06 декабря 2009 19:12 · Поправил: SReg
· Личное сообщение · #23

vnekrilov пишет:
Понял. Такое появляется, когда я вписываю текст, или делаю стрелки в Quick Screen Capture

vnekrilov пишет:
Может быть кто-то подскажет небольшой, и удобный графический редактор?


FastStone Capture
пример со стрелочками - см.аттач Изображения не так размываются...


39b9_06.12.2009_CRACKLAB.rU.tgz - 2009.jpg



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

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

vnekrilov
Думаю, это не совсем то. То, что ты рисуешь, отображается нормально. А вот те, у которых уменьшен размер..., в CHM есть по две такие картинки - одна исходного размера в GIF, другая уменьшенная в JPG, в исходном HTML прописан JPG, качество которого, конечно, не ахти. По-моему, это WORD пытается уместить на страницу широкие картинки и ужимает их.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

У меня вопрос по инлайн патчу. Допустим, я решил пропатчить запакованный файл, где искать проверки контрольных сумм, как их обойти, что можно почитать, и чтобы это что-то было актуально для новых версий аспра, таких как 2.4. SKE?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 06 декабря 2009 19:57
· Личное сообщение · #26

Читай все статьи из "RAR-cтатьи ", они актуальны и для 2.4



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

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

SVLab пишет:
о-моему, это WORD пытается уместить на страницу широкие картинки и ужимает их.


Ты прав. Спасибо за подсказку.



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

Создано: 07 декабря 2009 06:49 · Поправил: vnekrilov
· Личное сообщение · #28

Я выложил 6-ю часть из второго выпуска данного цикла.

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



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

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

И вдогонку, к этому топику. В скрипте "Восстановление секции импорта (.idata) в распакованных программах.osc" я ввел проверку определения имени библиотеки или APIs, поскольку они не всегда определяются отладчиком. pavka подсказал такое решение этой проблемы: перед запуском этого скрипта надо открыть карту памяти программы в отладчике, нажав кнопку "М". После этого все имена библиотек и APIs, как правило, определяются. Я откорректировал скрипт и материал в статье с учетом подсказанного решения, и удалил ссылку на архив из предыдущего топика. В ниже приведенном аттаче находятся откорректированные статья и скрипт.


a182_06.12.2009_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 6, выпуск 2).rar




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

Создано: 07 декабря 2009 09:01
· Личное сообщение · #30

Для того чтобы обновить список длл в памяти в скрипте есть команда refresh. Попробуй добавить её перед определением имен.



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

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

Nightshade пишет:
Для того чтобы обновить список длл в памяти в скрипте есть команда refresh. Попробуй добавить её перед определением имен


Спасибо за подсказку, проверю!


<< 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 » Выход » ЛС
   Для печати Для печати