Просьба помочь понять чем запаковано

Тема в разделе "WASM.CRACK_ME", создана пользователем SGWW, 28 мар 2020.

  1. SGWW

    SGWW New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2020
    Сообщения:
    11
    Ребята привет, очень давно не заходил на wasm. Круто, что проект еше жив.
    Просьба помочь понять чем запакован файл и как его распаковать.
    RDG.Packer.Detector не смог.
    Спасибо всем кто откликнется.
     

    Вложения:

    • crackme.zip
      Размер файла:
      20,8 КБ
      Просмотров:
      480
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Тебе нужно найти именно пакер иль всё же оер?
     
  3. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    EP: 39E173F

    Стаб на асм написан. Ничего не нужно распаковывать, там простой декрипт в памяти.
     
  4. SGWW

    SGWW New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2020
    Сообщения:
    11
    В идиале распаковать, чтобы можно было сделать статический анализ запакованого кода, но если подскажите с oep тоже большое спасибо
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    после операций записи идёт call/jmp to oep.
     
  6. Indy_

    Indy_ Well-Known Member

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

    Отладчиком пройди, пару минут занимает при первом ознакомлении.
     
  7. SGWW

    SGWW New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2020
    Сообщения:
    11
    Спасибо, я разобрался с первым стабом, там действительно простое шифрование кодом через XOR. Расшифровал отдельным скриптом, а операцию XOR занопил. Но такое ощущение, что после первого STUB (по адресу 039F0F80) есть еще какое-то шифрование, с ним пока не могу разобраться.

    Код (Text):
    1. 039F11A1   . E8 00000000    CALL Homework.039F11A6
    2. 039F11A6   $ 5D             POP EBP
    3. 039F11A7   . 81ED A6110100  SUB EBP,111A6
    4. 039F11AD   . 8DBD 00C00000  LEA EDI,DWORD PTR SS:[EBP+C000]
    5. 039F11B3   . 8D9D 08110100  LEA EBX,DWORD PTR SS:[EBP+11108]
    6. 039F11B9   . 66:B8 F5EC     MOV AX,0ECF5
    7. 039F11BD   > 90             NOP
    8. 039F11BE   . 90             NOP
    9. 039F11BF   . 90             NOP
    10. 039F11C0   . 83C7 02        ADD EDI,2
    11. 039F11C3   . 3BFB           CMP EDI,EBX
    12. 039F11C5   .^72 F6          JB SHORT Homework.039F11BD
    13. 039F11C7   . 61             POPAD
    14. 039F11C8   . 68 800F9F03    PUSH Homework.039F0F80
    15. 039F11CD   . C3             RETN                                     ;  RET used as a jump to 039F0F80
    Indy_, спасибо, использовал OllyDump чтобы сохранить расшифрованный файл на диск.
    Можно еще вопрос, какие техники антиотладки используются и по каким адресам?
     
    Последнее редактирование модератором: 30 мар 2020
  8. Indy_

    Indy_ Well-Known Member

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

    Я же говорил, примитивный семпл какая есчо антиотладка. Я пол дня автоматикой сегодня крутил семпл, вот там трудности. А это всё примитивное. Твои первые действия на таких семплах - открыть отладчиком, потыкать мышкой точек останова на сервисный интерфейс и запустить. Десяток раз пожать F9 etc и все распаковано, никакого крипта.. не пойму в чём проблема. Вообще суть крэкми в обучении, прокачать скилл, это самостоятельная работа. Зачем просить для этого решение :sad:
     
  9. SGWW

    SGWW New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2020
    Сообщения:
    11
    Indy_,

    Я его распаковал, антиотладка после распаковки уже.
    С позиции когда есть знание и большой опыт конечно это все выглядит просто, но когда только начинаешь - это далеко не так.
    Я не прошу готовое решение, хочу сам разобраться, но когда не понятно с какой стороны подойти к проблеме - банально руки опускаются.
    Вижу, что есть isDebuggerPresent, но точка остановки на ней не выполняются, видимо что-то еще где-то.
    В отладчике распакованная программа не работает корректно, а если запускаешь просто в командной строке то всё ок.
     
  10. Indy_

    Indy_ Well-Known Member

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

    Для отладчика есть плагины, которые скрывают отладку scylla/titan/hide_там_что_то кучи их.

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

    > Вижу, что есть isDebuggerPresent, но точка остановки на ней не выполняются

    Эта функция читает переменную системную, она может быть прочитана и напрямую.

    > В отладчике распакованная программа не работает корректно

    Пойми, тут такого не достаточно, это ниочём. Нужны конкретные данные.
     
  11. SGWW

    SGWW New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2020
    Сообщения:
    11
    Победил, была проверка PEB.BeingDebugged flag и вызов ZwSetInformationThread с параметром HideThreadFromDebugger