Перейти к содержимому


Фотография

Ручная распаковка


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Admin

Admin

    Эксперт. (ГЛАВА ФОРУМА)

  • Администраторы
  • 281 сообщений
  • ГородИнтернет сити

Отправлено 29 Февраль 2016 - 01:16

Делимся опытом ручной распаковки и снятия протекторов. Я начну.
 
[ASProtect]
Жертва - Advanced Dialer. Я про нее уже писал, но тогда я применял online patch и про распаковку ничего не говорил. Теперь пришло время показать как это делается на практике.
Версия протектора ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov, так сказал PeId.
Загружаю в OllyDbg модуль Adialer.exe. Первое, что я делаю - включаю остановку на всех исключениях. Делается это нажатием комбинации Alt+O и снятием все галочек на вкладочке Exceptions
 

Изображение

 
Теперь начнем. Жмем Shift+F9 и останавливаемся на первом исключении. Теперь, так как это ASProtect исключений будет много и нужно считать нажатия. Так рекомендую делать в начале, но в принципе можно и на глаз определить. Теперь, когда количество  исключений до запуска проги записано, надо перезапустить ее и на последнем except- е запустить трассировку. Значит нажать надо Ctrl+T и настроить трассировку таким образом, чтобы она прерывалась при встрече команды popad (восстановление всех регистров). Для этого поставьте галочку
около Commands is one of и в окне рядом напишите popad. Теперь OK. Непосредственно запускаем трассировку с помощью Ctrl+F11 потом жмем  Shift+F9, а потом снова Ctrl+F11............ После начала трассировки надо подождать чуток и нажать F12... Прерываем трассировку и обходим длинный цикл...

Изображение

 
Теперь возобновляем трассировку и ждем. С моим медленным компом у меня трассировалось минут 5.
Прога остановилась на этом фрагменте
008F2F48        61                                                                                 POPAD008F2F49        FFE0                                                                             JMP EAX
Это переход на oep. С помощью F7 иду к джампу и перехожу на точку входа.
И вижу следующия start-up:
0041BF2C   .  55                                                                                 PUSH EBP0041BF2D   .  8BEC                                                                         MOV EBP,ESP0041BF2F   .  83C4 F4                                                                   ADD ESP,-0C
Вердикт - написано Делфи.
Записываем oep......
Теперь дамп.........

Изображение

Отлично сдампилось....... Реконструируем импорт............... Запускаем imprec и выбираем наш процесс..
Пишем oep и жмем Iat AutoSearch...... теперь Get Import...
Импорт восстановился не полностью..... Нажимаем Show Invalid и, выбрав неопределенные функции, запускаем Tracer Level 1(Disasm).... То есть определение функций
путем дизассемблирования.... Но импорт опять не восстановлен полностью.....
Теперь пришло время воспользоваться плагином imprec, восстанавливающим функции, искаженные Asprotect.
 
 

Изображение

Ура! Восстановил!

Изображение

Теперь склеиваем с дампом.... жмем Fix Dump
Проверяем дамп..... Все работает без проблем!!!)
Таким же образом распаковываем params.ovl (переименованный exe - я об этом уже писал во Взлом Advanced Dialer)
На рисунке переход на OEP

Изображение

 
Потом выходим из длинного цикла в начале трассировки, как и в предыдущем случае.........
А потом, восстановив импорт, запускаем полностью работоспособный дамп
 

Изображение

 
Ура! Распаковали) 
Аспротект вообще не такой уж и простой протектор. Это просто попался не очень сложный вариант. Бывают очень даже неслабые трюки.

С Уважением Администрация.Форум хакеров XACKERPRO.COM





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Сертификат на никнейм XACKERPRO.COM, зарегистрирован на Константин Иванов.
Яндекс.Метрика Рейтинг@Mail.ru Analysis Счетчик ТИЦ Каталог сайтов OpenLinks.RU Каталог сайтов Всего.RU

Добавить Vkontakte Добавить в Facebook Добавить в Twitter Добавить в LiveJournal