Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКрэкингРучная распаковка Asprotect
© outlaw 10.12.2007

Программа: Nokitel
Программа написана на: Borland C++
На предмет: Ручная распаковка Asprotect
Инструменты: Ollydbg, Lord PE, Import REC and Plugins. Автор: Outlaw

Привет, сегодня мы будет иметь дело с пакером Asprotect, я запаковал свой крякмис этим пакером, ты можешь использовать любую программу запакованую именно этим пакером, есть разные комбо(способы распаковки данного пакера), я покажу одну из них.

И так начинаем, запускаем Ollydbg заходим в "options->Debugging options", переходим на вкладку "Exceptions" поставим галочку на "Ignore memory access violations in KERNEL32", с настройкой закончили, переходим к поиску "OEP", запускаем программу и используем клавиши "Shift + F9", и так до тех пор пока программа не запуститься, программа запустилась, у нас есть адресс последнего "exception", он у меня "003E2D12".

Мы остановились по адресу 003E2D12, нам это нужно чтобы найти OEP. Ставим бряк по адресу 003E2D56. Продолжаем двигаться с помощью клавиш "Shift + F9". Находимся на 003E2D56. Далее открываем карту памяти "Memory map", ставим бряк на 2-ю секцию файла Nokitel.exe(или ваша программа) по адресу 00401000. Запускаем трассировку "Trace into", для этого выбираем "Debug -> Trace Into", и подождем.

Мы остановились по адресу 00442E13, далле приведем код к нормальному виду с помощью "Ctrl + A" потом пробел.

Смотрим вверх, мы увидели кучу нулей. Вот так вот ASProtect и украл часть кода программы, его нам нужно будет найти. По адресу 00489FE3 находится OEP программы. Сейчас можно снять дамп. Для этого запускаем Lord PE. Выбираем процесс Nokitel.exe (или ваша программа), нажимаем правой кнопкой мыши выбираем в меню "dump full", сохраняем дамп.

Теперь восстановим импорт. Запустим ImpREC. Выбираем процесс Nokitel.exe, вписываем "OEP - 89FE3" – ImageBase, нажимаем "IATAutoSearch".

Облом...Лезем опять в "OllyDbg" перезагружаем "Ctrl + F2". Далее открываем карту памяти "Memory map" и ставим бряк на 2-ю секцию файла "Nokitel.exe" по адресу 00401000, двигаемся дальше с помощью "Shift + F9". Запустим ImportREC, выбираем процесс Nokitel.exe, вписываем OEP - 89AE6 "IATAutoSearch".

Теперь нажимаем "OK" далее "Get Imports". Далее вам потребуется вставить плагин "ASPR_1.23-ImpREC_Plugin", скачайте его в инете и установите в Import REC. Нажимаем "Fix Dump", выбираем наш дамп. Получим файл dumped_.exe.

Полученный файл открываем в OllyDbg. Мы остановились по адресу 00482AE4. Нажмем "Пробел" и начинаем вписывать похищенные команды. Теперь нажимаем правой кнопкой мыши и выбираем "Copy to executable->All modifications. В открывшемся окне опять нажимаем правой кнопкой мыши "Save file". Сохраним файл dumped1_.exe. Запустим, облом...смотрим отчет об ошибке, согласно отчету мы обламываемся по адресу 0040A04E.

Загрузим dumped_2.exe в OllyDbg. Перейдем на адрес 0040A04E. Ставим бряк, после запуска программы останавливаемся по адресу 0040A04E.

Программа пытается считать строку по адресу 003D3861, принадлежащему ASProtect. Это имя пользователя для регистрации. Найдем место, где программа получает адрес этой строки. Для этого перезапустим программу и начнем трассировку, программа опять останавливается по адресу 0040A04E. Выполняем "steps back". Анализируя состояние регистров, выходим на адрес 0044A928. Значит по адресу 0049A348 хранится адрес искомой строки. Дальше Ищем свободный кусок кода, куда можно поместить имя для регистрации. Я выбрал адрес 0048E360. Вписываем регистрационное имя, Переходим по адресу 0049A348, исправляем значение 003D3861 на 0048B260. Сохраняем все что изменили и все, все готово :)




© outlaw 10.12.2007

e-Commerce Partners Network
kinder написал:

>>>Мы остановились по адресу 003E2D12, нам это нужно чтобы найти OEP. Ставим бряк по
адресу 003E2D56<<<

ТС курил, с чего ты влепил бряк на 003E2D56 ? Может у меня другой аддрес, с какого хера я буду знать куда бряк ставить ппц ...

Outlaw написал:

У Asprotect все адреса одни, других быть не может, если только программа не запакована новой версией! P.S Это только один из методов распаковки аспра!

jsm написал:

ТС курил, с чего ты влепил бряк на 003E2D56 ? Может у меня другой аддрес, с какого хера я буду знать куда бряк ставить ппц ...

Потому что после 003E2D56 идет прыжок а оригинальную точку входа программы. Я так понимаю автор писал статью после upx и neolite и думал что читатель уже сам поймет почему именно туда. Скачал Asprotect и запаковал программу что бы проверить, метод работает но есть уже куда более легкие и быстрые способы )

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
20.09.2017 08:47:03 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Здравствуйте,...
Предупреждение
20.09.2017 08:20:25 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Мое...
Новая статья
20.09.2017 08:15:19 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Приветствую...
Новый релиз
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100