Ребята привет, очень давно не заходил на wasm. Круто, что проект еше жив. Просьба помочь понять чем запакован файл и как его распаковать. RDG.Packer.Detector не смог. Спасибо всем кто откликнется.
В идиале распаковать, чтобы можно было сделать статический анализ запакованого кода, но если подскажите с oep тоже большое спасибо
Спасибо, я разобрался с первым стабом, там действительно простое шифрование кодом через XOR. Расшифровал отдельным скриптом, а операцию XOR занопил. Но такое ощущение, что после первого STUB (по адресу 039F0F80) есть еще какое-то шифрование, с ним пока не могу разобраться. Код (Text): 039F11A1 . E8 00000000 CALL Homework.039F11A6 039F11A6 $ 5D POP EBP 039F11A7 . 81ED A6110100 SUB EBP,111A6 039F11AD . 8DBD 00C00000 LEA EDI,DWORD PTR SS:[EBP+C000] 039F11B3 . 8D9D 08110100 LEA EBX,DWORD PTR SS:[EBP+11108] 039F11B9 . 66:B8 F5EC MOV AX,0ECF5 039F11BD > 90 NOP 039F11BE . 90 NOP 039F11BF . 90 NOP 039F11C0 . 83C7 02 ADD EDI,2 039F11C3 . 3BFB CMP EDI,EBX 039F11C5 .^72 F6 JB SHORT Homework.039F11BD 039F11C7 . 61 POPAD 039F11C8 . 68 800F9F03 PUSH Homework.039F0F80 039F11CD . C3 RETN ; RET used as a jump to 039F0F80 Indy_, спасибо, использовал OllyDump чтобы сохранить расшифрованный файл на диск. Можно еще вопрос, какие техники антиотладки используются и по каким адресам?
SGWW, Я же говорил, примитивный семпл какая есчо антиотладка. Я пол дня автоматикой сегодня крутил семпл, вот там трудности. А это всё примитивное. Твои первые действия на таких семплах - открыть отладчиком, потыкать мышкой точек останова на сервисный интерфейс и запустить. Десяток раз пожать F9 etc и все распаковано, никакого крипта.. не пойму в чём проблема. Вообще суть крэкми в обучении, прокачать скилл, это самостоятельная работа. Зачем просить для этого решение
Indy_, Я его распаковал, антиотладка после распаковки уже. С позиции когда есть знание и большой опыт конечно это все выглядит просто, но когда только начинаешь - это далеко не так. Я не прошу готовое решение, хочу сам разобраться, но когда не понятно с какой стороны подойти к проблеме - банально руки опускаются. Вижу, что есть isDebuggerPresent, но точка остановки на ней не выполняются, видимо что-то еще где-то. В отладчике распакованная программа не работает корректно, а если запускаешь просто в командной строке то всё ок.
SGWW, Для отладчика есть плагины, которые скрывают отладку scylla/titan/hide_там_что_то кучи их. Но всё равно это не нужно. Если начал разбираться, то начинать нужно не с готового/плагов, а все механизмы изучать, по антиотладке в частности. Иначе так и будешь зависеть от пачки софта, тем самым ничего не решишь, так как не знаешь. > Вижу, что есть isDebuggerPresent, но точка остановки на ней не выполняются Эта функция читает переменную системную, она может быть прочитана и напрямую. > В отладчике распакованная программа не работает корректно Пойми, тут такого не достаточно, это ниочём. Нужны конкретные данные.
Победил, была проверка PEB.BeingDebugged flag и вызов ZwSetInformationThread с параметром HideThreadFromDebugger