Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Give Me Too 2.20 - Взлом и распаковка ORiEN 2.xx

Обсудить статью на форуме

Хорошая подборка видеоуроков, инструментов крэкера, книг и статей - здесь.

Автор: SouL <art_a @ bk.ru>

04.01.04

Tools:
SoftIce 4.05
IceDump 6.026
W32Dasm ver 10 by killer
PEiD 0.9
ImpRec 1.6 FINAL
Hiew
PeTools или LordPe

И как всегда о программе:

Программа анализирует сетевой трафик, перехватывает данные (файлы) передаваемые по протоколу HTTP и сохраняет их на диск. Поддерживается фильтрация по URL, по размеру файлов, по IP адресам. От пользователя требуется только выбрать сетевой интерфейс и задать порт (порты) WEB сервера и/или HTTP proxy. Работает 30 дней + примочки от softice. Взять мона тут

Тронули...

Проверим запакована программа или нет. Я для этих целей использую PEiD - показал он нам "Win32 PE Unknown". Плохо что он нам такое показал. Откроем прогу через petools и посмотри там секции и их названия. И что мы видим - 4 секции:

  • .bss
  • .packed
  • .rsrc
  • .loader

    Не знаю как вам но мне это напомнило ORiEN - тоесть прога наша запакована ORiEN 2.x. Ну что, будем распаковывать.

    1. Распаковка программы.

    Запустим icedump, почему, да тут все просто icedump скрывает наш откладчик(SIce) от обнаружения. В айсе набираем bpint 3, F5, запускаем LordPe-->Break & Enter в появившемся окне выбираем нашу программу и нажимаем ОК. В айсе нам напоминает LordPe, чтобы мы дали команду: eb eip EB и enter, потом bc *. Смотрим значение регистра esp(если вы распаковываете в win98 то значение регистра будет =0073fe3c, в win200/XP ,будет =0012FFC4), так как мы сидим под win98, то регистр esp будет равен 0073fe3c. Ставим бряк :bpm 0073fe3c-4, два раза F5 и мы попадем вот сюда:
     0167:00504974 B8DEA00400 MOV EAX,0004A0DE <-в eax заносится OEP, запишим его
     0167:00504979 83F800 CMP EAX,00
     0167:0050497C 7413 JZ 00504991
     0167:0050497E 0500004000 ADD EAX,00400000
     0167:00504983 EB08 JMP 0050498D
     0167:00504985 49 DEC ECX
     0167:00504986 E524 IN EAX,24
     0167:00504988 1520FFE0CD ADC EAX,CDE0FF20
     0167:0050498D EBFB JMP 0050498A <-здесь идет прыжок на OEP
     0167:0050498F EB10 JMP 005049A1
     0167:00504991 33C0 XOR EAX,EAX
     0167:00504993 EB06 JMP 0050499B
     0167:00504995 43 INC EBX
     0167:00504996 66B883C0 MOV AX,C083
     0167:0050499A 0083E8FFC200 ADD [EBX+00C2FFE8],AL
     0167:005049A0 00E9 ADD CL,CH
     
    Проходим по F10 до 0050498D. Даем команду айсу: a eip Enter и jmp eip 2 раза enter,F5. Этой командой мы зациклили програму в памяти. Теперь самое время сдампить наш процесс. Открываем LordPe выбираем наш процесс и делаем ему Dump Full... и KillTask...Запускаем нашу прогу(givemetoo.exe) и ImpRec 1.6 FINAL. В imprec выбираем наш процесс(givemetoo), в OEP вводим 0004a0de, жмём IAT Autisearch и GetImport. Из импорта не восстановится только одна функция. Щёлкаем на ней и выбираем Cut thunks. Нажимаем FixDump и указываем наш сдампленый файл(dumped.exe). Теперь нужно загрузить уже распакованый и с восстановленным импортом файл в PE Editor и посмотреть чтобы размер заголовка (Size of Headers) был правильным, тоесть он должен быть =0004a0de. Все программа распакована, запускается и готова для дальнейшего исследования.

    2. Регистрация программы.

    Пихаем наш дамп в wdasm и ждем....Заходим на вкладку Refs-->String Data. В глаза сразу бросается такое не красиваое слово "UNREGISTERED VERSION". Ща гляним кто тут unregistered. Кликаем по нему два раза и попадаем вот сюда:
     |:00408F15(C) <-------------отсюда вызывается наше unregistered
     
     * Possible Reference to String Resource ID=57685: "UNREGISTERED VERSION"
     :00408F2E 6855E10000 push 0000E155
     :00408F33 8D4C2408 lea ecx, dword ptr [esp+08]
    Смотрим что там у нас:
     :00408F12 833925 cmp dword ptr [ecx], 00000025
     :00408F15 7517 jne 00408F2E
     :00408F17 6880FB4600 push 0046FB80
     :00408F1C 8D8E98040000 lea ecx, dword ptr [esi+00000498]
     
     * Reference To: mfc42.HeapFree, Ord:035Ah
     
     :00408F22 E831080400 Call 00449758
     :00408F27 6850FC4600 push 0046FC50
     :00408F2C EB23 jmp 00408F51
     
    По адрессу 00408F15 условный переход забиваем nop'ами. Для этого открываем программу в hview и проделываем все выше изложенное. Теперь уберем напоминание о регистрации. Активируем Sice(CTRL+D) и ставим бряк на функцию bpx GetWindowTextA, F5. Запускаем нашу программу, выскакивает айс. Жмем F5 23 раза, потом F12 около 30 раз. Короче должны вы попасть вот здесь:
     :004087D2 FF15D8FA4400 Call dword ptr [0044FAD8]
     :004087D8 A164FC4600 mov eax, dword ptr [0046FC64]
     :004087DD 833825 cmp dword ptr [eax], 00000025
     :004087E0 7441 je 00408823 <-----наш переход
     :004087E2 8B842498000000 mov eax, dword ptr [esp+00000098]
     :004087E9 85C0 test eax, eax
     :004087EB 7536 jne 00408823
     :004087ED 6A00 push 00000000
     :004087EF 8D8C24C0000000 lea ecx, dword ptr [esp+000000C0]
     :004087F6 E8F5760100 call 0041FEF0 <-----вызов напоминания
     :004087FB 8D8C24BC000000 lea ecx, dword ptr [esp+000000BC]
    Все что нам остатется - это поменять условный переход по адрессу 004087E0 на безусловный.
    Было:
    je 00408823
    стало
    jmp 00408823
    Вот на этом и все. Да кстати если создать раздел [HKEY_LOCAL_MACHINE\Software\Serbius\Give Me Too\Info] с таким содержимым
    "Name"="- = S o u L = -"
    "Mail"="pisem@net"
    то в about будет светится наше имя. Будут какие-то вопроссы пишите мне, не стесняйтесь. Ну и как всегда в конце:
    Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!!

    P.S. изв. за орфагрофические ошибки, синт. и др. Все писалось после нового года :)
    Автор статьи SouL
    04.01.04



  • Обсуждение статьи: Give Me Too 2.20 - Взлом и распаковка ORiEN 2.xx >>>


    Материалы находятся на сайте https://exelab.ru



    Оригинальный DVD-ROM: eXeL@B DVD !


    Вы находитесь на EXELAB.rU Проект ReactOS