Исследование защиты программы AWicons Pro
Скриншот программы AWicons Pro
AWicons Pro - лучшая, на мой взгляд, программа для создания и редактирования иконок и курсоров. Она включает в себя множество профессиональных инструментов, таких как прозрачность и многоцветный градиент, функции модификации (Контрастность, Яркость, Размытие, Поворот, 3D тень, Aqua и другие), импорт иконок из исполняемых файлов и графических файлов, сохранение готовых изображений в разные форматы, работа с библиотеками иконок и мультииконками, и еще много-много других полезных возможностей. Но почему-то стоимость программы превышает предельно допустимый уровень в ноль рублей, значит будем смотреть на нее поближе и желательно изнутри.
Скачиваем дистрибутив, устанавливаем, смотрим на главный исполняемый файл. Он упакован Armadillo. Не страшно, навесная защита легко снимается с помощью ArmaGeddon'а:
Распаковываем программу
Почистите распакованный файл от ненужных секций протектора при помощи CFF Explorer. Эта процедура уже не раз описывалась на сайте, в очередной раз дублировать не буду. Теперь обкатаем на жертве два новых инструмента. Первый - Armadillo Environment Variables Finder. Скармливаем ему распакованный файл, смотрим результат.
Используемые переменные окружения Armadillo
Ага, в программе содержится строка ALTUSERNAME, это одна из стандартных переменных окружения, устанавливаемых протектором Armadillo. Остальные данные нас не интересуют. По всей вероятности эта переменная устанавливается в случае зарегистрированной программы и должна содержать в себе имя пользователя. Пустим в дело нашу вторую новинку - Armadillo Environment Variables Injector.
Патчим переменные окружения Armadillo
Добавляем переменную окружения ALTUSERNAME с нужным вам значением имени, нажимаем кнопку Patch. В исполняемый файл будет добавлен код, который при запуске программы установит переменную окружения в нужное значение.
Программа успешно зарегистрирована
Проверим результат. Наг-окна при запуске и выходе из программы пропали, в окне "О программе" отображается введенное нами имя. Вот так мы нейтрализовали очередную защиту, но на этот раз обошлись совсем без отладчиков и дизассемблеров. А заодно освоили два новых полезных инструмента.
Просмотров: 6550 | Комментариев: 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
Это не базонезависимый код, чушь какая-то...(имхо)
Убираешь в самом начале этот бред
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 все прекрастно отработало! Только я секции вообще не "чикал" (влом было искать правельные)
Огромное спасибо за утилиты! Удачи и всех благ!
Win7 x86 все прекрастно отработало! Только я секции вообще не "чикал" (влом было искать правельные)
Огромное спасибо за утилиты! Удачи и всех благ!
tester3000
(17.07.2011 в 22:37):
ManHunter, большое спасибо за тулзы и статью!!!
p.s. ждем приблуду для секций)
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
Просто у меня видать опция генерить рандомные имена секций была включена 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)
В общем респект за статью как всегда!
Так же узнал для себя новую прогу для работы с иконками (пользую честно крякнутую 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
Должно получиться что-то такое: http://rghost.ru/14841911
oleg
(17.07.2011 в 16:15):
ManHunter,
http://zalil.ru/31431983
http://zalil.ru/31431983
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. В чем может быть проблема?
Добавить комментарий
Заполните форму для добавления комментария