Навигация по сайту:
печать на ручках москва
Статья "Распаковка Private ExE Protector 1.9":
<< Все статьи по взлому Версия для печати
Только для образовательных целей!
Автор:SubZero [SnD], Sh [AHT]
Уровень:Для опытных
Программа:UnpackME
Тип защиты:Private ExE Protector 1.9

Перевод статьи Sh [AHTeam] – http://ahteam.org


[ Кое-что об упаковщике ]

Private ExE Protector (PEP) – это несложный протектор. В нем имеются функции:

1. Анти-отладчик:

a) Проверка PЕВ (для скрытия используйте OllyAdvance By MarKuS-DJM или другой плагин).

b) FindWindow: Получает список окон, используя EnumWindows API, проверяет первые символы на соответствие "Import REC" / "OllyDBG" (нужно патчить заголовки окон ImpREC и OllyDBG).

c) К файлу добавляется большая секция:



OllyDBG виснет, и дамперы могут вести себя непредсказуемо.

2. Краденые байты:

Мы найдем их и добавим к файлу.

3. Краденые ресурсы:

Протектор шифрует ресурсы, добавляет к упакованному файлу и очищает секцию .rsrc. Затем перехватываются и эмулируются функции работы с ресурсами FindResource, LoadResource, SizeOfResource.

4. Импорт:

Импорты Kernel32 эмулируются при помощи переходников (мы напишем плагин для ImpREC).


[ Перед отладкой ]

Итак, нам нужно:

Настроить любой антиотладочный плагин для ollydebugger; выбрать все возможные опции защиты, изменить заголовки окна ollydebugger при помощи Anti-Detect-Olly by TeST for ExeCryptor (либо взять сборку Shadow Olly).

1. Изменить заголовок окна ImpRec.

2. Удалить большую секцию (в данном случае .reloc), и изменить виртуальное смещение VOffset секции .rdata на 0B000 (значение VOffset секции .reloc)

Откроем программу в отладчике… проблема… мы забыли про таблицу импорта. В ней только одна функция - ExitProcess. Удаляем таблицу полностью (обнуляем значения):



Дальше нам нужно выделить память по адресу 3550B000 (VA = 3510B000 RVA + 400000 IMGBASE), и скопировать туда секцию .rdata ( потому что все адреса относительные и замена смещения VOffset секции .rdata все испортит!).

Для этого нужно добавить 50 байт в файл и перенести туда значение OEP. В этих байтах мы напишем такой код:



Файл готов к отладке.


[ Эмуляция функций Kernel32 / нахождение Stolen Codes / OEP ]

Установить breakpoint на ntdll.ZwCreateThread (потому что kernel32.CreateThread эмулирована; и упаковщик использует Zw вместо обычного API).

В отладчике Shift+F9 и ждем остановки...

Удаляем breakpoint и ставим другой на ntdll.LdrGetProcedureAddress (потому что kernel32.GetProcAddress тоже эмулирована).

Еще раз Shift+F9 и ждем ...

Удаляем breakpoint, и переходим на второй адрес возврата (как на рисунке):



Код должен выглядеть так (признак того, что мы в нужном месте - Virtual Protect):



Добро пожаловать в область эмуляции импорта и переходников! Прокручиваем окно немного вниз:



Как видно, идет сравнение адреса импорта с адресом kernel32. Если не равно, происходит переход… нам нужно сделать его постоянным, чтобы импорт не эмулировался. Ок, некоторые функции могут не определиться… посмотрим…

Ставим hardware breakpoint на условный переход и перезапускаем программу.

Когда произойдет остановка, изменим его на JMP и удалим breakpoint. Прокручиваем окно еще ниже:



Ставим breakpoint на RETN 8, запускаем программу (Run) и ждем остановки. F8 один раз. Затем Ctrl+F9 (Execute till return)



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

Вот они, краденые байты… сохраним их:



