Blog. Just Blog

Исследование защиты программы AWicons Pro

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы AWicons Pro
Скриншот программы AWicons Pro

AWicons Pro - лучшая, на мой взгляд, программа для создания и редактирования иконок и курсоров. Она включает в себя множество профессиональных инструментов, таких как прозрачность и многоцветный градиент, функции модификации (Контрастность, Яркость, Размытие, Поворот, 3D тень, Aqua и другие), импорт иконок из исполняемых файлов и графических файлов, сохранение готовых изображений в разные форматы, работа с библиотеками иконок и мультииконками, и еще много-много других полезных возможностей. Но почему-то стоимость программы превышает предельно допустимый уровень в ноль рублей, значит будем смотреть на нее поближе и желательно изнутри.

Скачиваем дистрибутив, устанавливаем, смотрим на главный исполняемый файл. Он упакован Armadillo. Не страшно, навесная защита легко снимается с помощью ArmaGeddon'а:

Распаковываем программу
Распаковываем программу

Почистите распакованный файл от ненужных секций протектора при помощи CFF Explorer. Эта процедура уже не раз описывалась на сайте, в очередной раз дублировать не буду. Теперь обкатаем на жертве два новых инструмента. Первый - Armadillo Environment Variables Finder. Скармливаем ему распакованный файл, смотрим результат.

Используемые переменные окружения Armadillo
Используемые переменные окружения Armadillo

Ага, в программе содержится строка ALTUSERNAME, это одна из стандартных переменных окружения, устанавливаемых протектором Armadillo. Остальные данные нас не интересуют. По всей вероятности эта переменная устанавливается в случае зарегистрированной программы и должна содержать в себе имя пользователя. Пустим в дело нашу вторую новинку - Armadillo Environment Variables Injector.

Патчим переменные окружения Armadillo
Патчим переменные окружения Armadillo

Добавляем переменную окружения ALTUSERNAME с нужным вам значением имени, нажимаем кнопку Patch. В исполняемый файл будет добавлен код, который при запуске программы установит переменную окружения в нужное значение.

Программа успешно зарегистрирована
Программа успешно зарегистрирована

Проверим результат. Наг-окна при запуске и выходе из программы пропали, в окне "О программе" отображается введенное нами имя. Вот так мы нейтрализовали очередную защиту, но на этот раз обошлись совсем без отладчиков и дизассемблеров. А заодно освоили два новых полезных инструмента.

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 4684 | Комментариев: 24

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (15.10.2015 в 16:56):
Всё течет, всё изменяется.
brute (11.02.2015 в 21:03):
по ссылке "Скачиваем дистрибутив" лежит версия 10.3, которая ничем не накрыта. Соответчтвенно статья потеряла "академический интерес". Мне удалось её запатчить, но разобраться в алгоритме по-прежнему тяжело. Регистрация идет по адресу 004107D0, а проверка триала по адресу 0040D921.
ManHunter (20.07.2011 в 12:08):
Voffka, спасибо, так действительно работает. Вечером обновлю утилиты.
Voffka (20.07.2011 в 11:41):
Потестил на x64, результаты неутешительные. В патче используется базонезависимый код для поиска нужных данных, и он не работает на 64-битных системах.

Это не базонезависимый код, чушь какая-то...(имхо)
Убираешь в самом начале этот бред
    MOV EAX,DWORD PTR SS:[ESP+20]

@L00000001:
    DEC EAX
    CMP WORD PTR DS:[EAX],5A4D
    JNZ SHORT @L00000001

и как все белые люди получаешь базу кернела из PEB
MOV EAX,DWORD PTR FS:[30]
MOV EAX,DWORD PTR DS:[EAX+0C]
MOV EAX,DWORD PTR DS:[EAX+1C]
MOV EAX,DWORD PTR DS:[EAX]
MOV EAX,DWORD PTR DS:[EAX+8]

