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

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


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

Взлом LanTalk Pro v2.6.1.3

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

Очень удобно, когда все крэкерские инструменты, книги и статьи в одном месте. Используйте сборник от EXELAB - вот тут.

Автор: CraF <craf@uofg.cc>

Target: LanTalk Pro v2.6.1.3
Protection: AsProtect vX.YYY
Source: http://www.lanTalk.net
Toolz: SoftICE v4.05, Revirgin v1.2 (public), ImpRecomstructor v1.2, Hiew v6.76 Demo
Toolz source: http://protools.cjb.net

Letz begin:))

Как было написано выше, данная программа пошита AsProtect. Раз так, пробуем первый инструмент, который в таком случае нужно проверить: CASPR v1.1 beta 3. И что мы видим? Неизвестная версия AsProtect :(( Когда хоть Солодовников угомонится и перестанет постоянно мутировать свой продукт?:)) Ну ладно не беда:)) На счастье у нас помимо чужих инструментов есть и свои - МОЗГИ:)) Так что идем в инет и ищем, как умные люди воюют с данной защитой. И что мы видим? Несколько прекрастных статей от членов нашей группы:)) И все в них есть - и нахождение OEP, и распаковка, и восстановление иморта.

Части по поиску OEP и по распаковке я пропущу, так как они довольно подробно описаны членами нашей группы Kop&{Hex}. Вот только добавлю одно замечание:)) Почему-то никто не описывает как приводить полученный дамп в рабочее состояние, а ведь это далеко не всем ясно:)) Чтобы дамп был рабочим, при условии что импорт нормальный, необходимо чтобы у ВСЕХ секций в полученном дампе было Phisical Size = Virtual Size и Offset = RVA. Это необходимо поставить у всех секций, а не только у секции ресурсов. Мной это проверено на многих пакованных екзе и длл модулях.

Ну вот мы получили дамп, но он все-равно не живой, потому как поломан импорт. Но это не беда. Ведь есть два прекрасных средства для его восстановления. Почему два? Да потому, что и ReVirg и ImpRec не всегда могут поодиночке правильно восстановить импорт целиком. И использование каждого из этих средств по одиночке оставляет еще гигантский простор для работы ручками:)) По крайней мере в данном случае ReVirg на некоторых неопределенных ф-ях просто ронял мои винды с ошибкой 0E. Ну начнем:))

Запускаем прогу и оба наших прекрасных средства:)) Оба сказали, что не могут найти импорт:(( Ну не беда, вводим и там и там полученную ранее OEP, в данном случае это .417370. Жмем в ReVirg "Fetch IAT", а потом "IAT Resolver". Ура, получили импорт. Но в нем слишком много не ресолвенных функций. Пробуем нажать "Resolve Again". Не ресолвенных ф-й осталось всего 6. Так, теперь беремся за ImpRec. Жмем "IAT Autosearch", "Get Import", "Auto Trace". Ура, получили импорт со всего только 4 нересолвенными ф-ями. К сожалению ImpRec не так хорошо умеет работать с не распознанными ф-ями, но зато он умеет прекрасно добавлять полученный импорт в дамп. Поэтому вернемся в ReVirg и попробуем ресолвить оставшиеся ф-ии в нем. Сразу предупреждаю: при "Api Emulate" последней ф-и винда может упасть:))

Ну приступим. Смотрим в ИмпРеке первую не расспознанную ф-ю. У меня получилась ф-я с RVA 3914А. Идем в РеВирг и ищем ф-ю с таким RVA там. Она тоже не ресолвена. Ну что ж, жмем на ней правую кнопку мыши и выбираем "API Emulator". Видим, что ее адрес изменился. Прекрасно. Жмем "Resolve Again". Ура, получилось. Это ф-я GetCommandLineA из Kernel32.dll. Теперь возвращаемся в ИмпРек и два раза кликаем мышой на этой ф-ции. В появившемся окошке выбираем в верхнем комбо боксе kernel32.dll, а в нижнем GetCommandLineA. Жмем ОК. Ну вот и все, первая ф-я готова. Повторяем аналогичные действия для 3-х оставшихся ф-й. И ура, у нас нормальный импорт для нашей проги. В ИмпРеке жмем "Fix Dump" и выбираем дамп, который мы получили ранее. Если вы все сделали правильно, то после всех этих манипуляций прога запустится. И как бы вы не меняли время на машине, прога будет работать:)) Вот что бывает когда авторы рассчитывают только на навесную защиту:))

Так, первую часть мы выполнили:)) Осталось еще 4 момента: Абоут бокс при старте проги, к каждому посылаемому сообщению добавляется "Unregistered", не сохраняются настройки трех секций - Messaging Settings, Automatic Settings и Filters Settings и надпись в Абоут боксе о том, что нам осталось Х дней до конца использования проги. Все они не сильно мешают, но немножко раздражают, особенно "Unregistered" после каждого сообщения.

Разберемся с этой проблемой. Открываем LanTalk.exe в Hiew. Ищем строчку "Unregistered". Находим и видим, что перед ней стоит еще два байта 0D, 0A. Становимся на 0D и жмем Ф6. И что мы видим:

je .00040F914
push .000447DF8


Пробуем изменить je на jmp. Запускаем прогу, посылаем ссобщение и опа ... Строчка "Unregistered" исчезла:)) Проблемма решена:))

Ну вот вроде как и все:)) Остальные проблемы если хотите можете попробовать решить сами:))

With best regards.

Дискламер:

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

Статью добавил dzen <dzen@inbox.ru>

Обсуждение статьи: Взлом LanTalk Pro v2.6.1.3 >>>


Комментарии к статье: Взлом LanTalk Pro v2.6.1.3

Mafia32/[ROCK] 31.07.2004 15:46:39
AsProtect vX.YYY

Вот эта строчка меня убивает. :))) Распаковываем сами не знаем что... Какой аспр? Может 1.3 или еще лучше 2.0? Это все потому что читаем статьи, где написано: нажмите сюда, сюда и сюда и получите бетерброд. Я б про UPX больше написал, а уж про аспр вообще молчу.
---
SLV/[ROCK] 10.08.2004 14:17:55
угу, схема нажал кнопку - получил банан работает дааалеко не всегда
---

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



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


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