Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Протекторы —› Анализ ASProtect |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >> |
Посл.ответ | Сообщение |
|
Создано: 28 марта 2008 15:30 · Поправил: vnekrilov · Личное сообщение · #1 Я выложил свой первый туториал по анализу ASProtect v2.4 build 12.20 (Анализ подпрограммы эмуляции инструкций.rar http://dump.ru/files/o/o489862518/ ). В этом туториале я подробно описал процесс восстановления эмулированных инструкций типа: Code:
Полный цикл статей по распаковке 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, который можно скачать по ссылке |
|
Создано: 12 января 2010 19:12 · Личное сообщение · #2 ClockMan пишет: Распарсил я таблицу эспорта kernel32.dll и вытащил ашь 30шт подменных api список прилагаю в аттаче Большое спасибо, за список. Я добавлю его в скрипт. Я еще собираю информацию о такой подмене библиотек: WS2_32.dll заменяется на wsock32.dll, ntdll.dll заменяется на kernel32.dll (это то, что я учел в скрипте) Возможно имеются еще какие-то библиотеки, которые заменяются на аналогичные. Это тоже очень важно. |
|
Создано: 12 января 2010 22:08 · Личное сообщение · #3 Не ntdll.dll заменяется на kernel32.dll, а наоборот. Это называется import forwarding, а список функций из основных длл можно получить, написав несложный парсер. Имейте в виду, что тупо все подряд грести не надо, например, некоторый функции без имени с ординалом из shlwapi ссылаются на user и kernel. Да и вообще особо нет необходимости, вполне можно оставить, как есть. |
|
Создано: 12 января 2010 22:44 · Личное сообщение · #4 |
|
Создано: 13 января 2010 05:06 · Личное сообщение · #5 Archer пишет: Не ntdll.dll заменяется на kernel32.dll, а наоборот. Это называется import forwarding Спасибо за замечание,если нетрудно пусть кто небуть из модераторов поправит мой аттач Archer пишет: некоторый функции без имени с ординалом из shlwapi ссылаются на user и kernel Пускай с сылаются мы та новую таблицу имён пишем а не старую восстонавливаем ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 13 января 2010 06:20 · Личное сообщение · #6 > И второе. Например, если проводить исследование создания протектором Asprotect.dll (а это > оченьинтересный процесс), то без восстановления подпрограмм с эмулированными инструкциями > здесь не обойтись. Ведь разработчики заэмулировали именно те подпрограммы, которые делают > наиболее интересные вещи, и таких подпрограмм в протекторе - около двух десятков. > И третье. Да, написание статей занимает довольно много времени. Но, когда имеется набор скриптов, > то распаковка программы занимает намного меньше времени, чем инлайн. Фак мой мозг! Йа думал мы о деле говорим! И эти люди еще запрещают мне ковырять в носу =) Меня интересует только виртуализация импорта и точки фхода! Ту VM, что защищает саму рантаймовую dll аспра я разобрал за 2 вечера - она не замусорена и однозначно декомпилится в исходные инструкции. На 20 билдов (1.35-1.5, 2.1-2.5) получилось 5 декомпилеров, однотипных, но немного отличающихся друг от друга. Меняю ошкуренные dll на ключи от 1.6 и 2.6, а то у них ребрендинг и снова денег просят. |
|
Создано: 13 января 2010 08:42 · Личное сообщение · #7 |
|
Создано: 13 января 2010 16:08 · Поправил: ClockMan · Личное сообщение · #8 vnekrilov пишет: WS2_32.dll заменяется на wsock32.dll Там всего одна айпи отличается а остальные все одиннаковые по имени,в аттаче я прилагаю этот список и скрипт которым я парсил длл, единнственное что надо учесть это имена бибблиотек, некоторые пишутся большими буквами, а некоторые мелкими поэтому смотрите в memory map cfb1_13.01.2010_CRACKLAB.rU.tgz - import parsing script.7z ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 13 января 2010 23:14 · Личное сообщение · #9 Еще ковыряясь под Вынь 98 я заметил кое-что: Code:
особенно актуально для дельфи-программ |
|
Создано: 14 января 2010 18:08 · Поправил: LoveLab · Личное сообщение · #10 |
|
Создано: 14 января 2010 18:40 · Поправил: Kiev78 · Личное сообщение · #11 |
|
Создано: 14 января 2010 20:51 · Личное сообщение · #12 |
|
Создано: 15 января 2010 11:07 · Личное сообщение · #13 LoveLab пишет: Не пойму что за версия, глянь пожалуйста - что-то не хочет распаковываться. 2.1 build 02.19 Release. Кинь полную ссылку на программу, чтобы ее можно было запустить. Попробую помочь. Vovan666 пишет: А что делать если Ошибка!!! Подготовка к дампированию памяти программы: не найдено свободное место в конце области SBOEP! ? Такое может произойти, если конец области SBOEP содержит менее 24 нолей (скрипт "Восстановление таблицы IAT и вызовов APIs.osc" предусматривает поиск 24 нолей в конце области SBOEP). Если этих нолей меньше 24, то будет показано такое сообщение. Тогда нужно выполнить трассирование скрипта вручную, до строки 1996, вручную найти конец области SBOEP, и ввести найденный адрес в переменную $RESULT (это нужно для поиска таблицы прыжков в SBOEP). И дать возможность отработать скрипту. |
|
Создано: 16 января 2010 16:30 · Поправил: uev61 · Личное сообщение · #14 Сейчас исследую справочник лекарственных средств и столкнулся вот с чем. Я не могу найти указатель на расположение массива данных для эмулированных инструкций. По туториалу у меня не получилось и я поступил так. Я взял бинарную строку вм (60 89 e0 9c 8b 14 24 55 89 e5 ) и выписал точку входа в неё (это адрес 00f768a8 или 00f768a5), но интересно то, что процедур вызова с такими прототипами (call 00f768a8) я не обнаружил. А как известно до этого вызова есть указатель на вм. Подскажите пожалуста Извините если пишу не в ту тему. Всем спасибо. |
|
Создано: 16 января 2010 17:08 · Личное сообщение · #15 uev61 пишет: Сейчас исследую справочник лекарственных средств и столкнулся вот с чем. Сбрось ссылку на программу, или выложи на обменник тот минимум файлов, которые могут запустить упакованный файл. Тогда будет видно, о чем идет речь. uev61 пишет: Я взял бинарную строку вм (60 89 e0 9c 8b 14 24 55 89 e5 ) и выписал точку входа в неё (это адрес 00f768a8 или 00f768a5), но интересно то, что процедур вызова с такими прототипами (call 00f768a8) я не обнаружил. Если это подпрограммы с эмулированными инструкциями в коде программы, то сначала ищется последовательность push xxxxxxxx, push xxxxxxxx, push xxxxxxxx, call xxxxxxxx. Затем на первую инструкцию push xxxxxxxx устанавливается eip (Ctrl+* на вспомогательной клавиатуре), и выполняются все инструкции, с заходом в call xxxxxxxx. Этот call xxxxxxxx выполняется до инструкции RETN, и возвращаетесь на первую инструкцию push xxxxxxxx, вместо которой теперь записана инструкция push 0. Третья инструкция push xxxxxxxx и является указателем на массив данных для эмулированных инструкций этой подпрограммы. |
|
Создано: 16 января 2010 17:44 · Личное сообщение · #16 |
|
Создано: 16 января 2010 23:15 · Личное сообщение · #17 |
|
Создано: 17 января 2010 05:16 · Личное сообщение · #18 LoveLab По ссылке multi-up.com/203795 заберите распакованный файл. Там оказалась заполненной мусорным кодом таблица Импорта, и скрипт для восстановления секции импорта потребовал вручную ввести адрес таблицы Импорта, которая находится перед таблицей IAT, поскольку программа скомпилирована компилятором Delphi. Здесь, кстати, обнаружился баг скрипта по восстановлению секции импорта, когда первой dll идет ntdll.dll (об этом баге писал ClockMan, но мне он раньше не встречался, и я не пофиксил скрипт). После исправления этого бага, я выложу скрипт на форуме. |
|
Создано: 17 января 2010 13:39 · Личное сообщение · #19 |
|
Создано: 18 января 2010 09:55 · Личное сообщение · #20 |
|
Создано: 20 января 2010 14:15 · Личное сообщение · #21 По просьбам читателей данного топика, сегодня я выложил тринадцатую часть второго выпуска из обещанного цикла статей по распаковке Asprotect, в которой рассмотрена распаковка очередной программы, защищенной Asprotect, которая использует сравнительно новые методы проверки CRC, и требует корректировки эмулированных APIs Asprotect. Кроме того, к этой части статьи приложены три скрипта - Восстановление секции импорта (.idata) в распакованных программах.osc, Поиск областей со Stolen Code и восстановление в них эмулированных инструкций.osc и Устранение проверки целостности кода (CRC) программы.osc от 18 января 2010 года, в которых устранены некоторые ошибки, и расширены их возможности. Буду признателен за отзывы, замечания, критику и пожелания. 079c_20.01.2010_CRACKLAB.rU.tgz - Распаковка Asprotect (часть 13, выпуск 2).rar |
|
Создано: 20 января 2010 16:08 · Поправил: Coderess · Личное сообщение · #22 |
|
Создано: 21 января 2010 11:29 · Поправил: foxyc · Личное сообщение · #23 Вот что у меня получилось: не могу понять из-за чего секция с украденным кодом (.aspr) заполняеться нолями? оригинальный файл программы: установочный файл: ASProtect 2.4 build 04.01 Beta :UPD: перезалил на multi-up |
|
Создано: 21 января 2010 16:12 · Личное сообщение · #24 |
|
Создано: 21 января 2010 20:44 · Личное сообщение · #25 vnekrilov уже смотрел ? ... у меня с налета неполучилось вчера анпакнуть , тоже интересный случай , кроме того там еще ВМ есть на одном из файлов на эдиторе .... и нули эти собственно тоже там. Ты не хочешь сделать Часть посткриптум ...то есть ты не пишешь новую статью ...а ты берешь публичный вопрос отсюда , овет на него , типо выход из ситуации , как практический дневник. То есть его можно один постоянно дополнять вопросами. Типо ФАК ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 22 января 2010 01:30 · Личное сообщение · #26 DrGolova пишет: Меняю ошкуренные dll на ключи от 1.6 и 2.6, а то у них ребрендинг и снова денег просят. Не могли бы вы предоставить пруфлинки существования версии 1.6? 2.6 была альфой, потом они её переименовали обратно в 2.5. Может и есть какие-либо кастомные билды, которым они дали версии 1.6 и 2.6, но купить это точно не реал (в смысле в обычной поставке). Это за отдельные деньги делается запрос на кастомизацию. |
|
Создано: 22 января 2010 08:11 · Личное сообщение · #27 mak пишет: Ты не хочешь сделать Часть посткриптум ...то есть ты не пишешь новую статью ...а ты берешь публичный вопрос отсюда , овет на него , Не вопрос. Я вообще так и решил это сделать. Единственное, что я всегда спрашиваю - то это разрешение на использование выложенной программы для туториала. Поэтому посмотрю этот материал. |
|
Создано: 22 января 2010 14:45 · Поправил: vnekrilov · Личное сообщение · #28 На обменнике foxyc Посмотрел твой дамп. Во-первых, почему-то у тебя получился маленький размер секции .aspr - 1000 байтов. У меня он был 2000 байтов. Во-вторых, в дампе не исправлены прыжки из области кода в секцию .aspr. Здесь нужно учесть, что код программы расположен в двух секциях. Причем прыжок на SBOEP выполняется со второй секции, а все остальные прыжки - из первой секции. Поэтому, нужно скрипт для перенаправления прыжков запускать на дампе программы - дважды. И, по отдельности сохранять первую и вторую секции кода. |
|
Создано: 22 января 2010 14:48 · Личное сообщение · #29 |
|
Создано: 22 января 2010 15:00 · Личное сообщение · #30 |
|
Создано: 05 февраля 2010 19:07 · Личное сообщение · #31 Скажите пожалуста, а скрипты всё так же актуальны для новой версии (2.51 build 09.22 Beta)? При распаковке другой програмы с такими же опциями защиты(и от того же производителя софта), но на которой версия аспра (2.4 build 04.01 Beta), проблем не было, программа нормально запускалась и работала. А вот при снятии прота (2.51 b09.22) с проги, дамп никаких ошибок не выдает, главное окно программы не появляется, а тупо висит в памяти с загрузкой процессора 99%... вот программа (необходимый минимум)www.multiupload.com/0RIRHQ8LBE вот мой дамп www.multiupload.com/RYMLUWJOJM |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >> |
eXeL@B —› Протекторы —› Анализ ASProtect |