И всё прекрасно работает на xp,недовиндовс,7 x86-x64
ManHunter (19.07.2011 в 10:39):
Тогда уж проще саму программу патчить, старым проверенным методом. Но я уже начал думать над решением :) Еще бы где-нибудь найти побольше времени на исследования.
tester3000 (19.07.2011 в 09:23):
ManHunter, а может для Win 7 x64 сделать патч другим способом а не через SetEnvironmentVariable?
ManHunter (18.07.2011 в 13:56):
Потестил на x64, результаты неутешительные. В патче используется базонезависимый код для поиска нужных данных, и он не работает на 64-битных системах.
AyTkACT (18.07.2011 в 12:29):
>>>>Скоро доделаю приблуду для секций, будет удобнее делать обрезку. А то CFF Explorer все-таки тяжеловат для такой рутины.

Будем посмотреть. Вообщем ждём-с.
ManHunter (18.07.2011 в 12:25):
Попробую поставить на виртуалку x64, проверю.
tester3000 (18.07.2011 в 12:22):
На Windows 7 x64 после патча не работает а на Windows XP SP3 норм работает.
==DJ==[ZLO] (18.07.2011 в 09:19):
Доброго времени суток ;)
Win7 x86 все прекрастно отработало! Только я секции вообще не "чикал" (влом было искать правельные)
Огромное спасибо за утилиты! Удачи и всех благ!
tester3000 (17.07.2011 в 22:37):
ManHunter, большое спасибо за тулзы и статью!!!
p.s. ждем приблуду для секций)
tester3000 (17.07.2011 в 22:18):
ManHunter, блин хоть бы сказал а то я мучаюсь думаю как ты это сделал хелп армагедона уже раз 5 прочитал =)))
ManHunter (17.07.2011 в 22:07):
Ну так, немного облагородил, чтобы не путаться :)
tester3000 (17.07.2011 в 22:06):
ManHunter, да на WinXP SP3 полет нормальный посмотрел твой dumped_.exe а имена секций ты вручную что-ли правил?
Просто у меня видать опция генерить рандомные имена секций была включена http://i55.tinypic.com/2yma7x3.png хотя версия такая же вроде 10.2
ManHunter (17.07.2011 в 21:14):
Есть подозрение, что это какие-то несовместимости распаковщика с Win7 x64. Я для сложных случаев распаковки держу на VMWare чистенькую Windows XP, хотя ArmaGeddon 1.9 вполне корректно работает на 32-битной Win7.
tester3000 (17.07.2011 в 21:06):
ManHunter подскажи почему когда открываю AWiconsPro.exe через ArmaGeddon 1.9 процесс просто завершается вот скрин лога http://i51.tinypic.com/2hwcjrp.jpg
ManHunter (17.07.2011 в 17:25):
Скоро доделаю приблуду для секций, будет удобнее делать обрезку. А то CFF Explorer все-таки тяжеловат для такой рутины.
Dimas (17.07.2011 в 16:48):
Усе получилось прекрасно !
Так же узнал для себя новую прогу для работы с иконками (пользую честно крякнутую Microangelo)

В общем респект за статью как всегда!
oleg (17.07.2011 в 16:38):
Да, секции армагеддоном отрезал. Но в CFF Explorer'е размер получается огромный и отрезать по инструкции http://www.manhunter.ru/underg...ompiler.html не получается. Но с не обрезанными секциями после Environment Variables Injector все работает. Вот то что получилось http://zalil.ru/31432044
ManHunter (17.07.2011 в 16:23):
Распакованный файл испорчен при отрезании секций, HiEW и CFF Explorer в нем даже не показывают таблицу импорта. Секции армагеддоном отрезал? Надо было все-таки CFF Explorer'ом.
Должно получиться что-то такое: http://rghost.ru/14841911
oleg (17.07.2011 в 16:15):
ManHunter (17.07.2011 в 15:45):
Выложи куда-нибудь распакованный и пропатченный файлы, я проверю.
oleg (17.07.2011 в 15:31):
Сделал все как описано в статье. После использования Environment Variables Injector при запуске файла выскакивает ошибка, мол он не является приложением Win32. Попробовал использовать другую утилиту Armadillo Reducer 1.7.1 RC2. С ней с тем же параметром (ALTUSERNAME) прога запускается нормально, зарегенной. ОС: WinXP SP3. В чем может быть проблема?

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2017
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.09 сек. / MySQL: 2 (0.0049 сек.) / Память: 4.5 Mb
Наверх