1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Упаковщики, распаковка для новичков

Тема в разделе "WASM.BEGINNERS", создана пользователем LastNoob, 4 авг 2018.

  1. LastNoob

    LastNoob Member

    Публикаций:
    0
    Регистрация:
    28 янв 2018
    Сообщения:
    27
    Привет всем. Хочу получить ценный урок об распаковке, развеять некоторые вопросы по этой теме.
    Сразу скажу, эта тема для меня полна загадок, обычно у меня имеются хоть какие-то догадки, но сейчас в полном непонимании в этой области, прошу не реагировать радикально, благодарю)

    Итак, начитавшись википедии, переводов Нарвахи, хабра и прочих источников понял следующее, на сколько верно - прошу поправить:
    "Протекторы-упаковщики - ПО, цель которого усложнить обратную разработку определенного программного продукта"

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

    Где я могу получить практику по теме распаковки, хотя бы базовую, но подходящую под современную ОС, да и вообще, имеющую хоть что-то общее с современными упаковщиками?
    На днях читал краклаб, уф... Похожу, упаковщику я пришелся не по вкусу
    [​IMG]
    Вот мои настройки
    [​IMG]
    В итоге PEiD говорит, что нет никакой упаковки, код идентичен незапакованному...
    Так же пытался попробовать с упаковщиком Orien 2.12, но там все еще хуже, ни упакованная программа, ни упаковщик не запустились ни на XP, ни на Win7, пришел к выводу, что это уже очень древняя вещь...

    А вот VMProtect порадовал, упаковывает. Скажите, он актуален еще?) Без функции скрытия OEP довольно просто, может быть даже удастся познать суть дела)


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

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    576
    Адрес:
    Russia
    Благо, и одновременно беда ОС от Микрософт, что они с каждой новой версией "подметают" (объявляют deprecated, устаревшими, нерабочими) фишки, которые уже начали пользоваться популярностью.

    Нет универсальных пакеров* (т.к. архитектурно они используют именно эти "фишки", которые становятся нерабочими впоследствии), которые будут работать на всех версиях ОС от МС корректно.

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

    * UPX - работает во всех версиях. но это именно пакер, без наворотов.
     
    LastNoob нравится это.
  3. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.485
    Адрес:
    Россия
    Глава 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"
     
    LastNoob нравится это.
  4. LastNoob

    LastNoob Member

    Публикаций:
    0
    Регистрация:
    28 янв 2018
    Сообщения:
    27
    Хех, я споткнулся уже на 16-20 уроке, где не удалось запустить дамп из ASP-шного протектора, хорошо, попробую перешагнуть неудачные попытки, благодарю за наводку ;)
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    2.765
    01.jpg
    LastNoob,
    я так в детстве "Три мушкетера" читал. Доходил до 10-ой главы и ступор :dash1:. Потом плюнул, перескочил на 11 главу и так читал до 20-ой, потом вернулся к 10 главе и всё стало понятно :)
     
    q2e74 и LastNoob нравится это.
  6. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.485
    Адрес:
    Россия
    Все уроки сняты, всегда можно подсмотреть на видео.
     
  7. LastNoob

    LastNoob Member

    Публикаций:
    0
    Регистрация:
    28 янв 2018
    Сообщения:
    27
    Так, так, а теперь можно конкретнее? Давно заходил на ваш ресурс, чтобы скачать файлы для книги, ну там крашхеад - первая подопытаня программы, но видео не находил, где оно, если не секрет?)
    Да, так и поступлю, раньше казалось, что каждая глава базируется на предыдущей :dance4:
     
  8. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    576
    Адрес:
    Russia
    LastNoob нравится это.
  9. MasterSLIVA

    MasterSLIVA Member

    Публикаций:
    0
    Регистрация:
    10 авг 2018
    Сообщения:
    49
    Тоже интересует эта тема. Слышал что лучший упаковщик это PRIVATE EXE PROTECTOR но он кроет только натив. Но видел как им кроют и C#
     
    LastNoob нравится это.
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    2.530
    Интерес и интрига быстро спадёт на первой встрече с виртуальной машиной, тем же вмп. Без автоматики это нельзя даже сдампить никак(у вмп более GB мусорный цикл, для его выделения нужны сложные инструменты), не говоря уже про выделение логики работы или какую то иную работу с вм-кодом.

    Протекторы без вм годятся лишь как обучалка, что бы их потыкать в отладчике и ознакомиться поверхностно с простейшими механизмами защиты.
     
  11. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    361
    А каким был ваш переход, от ручного к автоматике? Как, на какой задаче? Мгновенно что-то торкнуло, после долгих хождений вокруг до около, или размазано во времени?
     
  12. M0rg0t

    M0rg0t Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    536
    Можно хоть 1 пример? Я помню только удаление winlogon-api (GINA), но к пакерам это никак не относится.
    Как мне кажется, наоборот, майкрософт поддерживает всяческие старые фишки, еще с 95 винды.