Актуальная тема 32-битной отладки в windows 64-битком?

Тема в разделе "WASM.HEAP", создана пользователем trsoft, 18 июл 2018.

Метки:
  1. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Я человек новый и хотел бы сначала узнать мнение этого форума, тк екзелабе.ру мою тему удалили. Сейчас повсеместно ставят 64-битные операционки, отладка идет с косяками, через некоторое время туториалы Рикардо Нарвахо станут классической литератоурой без практического применения.
    Может быть модераторы кряклкаба правы, тк там может быть университет, а я со своими 2*2 =4.

    Введение в крэкинг с помощью OllyDbg 1.1 в Windows 7 x64
    Создано: 16 июля 2018 03:08
    Цитата · Личное сообщение · Правка · Стереть #1
    Это информация будет полезна для начинающих крэкеров.
    Надо отметить, что часть примеров из туториала нельзя выполнить в x64.
    Глава 34 - Ручная распаковка UPX'a и восстановление IAT

    Самый лучший вариант - это изучать и запускать все примеры в 32-
    разрядной Windows. Но по целому ряду причин, на все новые компьютеры с 8-16 Гб памяти
    пользователи устанавливают 64-битные операционные системы, а виртуальные машины создают дополнительные трудности.
    Итак, запускаете OllyDbg 1.1. Дебагер должен запуститься без ошибок.
    Если выскакивают сообщения об ошибках, для начала отключите все плугины.
    Приведу список плагинов, проверенных в Windows 7 x64:
    CmdBar.dll
    Cmdline.dll } взяты из туториала
    OllyDump.dll
    PhantOm.dll (вместо HideDebugger.dll и HideOD.dll)

    Если дебагер запускается с ошибками, вы можете запустить его в режиме совместимости с Windows XP SP3 и использовать для поиска серийных номеров. Для распаковки программ этот вариант не подходит, тк Windows 7 x64 запускает программу в безопасной среде и загружает дополнительные библиотеки, такие как, apphelp.dll и тд.
    Эти библиотеки эмулируют часть функций из kernel32.dll и ntdll.dll.
    Конечно, вы можете сравнить импорт в ImpREc d 32- и 64-разрядной ОС и составить таблицу соответствий для каждой API-функции.
    В x64 следует использовать только PhantOm.dll, тк плагины, указанные в туториале, не скрывают дебагер, но определяются навесной защитой. Удалите их из папки плагинов.
    Вместо ImpRec в x64 лучше использовать Scylla_x86.exe, ver 0.9, тк версия ImpRec из туториала не может определить часть api-функций при поиске IAT.
    Scylla_x86.exe, ver 0.9 не видит отлаживаемый процесс в случае запуска дебагера в режиме совместимости.
    PhantOm.dll и Scylla_x86.exe, ver 0.9 можно взять из архива "Исследование кода VMProtect. Часть 1. Патч хешей", автор Djeck.
    Остальное описано в Главе 34.
    Вместо метода PUSHAD часто устанавливают брекпоинт hr esp-4
    Вместо правки OEP в PETools в уже отремонтированном дампе, лучше использовать следующий прием:
    -в Scylla x86 оставляете OEP, указываете VA и раззмер IAT и нажимаете кнопку Get Import (реконструктор IAT сканирует образ программы в памяти).
    - там же после валидации всех элементов IAT, исправляете OEP на исходный, найденный в дебагере, и нажимаете кнопку Fix Dump


    Глава 35 - Распаковка ASPack v2.12

    Набор инструментов и плагинов описан выше.
    Дамп снимается с помощью плагина OllyDump.dll. Метод 2 для
    автовосстановления дает рабочий дамп.
     
  2. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    (Перед тем как опубликовать тему, я попрактиковался до 41 главы, но в виндовс 7 32-бит (на 64-битке все шло со скрипом), а также снял вмпротект по туториалу Джека, не совсем нуб).
     
  3. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Я бы все же поставил в ВМваре винXP32, и пробовал бы в нем. Потому что результат действий, описанный в туториалах, и результат, получаемый, используя не-родную среду для повторения действий, описанных в туториале, отличаются. По своему небольшому опыту - тот же поиск базы Kernel32 будет другим для ОС Виста+. А 64-разрядность добавит подводных камней.

    И потом, ОС в виртуалке угробить - не страшно.
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.788
    trsoft,

    Не правильный подход к задаче. Если в отладчике или есчо где то возникает какая то ошибка, то нужно разобраться и найти её причину, а не менять софт(плагины).

    32-64 разницы особой нет, есть лишь мелкие нюансы типо rip адресации и набора регистров, но зная 86 архитектуру даже не встанет вопрос разницы. В кернел да, адресная трансляция и тп, но это пока вам не нужно.

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

    С чего начать - любая интересная вам задача приведёт к цепочке вопросов и так рекурсивно, на которые вы будите искать ответы. Постепенно вы вольётесь в тему и сможете что то самостоятельно разработать.
     
    _edge нравится это.
  5. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Indy_, я разобрался Olly 1.1. Исходная версия с русификатором. Дебагер падал при открытии любой программы в дебагере.
    1. Заменил dbghelp.dll на последнюю 32-битную версию.
    2. Снял все галочки на вкладкеисключений.
    3. Включил режим совместимости и после того как все запустилось, отменил его. После этого все работает при любых настройках.

    По плагинам, скрывающим отладчик. Если загружены старые плагины, то программы обнаруживают отладчик. Они работают только с флагами 32-разрядной структуры PEB. Фантом работает корректно во всех версиях, т.е. определяет версию и разрядность операционной системы.
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.788
    trsoft,

    Удалите все плагины и сделайте всё вручную.
     
  7. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Глава 38 - Распаковка Yoda's Protector v1.3 (Yoda's Crypter)
    В W7 x64 отличаются все адреса таблицы импорта от указанных в туториале Нарвахо:
    00460ADC 1F 4D 5E 00 24 4D 5E 00 M^.$M^.
    00460AE4 29 4D 5E 00 2E 4D 5E 00 )M^..M^.
    что затрудняет ручной поиск и восстановление IAT.
    Короче, качаете посл. версию ImpRec.1.7e и методом Трейс 1 исправляете все адреса, кроме одной апи-функции из user32, замененной аналогичной из ntdll, правите вручную.
    Ссылка на архив ImpRec.1.7e без пароля выдается гуглом на 1-й странице запроса.
     
  8. trsoft

    trsoft Member

    Публикаций:
    0
    Регистрация:
    18 июл 2018
    Сообщения:
    115
    Интересный ресурс, хотя информация немного устарела http://uinc.ru/articles/
     
  9. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Немного, это на 15лет, увы. Проверьте "Ссылкоподборку", там много всякого. В частности, ссылки на блоги и статьи по ИБ.
     
  10. betrayer

    betrayer Guest

    Публикаций:
    0
    А эти туториалы только для 1 олли, или можно их пройти во второй? Для себя я юзаю 2ую, 1ую в глаза не видел, если честно. Думал, что как бы вторая (логично) как апгрейд первой. Потом где-то видел инфу, что первую и вторую писали разные люди. Где истина?