Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Subj: Ломать нечего?__________________________



В одной конференции некогда мне встретился следующий диалог трех моло­дых людей (в просторечии ламеров).

SP> Аидстест поковыряй:)) Он такой извращенный, оказывается... Че-то там в SP> памяти елозит, расшифровывается... Боится, что его поганую рекламу SP> повыкидывают:))

AL> Гы, У нас преп на кафедре развлекается: патчит aidstest так, что у AL> того реклама вверх ногами переворачивается:))) 50> Чет сомневаюсь я, что он аидстест именно патчит. Скорей дописывает к нему S0> [цензура], которая графический экран с рекламой переворачивает. Это куда S0> проще.

На самом деле это действительно легко правится заменой всего двух команд в исполняемом файле. Логично, что реклама выводится построчно сверху вниз. Поэтому, указав новое "начало" вывода строк и изменив инкремент на декремент, мы сможем вывести изображение в обратном порядке. Т.е. "вверх ногами".

С последним проще (и DEC и INC — однобайтовые коды), а вот "начало" экрана передается процедуре как PUSH ES:[BP+xxx]. В отладчике трудно, не выходя из процедуры, найти код, который передает этот аргумент. Но можно не сходя с текущей позиции курсора, заменить пятибайтовую команду PUSH ES: [ВР+хххх] на трехбайтовую PUSH 0х150 (где 0х150 представляет приблизитель­ное число строк экрана) и два оставшиеся байта заменить командами NOP.

Можно наслаждаться перевернутой рекламой. Неплохая первоапрельская шутка или приятный (точнее, неожиданный) сюрприз для пользователей. Инте­ресно, сколько из них сочтут это проявлениями коварного вируса?

Пару слов об "извращенности" AIDSTESTa. Любопытно, но я надеюсь, что SP, говоря о защите рекламы (которая представляет собой обычный рсх-файл, дописанный к файлу, даже не зашифрованный и легко распознаваемый на глаз в дампе файла при минимальном опыте работы с графикой), не имел ввиду сжатие AidsTest'a обычным ехе-пакером.

Впрочем, по непонятной причине все выводимые антивирусом тексты слегка зашифрованы. Но настолько тривиально, что это не заслуживает упоминания. Криптор построен всего из двух команд — sub al,el/add с1,7, но шифротекст может быть раскрыт даже без знаний этого алгоритма ввиду его полной некрип-тостойкости.

Самое интересное, что на фоне всего этого верификация собственного кода напрочь отсутствует! Во всяком случае, я заменил тексты, перевернул рекламу, потом отключил ее, скорректировал контроль "старости", затем выкинул его напрочь и... никаких ругательств со стороны антивируса.

Плохо, очень плохо выпускать такие программы. Они не обеспечивают даже минимальной безопасности и легко могут быть видоизменены вирусом или злоумышленником в своих целях. Еще совсем недавно, когда отсутствовал Интернет (а вместе с ним быстрые и легальные каналы получения ПО), антиви­русы распространялись (между прочим, незаконно) через сеть BBS. Нередки были случаи, когда "свежая" версия представляла собой старую с измененной "вруч­ную" версией продукта, но зараженную новым вирусом. Так был широко распро­странен, например, вирус "Фантом". Помнится, что тогда Дмитрий Николаевич горько сетовал по поводу морали вирусописателей. Это все верно, конечно. Но не задумывался ли он (а вместе с ним и его клиенты), что очень нехорошо, когда массовая антивирусная система имеет такой потрясающе низкий уровень защи­ты? Небрежность разработчика в который раз стала причиной эпидемии. А вирусы... (точнее, их авторы) были единственными "козлами отпущения".

Однако я до сих пор не сказал, как найти эти самые команды в сотнях килобайт запутанного кода, которые следует исправить? Есть много путей. Один из них — найти саму рекламу непосредственно в памяти. Как уже отмечалось, это обычный рсх-файл. Остается только поставить точку останова на любой байт, принадлежащий этому фрагменту, и код, читающий ее, будет искомой функцией вывода картинки на экран. Отмечу, что не стоит ставить точку останова на диапазон памяти, так как это сильно замедлит выполнение программы, и будет ничуть не эффективнее всего одной точки.

Ничего интересного в AidsTest'e так и не наблюдалось...





Дата публикования: 2014-12-08; Прочитано: 221 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...