Привет всем. Хочу получить ценный урок об распаковке, развеять некоторые вопросы по этой теме. Сразу скажу, эта тема для меня полна загадок, обычно у меня имеются хоть какие-то догадки, но сейчас в полном непонимании в этой области, прошу не реагировать радикально, благодарю) Итак, начитавшись википедии, переводов Нарвахи, хабра и прочих источников понял следующее, на сколько верно - прошу поправить: "Протекторы-упаковщики - ПО, цель которого усложнить обратную разработку определенного программного продукта" И тут же практика показывает, что все упаковщики падают рано или поздно, даже тот случай с защитой игры из серии assassins. В чем тогда польза от этих самых упаковщиков, если их защита не спасает от подобного? Где я могу получить практику по теме распаковки, хотя бы базовую, но подходящую под современную ОС, да и вообще, имеющую хоть что-то общее с современными упаковщиками? На днях читал краклаб, уф... Похожу, упаковщику я пришелся не по вкусу Spoiler: ASPacker Вот мои настройки В итоге PEiD говорит, что нет никакой упаковки, код идентичен незапакованному... Так же пытался попробовать с упаковщиком Orien 2.12, но там все еще хуже, ни упакованная программа, ни упаковщик не запустились ни на XP, ни на Win7, пришел к выводу, что это уже очень древняя вещь... А вот VMProtect порадовал, упаковывает. Скажите, он актуален еще?) Без функции скрытия OEP довольно просто, может быть даже удастся познать суть дела) Господа, что посоветуете прочесть, посмотреть из этой области, чтобы не носить тяжкую ношу программирования из древних 2000х годов?
Благо, и одновременно беда ОС от Микрософт, что они с каждой новой версией "подметают" (объявляют deprecated, устаревшими, нерабочими) фишки, которые уже начали пользоваться популярностью. Нет универсальных пакеров* (т.к. архитектурно они используют именно эти "фишки", которые становятся нерабочими впоследствии), которые будут работать на всех версиях ОС от МС корректно. Упрощая, пакер (навесная защита) нужен чтобы оттянуть время от релиза той же игры, чтобы успеть получить хоть какой-то профит с ее продаж, до тех пор, пока ее "сломают". * UPX - работает во всех версиях. но это именно пакер, без наворотов.
Глава 34 Распаковка вручную UPXа и восстановление IATа Использование PE Tools для снятия дампа Как восстановить IAT? Глава 35 Распаковка ASPack 2.12 Использование OllyDump для получения дампа Использование Import REConstructor’а для восстановления IATа Глава 36 Распаковка Crunch 5.0.0 (Bit-Arts) Распаковка tElock 0.98b1 Переадресовочные элементы IATа Глава 37 Способы восстановления переадресовочных элементов IATа Метод восстановления вручную Использование функции условного трассирования Olly Использование плагинов Import REConstructor’а Использование трассировщиков, встроенных в Import REConstructor Использование ключевых переходов JMP/CALL Глава 38 Распаковка Yoda’s Protector 1.3 (Yoda’s Crypter) Глава 39 Распаковка PELock 1.06.d (1-я часть) Собственное логирование исключений Начало темы об украденных байтах Как узнать, были ли украдены байты? Возвращение украденных байтов с помощью Binary copy / Binary paste Украденный код Глава 40 Баг обработки исключений в OllyDbg Плагин OllyScript 0.92 Скрипт сокрытия HBP для PELock, tElock и пр. Глава 41 Распаковка PELock 1.06.d (2-я часть) Разновидности антидампа Борьба с антидампом, создающим секции во время распаковки Добавление в дамп секции, созданной во время распаковки Ссылка на метод, предложенный marciano Глава 42 Распаковка ACProtect 1.09g.f со всеми опциями защиты (1-я часть) Рассмотрение отладочных регистров в структуре CONTEXT Поиск OEP с помощью скрипта, скрывающего аппаратные брейкпоинты Восстановление украденных байтов Глава 43 Распаковка ACProtect 1.09g.f со всеми опциями защиты (2-я часть) Восстановление IATа с помощью скрипта IAT.txt Глава 44 Распаковка ACProtect 1.09g.f со всеми опциями защиты (3-я часть) Возврат украденных байтов и OEP Борьба с антидампом Как сделать вставку, если секция, которую нужно создать, занята (дополнение к главе 44) Сноска 1 Глава 45 Распаковка ReCrypt 0.80. (Этот крэкми в Olly не запускается, поэтому Рикардо показал методы, обычно помогающие добиваться запуска в отладчике.) Другой метод распаковки с использованием утилит Estricnina и Pokemon AntiAttach. (Дополнение, написанное Arapumk’ом о другом способе атаки этого упаковщика. Показан альтернативный метод, к которому мы не привыкли.) Глава 46 Программа с собственной защитой Patrick.exe (1-я часть) Проверка запустившей крэкми программы (API-функция Process32Next) Разрешение конфликта с HideOD Проверка модулей Explorer.exe (API-функция Module32First) Проверка пути до Explorer.exe (API-функция GetWindowsDirectory) Обфускация для сокрытия кода в листинге Получение пути крэкми (API-функция GetModuleFileName) Проверка наличия другого процесса крэкми (API-функция CreateMutex) Создание второго процесса крэкми (API-функция CreateProcess) Разрешение конфликта с HideOD Глава 47 Программа с собственной защитой Patrick.exe (2-я часть) Остальные защиты и способы их обхода Запуск Patrick.exe в Olly без проблем Метод логировки API-функций, используемых программой Глава 48 Распаковка PeSpin 1.3.04.f (1-я часть) Возврат украденных байтов Глава 49 Распаковка PeSpin 1.3.04.f (2-я часть) Восстановление IAT Борьба с антидампом Глава 50 Распаковка ReCrypt 0.80 API-функция OutputDebugString Глава 51 Распаковка ASProtect 2.3.04.26.a (1-я часть, системные драйверы SYS) Плагины OllyBone и Weasle Функционирование OllyBone Обсуждение проблемных моментов этой главы: Сноска 2, Сноска 3 Глава 52 Распаковка ASProtect 2.3.04.26.a (2-я часть) Ликвидация переадресации с помощью скрипта Hiei Глава 53 Распаковка TPPpack (альтернативный вариант) * Поиск OEP и возврат украденного кода с помощью 1-го скрипта Ulaterck’а Восстановление IAT с помощью 2-го скрипта Ulaterck’а * Рикардо сначала приводит объяснение по туториалу Ulaterck’а, затем (о восстановлении IAT) — по туториалу Marciano (конкурс 97, уровень 4). Глава 54 Распаковка ExeCryptor 2.2.50.a с максимальным сжатием ресурсов/кодов/данных, без защиты (1-я часть) Использование TLS callback (способы поиска с помощью различных утилит) Глава 55 Распаковка ExeCryptor 2.2.50.a с максимальным сжатием ресурсов/кодов/данных, без защиты (2-я часть) Написание скрипта для восстановления IATа Дамп Глава 56 Распаковка ExeCryptor 2.2.50.b Работа с потоками Написание скрипта для восстановления IATа Дамп Глава 57 Распаковка ExeCryptor 2.2.50.c/d/e/f/g Использование нароботок из предыдущих глав об ExeCryptor Распаковка ExeCryptor 2.2.50.c с включенной опцией "Kill Registry/File monitors" Распаковка ExeCryptor 2.2.50.d с включенной опцией "Debug messages" Распаковка ExeCryptor 2.2.50.e с включенной опцией "Active watch" Распаковка ExeCryptor 2.2.50.f с включенной опцией "Patch protection" Распаковка ExeCryptor 2.2.50.g с включенной опцией "Anti-trace"
Spoiler: цитат Хех, я споткнулся уже на 16-20 уроке, где не удалось запустить дамп из ASP-шного протектора, хорошо, попробую перешагнуть неудачные попытки, благодарю за наводку
LastNoob, я так в детстве "Три мушкетера" читал. Доходил до 10-ой главы и ступор . Потом плюнул, перескочил на 11 главу и так читал до 20-ой, потом вернулся к 10 главе и всё стало понятно
Так, так, а теперь можно конкретнее? Давно заходил на ваш ресурс, чтобы скачать файлы для книги, ну там крашхеад - первая подопытаня программы, но видео не находил, где оно, если не секрет?) Да, так и поступлю, раньше казалось, что каждая глава базируется на предыдущей
Тоже интересует эта тема. Слышал что лучший упаковщик это PRIVATE EXE PROTECTOR но он кроет только натив. Но видел как им кроют и C#
Интерес и интрига быстро спадёт на первой встрече с виртуальной машиной, тем же вмп. Без автоматики это нельзя даже сдампить никак(у вмп более GB мусорный цикл, для его выделения нужны сложные инструменты), не говоря уже про выделение логики работы или какую то иную работу с вм-кодом. Протекторы без вм годятся лишь как обучалка, что бы их потыкать в отладчике и ознакомиться поверхностно с простейшими механизмами защиты.
А каким был ваш переход, от ручного к автоматике? Как, на какой задаче? Мгновенно что-то торкнуло, после долгих хождений вокруг до около, или размазано во времени?
Можно хоть 1 пример? Я помню только удаление winlogon-api (GINA), но к пакерам это никак не относится. Как мне кажется, наоборот, майкрософт поддерживает всяческие старые фишки, еще с 95 винды.