Первый независимый интернет-ресурс г. Семипалатинска.

				Зима-2004
Вторник, 27 июня 2017. 15:43
Графика - рукотворная и компьютерная;
живопись, фотогалереи;
видео (клипы, съемки);
обои на Рабочий Стол
Смотрим
Городок виртуальный:
	о сайте, о баннерах;
	экспорт новостей;
Городок реальный:
	история, цифры, факты
Городок
Проза. Поэзия. Читаем, пишем...
Библиотека электронных книг
Читаем
Прогулки по Городу;
встречи с интересными людьми;
капель`ница;
новости далекие и близкие
Прогулки
Рок, рэп, джаз;
компьютерная музыка;
дикторские работы;
реклама
Слушаем
Туры по просторам Интернета
Путешествия
Форумы и Чат Городка
Говорим
Капель-ница :: Защита ПО: от права к практике, или Взлом программы "Проводником".
= 23 августа - Чемпионат Казахстана по мотокроссу в Семипалатинске =
Знаете ли Вы, что: ...в разделе "Читаем" - каждый день новый эпиграф
* * *

Сочувствие - неважная милостыня.

Г. Лихтенберг


   В процессе подготовки предыдущей статьи наткнулся на одну из давних законсервированных Капельниц (даже старше, чем "Лицензии и реверсивный инженеринг"). А поскольку она тематически хорошо накладывается на только что озвученную тему о программах и защите авторских прав, то ей и водить, как говорится.

   Итак, наш сегодняшний больной: простенькая программа с претензией на эксклюзивность, поскольку при запуске требует пароля и хвалит своего автора при каждом удобном случае. Тем не менее, координат автора нет, а узнать пароль или условия его получения и пользования программой также нет никакой возможности. Законность претензии на эксклюзивность, мягко говоря, сомнительна, поскольку программка представляет собой... примитивную оболочку к базе данных телефонных номеров города Семипалатинск. Основы законности распространения такой базы мы рассмотрим в ближайших Капельницах; пока же отметим на полях, что в Новосибирске и многих других городах подобные базы много лет распространяются официально и бесплатно, через Интернет и на компакт-дисках, и даже с доставкой в офисы. И только в нашем городе (или в Казахстане в целом?) из этой базы делают страшный, невероятный секрет, и каждый раз при утечке новой базы (что, понятно, происходило, происходит и будет происходить при таком раскладе) в недрах Телекома находят крайнего и... нет, по счастью, не казнят, но уволить - это на раз.

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

   Вариант первый: поскольку пароль спрашивают при запуске, открываем ее первым попавшимся редактором ресурсов (мне тогда попался ResHacker). С ходу удаляем в ресурсах форм вызовы OnActivate и все прочее, что раздражает. Да, так делать нельзя! Но если очень хочется, то можно. В нашем конкретном случае результат кривее некуда, но - работает!

   Вариант второй: так как мы потратили всего две минуты на взлом, удовольствия не получено. Смотрим, что происходит дальше. Оказывается, при наличии файла c:\cnf.dar все прекрасно пашет и без пароля. Правда, обнаруженный файл программа тут же сама и прибивает. Забавно! Можно остановиться и на этом: создать в Блокноте простенький runme.bat с содержимым типа
@echo off
echo blah-blah >> c:\cnf.dar
superproga.exe
и больше не вспоминать о пароле. Но как-то не по-взрослому это, загрузчики да одноразовые файлы плодить. К тому же программка создает рядом с c:\cnf.dar второй файл - c:\gts.dll (о, как творчески!), в котором... хранит собственные настройки. Поэтому мы поступим намного веселее: удалим больного из первой палаты, и пролистаем в любом нормальном редакторе содержимое исходной программки. Заменим в ней вхождения c:\cnf.dar на c:\gts.dll - и пусть программа сама свой файл создает, и прибивает, и снова создает... про вечный двигатель слышали? А теперь мы его создали!

   Конечно, пути к c:\ мы сотрем - потому как нефиг мусорить в корневых каталогах. Судя по всему, раньше я был злораднее, так как использовал освободившиеся байты по назначению: бывший gts.dll стал называться lamachok.s. Сегодня я предлагаю потратить их на тактичное, и к тому же впервые функциональное имя: options.ini

Голос с "камчатки": "Я знаю решение еще проще! Достаточно оставить нетронутую программу, а файлу c:\cnf.dar присвоить в Проводнике всякие страшные атрибуты!"
Как я сказал выше, недостойно приличного человека иметь корневой каталог, забитый бессмысленными файлами. И второй минус: создавать такой файл и ставить на него атрибут "только для чтения" придется вручную на каждом компьютере. А грамотно исправленный EXE-шник такого ухода за собой уже не потребует.

   Однако, этот способ помогает - и в частности от вирусов (создайте у себя на флэшке ПАПКУ autorun.inf, присвойте ей атрибуты "Только для чтения", "Скрытый", "Системный" - и Вы навсегда забудете об автозапуске вирусов с этой флэшки). Давайте Вашу зачотку, это тоже решение.

Голос из первого ряда: "А может, мы все-таки хоть одним специализированным инструментом воспользуемся? Ну пожааалуйста! Ведь мы все-таки взламываем защиту, а еще и десяти минут не прошло..."
Ну хорошо, на этот раз возьмем вместо ломика прибор поточнее: что-то вроде w32dasm или Hiew. Или оба сразу внимательно листаем вызовы, и - о чудо! - тупейшим образом забиваем nop'ами вызов процедуры удаления многострадального бедолаги c:\cnf.dar по адресу 3b2a0h.

   Как видим, для взлома защиты в первом варианте оказалось достаточно простого редактора ресурсов, во втором - bat-файла в три строчки, в третьем - открыть "Свойства" файла c:\cnf.dar в банальном "Проводнике". И только в четвертом варианте (честно говоря, уже от скуки) были использованы специализированные (хотя и далеко не самые навороченные) инструменты.

В качестве морали перефразируем известную поговорку: на законы надейся, а сам не плошай. Ясно, что сегодняшний пациент имел кустарную третьесортную защиту, но и эта Капельница написана отнюдь не для Филиппа Циммермана. Так что упирать надо не столько на имя автора в каждом окошке (даже такое приятное, как свое), сколько на реально вандалоустойчивую защиту.

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

22-12-2008, 03:38. .
Как говорится, мнение редакции не всегда совпадает с мнением автора.
Обсудить эту новость на Форумах Городка
Обсудить новость в теме "Капельница и персонал"

Перейти в архив раздела "Капель-ница"

 
 
= Обсудить на Форумах = = Поискать на Форумах =
= Персоналии = Путёводитель = Бюро находок =
= Ъ = Прогулки | Путешествия | Смотрим | Читаем | Слушаем | Говорим =

Погода:
ФОБОС: погода в Семипалатинске

rax.ru   Created & managed by FAR manager
 
Locations of visitors to this page
Идея, дизайн, программирование: ©2002-2003, <группа "Циклон" > | хостинг: < KazNIC > .