Ставим breakpoint на RETN... запускаем ... потом F8 - и мы приземлились возле OEP. Отлично, делаем дамп! (автор рекомендует OllyDump). Потом открываем полученый дамп в LordPE, удаляем эти секции и делаем Rebuilt PE.



Автор использует следующие опции для получения лучшего результата:



Время заняться импортом; запускаем ImpREC, пишем смещение EP (Offset Of The EP) ... можно использовать плагин от автора, но сначала нам нужно поправить защищенный файл:

Заходим в функцию импорта ( jump / call to API :)



Нам нужно изменить плагин так, чтобы на выходе значение EAX было равно адресу API (как показано на рисунке). После правки плагина весь импорт должен корректно восстановиться! Теперь откроем дамп с поправленным импортом в редакторе ToPo и добавим 0x77+5 байт в новую секцию (не забудьте выставить "Redirect EntryPoint") ... и запишем туда краденые байты ( не забудьте исправить относительные смещения - relative Calls).

Файл полностью распакован. В будущем автор попробует найти способ исправить краденые ресурсы, так что ждите новую версию статьи ;)

Исходный текст плагина для ImpRec
UnpackMe можно скачать здесь

Thanx And Greeting to :
All SnD / Shabgard / UnReal Friends.
SUB Z3R0 | Spirit Of The Wind | - SnD TeaM 2oo6
SnD TeaM 2oo6 Forum -> http://www.tuts4you.com/forum/


От переводчика: респект Woodmann forum, Wasm.ru, CrackL@b, ARTeam и всем авторам замечательных статей.

<< Все статьи по взлому Версия для печати
Комментарии читателей к статье "Распаковка Private ExE Protector 1.9":

10.10.2017 05:35
Girls wear male watch show hard gas fake rolex personality does not rolex replica watches matter, but, taking into account a lot of omega replica watches straight male cancer worrying aesthetic, we must pay attention to fake rolex watches the watch value. Even to wear male watch, design and value of the value must also say so much, Rolex pioneer series 116613-LN-97203 black plate, the reference price of 100,500 yuan. Rolex male watch a lot of women like to grab over to wear, once someone ridicule to buy a good Rolex, buy Rolex family can wear.

17.10.2015 15:46
Требует лечения, просит id, сделайте пожалуйста так, чтоб не просила, спасибо
Download link:
https://s3.amazonaws.com/iticsoftware-products/fix-api-arbitrage.zip

14.01.2015 01:59
А Вы можете ломануть программу:* aioinstall511-harddisk* (*All In One
Protector 5.1.1130.0*)
За результат заплачу!

26.08.2012 14:39
mojete poslati mne spum toka blok sait
Евгений

09.09.2010 13:11
Хорошая статья. От познания - к истине! Деньги - ничто, важна только жизнь!!!

09.02.2010 02:47
Хай мены, однако :) в год по посту каждый пишет :D

24.05.2009 13:59
нужен кряк или серийник для paretologic 1.4
4kusNick

20.06.2008 03:15
Ы и мне чтоли тут отметиться ;)
Этакий черепаший мини-чат)
Да, прот - шлакохерь, а за статью спасибо)

15.06.2008 22:15
Пипец, ну и криптор - какую то херню использует - ваще ненормальный мнда уж ... нахер он нужен пусть лучше ExeCrypt юзает его попроще вроде снять

21.04.2007 20:46
mne nada programs dlya Aliens Server bot programes
GPcH

01.02.2007 19:33
Защита использует много частных случаев - как она вообще работает - не понимаю :) Тем более не понимаю как такое можно использовать в коммерческих целях :)

Статья нормальная :)

07.12.2006 14:22
Интересная статья! спасибо за пеевод!
Добавить свой комментарий:
Ваше имя: Текст сообщения:
Ваш E-Mail:
Введите код:   

ALIEN Hack Team - © 2003-2017
Лицензионное соглашение