Генеральный план наступления или как мы будем действовать
Первое (и самое простое), что приходит на ум– обработать файл каким-нибудь навесным упаковщиком/протектором, полностью уничтожающим все сигнатуры, и скормить его антивирусу. Нехай подавится. Что?! Не хочет давиться? Значит, антивирус успешно переварил упаковщик и дорвался до внутренностей оригинального файла. Тут-то сигнатуры и поперли.
Можно ли противостоять автоматическим распаковщикам, ничего не смысля в ассемблере и не разрывая свою задницу напополам? На первый взгляд, стоит лишь откопать в сети малоизвестный упаковщик поновее, да покруче и все будет торчком. Взять, например, OBSIDIUM
(http://wasm.ru/tools/12/Obsidium.zip), который многим хакерам зубы пообломал и с которым еще не справляется ни один антивирус.
Как одноразовый шприц такой прием вполне подойдет, но вот на долгосрочную перспективу его не натянешь. Как только выбранный упаковщик станет популярным, антивирусы тут же сподобятся его распаковывать! Чтобы там ни говорили некоторые оголтелые хакеры, эта военная хитрость слишком ненадежна.
А другие приемы борьбы есть?! Да, и не один, а, как минимум, целых три: уничтожение сигнатур упаковщика, внедрение подложных сигнатур
и дезактивация эмулятора (прим. в оригинале статьи было еще и перемещение секций, но из-за ограничений объема это пришлось поскипать. а жаль. мужики – это к читателям – возьмите главерда за яйца! пусть дает место под полновесный абзац, иначе я за себя не ручаюсь!). Разберемся со всеми ними по порядку.
Если выбранный нами упаковщик настолько крут, что не может быть распакован на виртуальной машине антивирусного эмулятора (универсальном распаковщике), антивирус пытается опознать упаковщик в "лицо", передавая бразды правления соответствующей процедура распаковки, либо распаковывающей файл самостоятельно, либо инструктирующей эмулятор на предмет обхода антиотладочных приемов. Исказив сигнатуру упаковщика, мы предотвратим его опознание, обломав антивирус по полной программе. Причем, в отличии от сигнатур самих вирусов, до которых еще докопаться надо, сигнатуры популярных упаковщиков хорошо известны.
В частности, для ASPack/ASProtect достаточно затереть первый байт точки входа, заменив 60h (опкод команды PUSHAD) на 90h (опкод команды NOP). Строго говоря, это не совсем корректный хак, нарушающий балансировку стека, однако, никак не сказывающийся на работоспособности подавляющего большинства программ.
Как мы будем действовать? Возьмем bo2k.exe (или любой другой файл) и, предварительно убедившись, что он успешно опознается всеми антивирусами, пропустим его через ASPack, после чего повторим процедуру опознания вновь. И AVP, и Dr.WEB продолжают визжать, подтверждая тот факт, что данный упаковщик им хорошо известен.
Загружаем файл в HIEW, однократным нажатием на <ENTER> переходим в hex-режим, давим <F5>, перемещаясь в точку входа, жмем <F3> для разрешения редактирования, говорим "90", подтверждая серьезность своих намерений клавишей <F9>. Dr.WEB насупился и молчит. AVP тоже заткнулся. Естественно, помимо NOP можно использовать и другие однобайтовые команды, как-то: inc eax/40h, inc ebx/43h, inc ecx/41h, inc edx/42h, inc esi/46h, inc edi/47h, dec eax/48h, dec ebx/4bh, dec ecx/49h, dec edx/4ah, xchg ebx,eax/93h и многие другие. Не надо злоупотреблять 90h – иначе антивирусы просто пополняться новой сигнатурой и все!
>>>> Info чего мы не будет делать плохие идеи или чего не надо делать
Подмена вирусной сигнатуры зараженного файла – это худшая из идей, которая только может придти вирусописателю в голову. Уродский, крайне трудоемкий, да к тому же требующий высокой квалификации способ – вот что это такое. Что отличает зараженный файл он незараженного? Сигнатура. Чтобы пройти сквозь все антивирусные заслоны, следует загрузить пациента в HEX-редактор, найти эти байтики и заменить их чем-то другим. Правильно? Нет!
Начнем с того, что сигнатуры прямым текстом нигде не хранятся. Современные антивирусные базы представляют собой весьма навороченные структуры данных, на реконструкцию формата которых легко потратить всю оставшуюся жизнь. При наличии неограниченного свободного времени сигнатуру можно найти и вручную, просто затирая различные байтики в зараженном файле и скармливая его антивирусу, дожидаясь когда это животное перестанет ругаться. Только учтите, что детектирование вируса обычно осуществляется по нескольким независимым сигнатурам, живописно размазанных по всему файлу и, что самое неприятное, варьирующихся от антивируса к антивирусу.
При наличии некоторого опыта, область перебора можно существенно сократить, поскольку антивирусы предпочитают привязываться к необычным последовательностям, нехарактерных для незараженного файла. Но всякий, умеющий определять, что обычно, а что нет, скорее напишет свой собственный вирус, чем будет пачкаться с плагиатом. К тому же, правка исполняемых файлов в hex-редакторе – занятие не для слабонервных. Для сокрытия сигнатуры необходимо переписать один или несколько фрагментов вируса, заменяя сигнатурные ячейки аналогичными им командами/данными, но имеющими другое машинное представление. А если вирус использует самомодифицирующийся код или тем или иным способом контролирует целостность своего тела? Зашифрованные же вирусы непосредственной модификации вообще не поддаются, а для их расшифровки опять-таки необходима квалификация. В общем мрак… Но мы будем действовать по плану (да! у нас есть два мешка отличного плана!)
>>>> Info криптография на пеньке
Упаковываем файл-носитель любым подходящим архиватором, поддерживающим шифрование, и отправляем архив пользователю вместе с паролем и инструкцией по его расшифровке. Пользователь распаковать файл сможет, а антивирус– нет. Правда, при активном инспекторе зараженный файл будет автоматически проверен после его извлечения (а у большинства пользователей инспектор активен). К тому же параноидально настроенные пользователи склонны проверять все запускаемые файлы вручную. Короче говоря, события развиваются как том в анекдоте: обгоняет грузин девушку, смотрит ей в лицо и вздыхает. Эх! Такую жопу испортила! Предложенная идея, при всей своей красоте, годиться лишь для обхода почтовых сторожей, чтобы те не прибили вложения еще на излете.
Как вариант, можно упрятать вирус в самораспакующийся архив, а для автоматизации ввода пароля использовать такую штуку как bat-файл. Хрен какой антивирус его расшифрует! Применительно к zip'у, шифрование и упаковка целевого файла выглядит приблизительно так: "pkzip.exe ?add ?maximum ?Sfx ?password=M$sux dst.exe src.exe", а распаковка (с автоматическим запуском!) так: "dst.exe –password=M$sux & src.exe", где M$sux – пароль, dst.exe – упакованный файл, а src.exe – файл-носитель. Если не хотите возиться с командными файлами – юзайте RAR – он позволяет автоматически запускать распакованную программу после ее расшифровки, хотя бы и ценой разорванной задницы.
Сначала необходимо создать первичный зашифрованный носитель. Для этого, предварительно упаковав подобный файл zip'ом (с паролем), тыкаем в него левой клавишей мыша и выбираем пункт "добавить файлы в архив". Затем в появившемся диалоговом окне взводим галочку напротив "создать sfx-архив", в закладке "дополнительно" выбираем "параметры sfx", изменяем путь распаковки с "program files" на текущую папку, и в строке "выполнить после распаковки" пишем "cmd.exe /c dst.exe –extract –password=M$sux&src.exe". В "режимах" говорим RAR'у "не показывать начальный диалог", а в закладке "текст и значок" выбираем иконку по вкусу и нажимаем на "ОК". Все! После запуска упакованного файла автоматически расшифруется и запустится исходная подопытная программа, гарантированно обходящая все антивирусные заслоны. Под Windows 9x это, естественно, работать не будет (в ней нет cmd.exe и вообще все по другому).
>>>> Info немного теории или под капотом антивируса
И ведь находятся же такие идиоты, что безоговорочно полагаются на антивирусы, и самодовольно похрюкивая, заявляют, что все файлы на данном диске/сайте проверены самыми последними версиями AVP/Dr.Web и типа здесь все ништяк. Наивные! Если антивирус говорит, что он ничего не нашел, то и понимать его следует буквально. Антивирус. Ничего. Не. Нашел. Стало быть, плохо искал!
Анализ показывает, что подавляющее большинство антивирусов используют сигнатурный поиск с жесткой привязкой к точке входа или физическому смещению в файле. Что все это значит? Не вдаваясь в неразбериху терминологических тонкостей, отметим, что сигнатурой называется уникальная последовательность байт, однозначно идентифицирующая вирус. Сигнатура может быть как сплошной (например, "DEAD BE EF") или разряженной (например, " DE ?? ?? AD ?? BE ** EF", где знак "??" обозначает любой байт, а "**" любое количество байт в данной позиции). Поиск по разряженной сигнатуре иначе называется поиском по маске и это – наиболее популярный алгоритм распознавания на сегодняшний день.
Для достижения приемлемой скорости сканирования, антивирусы практически никогда не анализируют весь файл целиком, ограничиваясь беглой проверкой одной-двух ключевых точек (например, окрестностей точки входа в файл, т. е. тех ячеек, с которых и начинается его выполнение). Реже используются привязка к смещению сигнатуры относительно начала файла.
Полиморфные вирусы, пятого и шестого уровня полиморфизма, не содержащие ни одной постоянной последовательности байт, сигнатурным поиском уже не обнаруживаются и для их детектирования приходится разрабатывать весьма изощренные методики, самой известной из которых является эмуляция процессора (называемая так же технологией виртуальной машины). Антивирус прогоняет подозреваемый файл через эмулятор, дожидается пока полиморфный движок расшифрует основное тело вируса (если файл действительно зашифрован), после чего применяет старый добрый сигнатурный поиск.
Это достаточно ресурсоемкая операция и без особой нужды антивирусы к ней стараются не прибегать.
Подлинно полиморфные вирусы, каждый раз на 100% перестраивающие свое тело и обходящиеся без навесных шифровщиков, эмулятором уже не обнаруживаются, однако, во-первых, такие вирусы существуют только теоретически, а, во-вторых, для их детектирования заблаговременно разработана технология логической реконструкции алгоритма исследуемой программы (т. е. антивирус смотрит что делает данная программа, игнорируя то, как именно она это делает).
Поскольку, зараженный файл может быть упакован (и тогда вирусные сигнатуры окажутся безнадежно искажены), антивирус должен быть готов распаковать его. Простейшие упаковщики распаковываются все тем же эмулятором, но монстров, снабженных большим количеством антиотладочных приемов (ASPack, tElock и другие) так не возьмешь и для борьбы с ними приходится реализовать специальные распаковщики, опознающие "свой" упаковщик по его сигнатуре…
Итак, круг замкнулся! С сигнатур мы начали и к сигнатурам вернулись в конце (не путать с тем концом, по сравнению с которым любое начало, не начало, а с позволения сказать даже не полуось).
команды, собственно говоря
Нажимаем <F9>
для сохранения изменений в файле и прогоняем его через AVP. Ну и почему мы не кричим? Куда девалось наше самодовольное похрюкивание? Всего две команды затоптали, а какой результат!!! Впрочем, наше положение крайне ненадежно и поводов для пьянки нет никакой (задвиньте открытое на радостях пиво обратно под стул). Как только разработчикам антивируса станет известно об этом инциденте в сигнатурной базе появится новая строка. К тому же Dr.WEB по-прежнему материться на win.exe вирус…
Что на это сказать? Не важно, кто поит девушку. Важно – кто ее танцует! И пока остальные будут с воплями топтать сигнатуры, мы ударим в самое сердце антивируса – в его виртуальную машину. Преодолеть эмулятор можно различными путями: а) вставить конструкцию, которую антивирус проэмулировать не в состоянии (самомодифицирующийся или самотрассирующийся код, обработку структурных исключений и т. д.);
б) команду, привязывающуюся к своему местоположению в памяти; в) команду, не известную эмулятору.
Код, отвечающий одному или нескольким вышеприведенным пунктам, мы будем называть антиотладочным кодом. Будучи внедренным в упакованный файл, он подложит хорошую свинью виртуальной машине и угробит антивирус еще до того, как распаковщик успеет получить управление. Тупое пополнение сигнатурной базы положение не спасет и разработчикам придется всерьез засесть за совершенствование виртуальный машины, что не только дорого, но и хлопотно. Так что без крайней нужны на это никто не пойдет и преложенная идея будет работать, укрывая вирусов от загребущих антивирусных лап.
Существует множество способов внедрения своего кода в чужой исполняемый файл. Вирусы обычно раздвигают последнюю секцию, записываясь в ее конец или создают новую. Дело это муторное и к тому же слишком заметное. Антивирусы матерятся так, что уши вянут. Тоже самое относится и к вторжению в заголовок.
Мы же поступим умнее и внедримся между секциями в середину файла. Берем файл упакованный ASPack'ом, грузим его в HIEW, нажимаем <ENTER>
для перехода в hex-режим, давим <F8>
для входа в режим заголовка, жмем <F6>
для просмотра таблицы секций, подгоняем курсор ко второй секции файла и ударяем по ENTER'у:
таблица секций файла
Теперь, прокручивая курсор вверх, мы оказывается в чертогах секции .text – в которой обычно и размещается машинный код нормальных программ. Так что наше появление не вызовет никаких подозрений со стороны антивируса.
Если здесь расположены не нули, а что-то другое, значит, свободного пространства ни хрена нет и ситуация ласты. Попробуйте упаковать файл с другой степенью сжатия или же поищите свободное место в других секциях. Обычно AVP/Dr.WEB это воспринимают довольно благосклонно, однако, никаких гарантий их лояльности у нас нет и внедрение антиотладочного кода в .text намного более предпочтительно.
сюда мы перемещаемся
Внедрять свой код можно в любое место, адрес которого начинается с точки (если точка не стоит, значит данная область файла не отображается в виртуальную память – загрузите файл в pe-editor, войдите в раздел section и приравняйте virtual size секции .text к ее raw size). В нашем случае это может быть любой адрес из интервала 31490F0h – 31491F0h. ОК, пусть это будет 3149100h как наиболее круглый. Сюда-то и будет направлена новая точка входа, для изменения которой проще всего прибегнуть к pe-editor'у. Внимание! Точка входа задается не в абсолютных, а в относительных виртуальных адресах, отсчитываемых от базового адреса загрузки файла (image base) и в нашем случае она равна 01E001h, что при базовом адресе в 03140000h дает 01E001h + 03140000h == 0315E001h. Именно по этом адресу наш код должен возвратить управление, чтобы упакованный файл смог начать свою работу. Соответственно, для вычисления RVA-адреса антиотладочного кода, мы должны вычесть из него image base. Тогда мы получим: 03149100h – 03140000h == 9100h. Записывает это значение в поле Entry Point и вновь возвращаемся в HIEW.
Если все было сделано правильно, после двойного нажатия на <ENTER>
, последовательное нажатие клавиш <F8>
и <F5>
перенесут нас аккурат в окрестности новой точки входа. К внедрению антиотладочного кода готовы? Блин… ну вы же не пионеры…
Начнем с самого просто – с самомодифицирующегося кода. Забросим на стек инструкцию перехода на оригинальную точку входа и немедленно ее исполним. Для этого нам предстоит набрать следующую последовательность команд: mov eax, абсолютный адрес старой точки входа/push 0E0FF/jmp esp, где "E0FFh" представляют собой машинной код команды jmp eax. Экран HIEW'а после завершения ввода должен выглядеть приблизительно так:
простой самомодифицирующийся код
Прогнав файл через AVP, мы убеждается, что он даже и не порывается хрюкать! Dr.WEB рычит, но это явление временное и скоро мы его обломаем. Открываем на радостях свежее пиво! Малость промочив горло и ощупав растущий живот, мы приступаем к более сложным фокусам. А именно – передаче управления посредством структурного исключенная, более известного под аббревиатурой SEH (которую Word упорно пытается заменить на SHE). Никакие, известные мне, антивирусы SEH не эмулируют, отладчики от него едут крышей, а начинающие хакеры тонут в диспетчере, умирая за трассировкой от старости и истощения.
Один из вариантов реализации антиотладочного кода выглядит так: заталкиваем в стек адрес старой точки входа (в нашем случае это 315E001h), заталкиваем указатель на предыдущий обработчик (он лежит в двойном слове по адресу FS:[0]) и регистрируем свой обработчик установкой FS:[0] на вершину стека. Затем возбуждаем исключение, например, порываемся делить на ноль, выполняем несуществующую машинную команду, или обращаемся к несуществующему/защищенному адресу памяти (например, лезем в ядро). Короче, была бы фантазия, а поводы для возбуждения исключения завсегда найдутся…
передача управления по структурному исключению
И что же? Оба антивируса молчат, а отладчики при достижении строки 3149111h забрасывают нас далеко в ядро и далеко не каждый хакер знает, как заставить soft-ice отобразить истинный адрес перехода (правильный ответ: дать команду xframe).
Напоследок – подсунем виртуальной машине неизвестную ей инструкцию. Что ни будь из набора мультимедийных команд P-III+. Вот, хотя бы туже prefectch [eax], которой соответствует следующий опкод: 0F 18 00, и которая осуществляет упреждающую предвыборку данных в кэш. Навряд ли антивирусы станут ее эмулировать. Но разве они не могут просто пропустить ее? В том-то и дело, что не могут! Неизвестная инструкция имеет неизвестную длину и определить ее границы эвристическими методами невозможно. Эмулятор просто не будет знать откуда ему продолжать разбор кода…
тривиальный jump на точку
Приведенный выше код раскалывается всеми современными антивирусами, но стоит изменить первые три байта на 0F 18 00, как эмуляторы скинут ласты. Кстати говоря, у hiew'а крыша едет тоже:
внедрение команды prefecth
Подытожив наши достижения, мы получим следующую табличку, которой по праву можем гордится:
метод | AVP | Dr.WEB | |||
"голый" bo2k.exe | ловит | ловит | |||
упаковка OBSIDIUM'ом | молчит | молчит | |||
упаковка ASPack'ом | ловит | ловит | |||
упаковка ASPack'ом с затиранием 60h | молчит | молчит | |||
HidePX | ловит | ловит | |||
ASPack + SEH | молчит | молчит | |||
ASPack + EPProt | ловит | возможно win.exe вирус | |||
ASPack + prefecth | молчит | молчит | |||
ASPack + EPProt + pacth | молчит | возможно win.exe вирус | |||
упаковка в архив с паролем | ловит инспектором | ловит инспектором | |||
ASPack + самомодифицирующийся код | молчит | ловит |
Наши герои
В экспериментах участвуют: система удаленного администрирования BackOrifice 1.0 (вместо нее можно использовать любой другой исполняемый файл или DLL), антивирусы Dr.WEB 4.31, AVP 3.6, хакерский редактор HIEW (версия по вкусу), редактор pe-файлов PE-TOOLS или LordPE (они практически полностью идентичны друг другу), упаковщик ASPack 2.11, а так же некоторые другие тузлы, упоминаемые по ходу повествования.
падчим файл, упакованный ASPack – замена 60h на 90h срубает антивирусы напрочь
Если лень возится с hiew'ом, воспользуйтесь любым подходящим скремблером – программой для автоматического затирания сигнатур. Их легко найти в сети, только учите, что большинство из них ни хрена не работает, потому что искажает совсем не те сигнатуры, на которые реагируют антивирусы или в оголтелом порыве энтузиазма гробят файл так, что вместе с антивирусом его перестает узнавать и сам распаковщик. Так, в частности, ведет себя незаслуженно популярный HidePX, который лежит здесь http://wasm.ru/tools/12/HidePX.zip.
Как альтернативный вариант, можно не затирать сигнатуру оригинального упаковщика, а, напротив, нафаршировать файл подложными сигнатурами прочих крутых упаковщиков. Ошибочное распознание упаковщика препятствует его распаковке и антивирус тихо кончает, отпуская вирус восвояси. Однако, этот путь не обходится без проблем. Первое и главное – где брать сигнатуры? Программы-протекторы (такие, например, как EPProt http://download.ahteam.org/files/oursoft/epprotector.zip), подкладывают сигнатуры, надерганные из pe-сканеров[1], против которых они, собственно, и нацелены. Антивирусы могут использовать другие сигнатуры и тогда наживка не срабатывает.
Возьмем bo2k.exe, упакуем его ASPack'ом и внедрим одну (а лучше несколько) подложных сигнатур, услужливо предоставленных EPProt'ом. Пусть для определенности это будет tElock. В окне "select" указываем путь к подопытному файлу, в окне "insert signature" отмечаем выбранную сигнатуру (по одной за раз) и давим на "Protect EP". Зовем антивирус и говорим "фас!": AVP с победоносным хрюком свиньи, заживо спускаемой в унитаз, разрывает противника в клочья. Dr.WEB хотя и не распознает Back Orifice, но ругается на "возможно win.exe вирус", что не есть хорошо.
внедрение подложных сигнатур упаковщиков с помощью EP Prot
Причина провала операции в том, что мы не одни такие умные. Надурить AVP с помощью EPProt'а хакеры пытались уже давно и AVP эту штуку хорошо знает. Но сможет ли он распознать те же яйца, если их развернуть в профиль? Давайте проверим! (Попутно – какая связка порвется, если повернуть яйцо на 180 градусов. ответ – голосовая). Загружаем обработанный файл в HIEW, дважды нажимаем <ENTER> для перехода в ассемблерный режим, давим <F5> для перехода на entry point и наблюдаем приблизительно следующую картину (наименование и расположение машинных команд могут кардинальным образом отличается, от приведенных, ведь EPProtect – полиморфный протектор, – но суть останется неизмененной):
падчим файл, защищенный
Находим цепочку из четырех или более инструкций NOP и, нажав <F3>, давим на <ENTER> и вводим что-то вроде add eax, ebx/sub eax, ebx (где "add eax, ebx" добавляет к регистру eax значение регистра ebx, а "sub eax, ebx" вычитает его оттуда), в результате у нас получается следующее:
Техника выживания в мутной воде или как обуть антивирус
крис касперски
http://kpnc.opennet.ru,
83.239.33.46:21
здарова, дружище! что такой грустный? последний троян, которого ты забросил, обнаружили еще в посылке? и весь задуманный план полетел к черту? пиши свой! что, неужели так трудно? скачай ViriiLab, которых пруд пруди в Сети, и вперед. все равно ловят? и правильно– не так-то просто написать хороший вирь. да еще и антивирусные сканеры превратились в непотребные эвристики. ох уж эти антивирусисты – вечно что-нибудь придумают, чтобы испортить жизнь таким, как мы. ну да ничего, мы тоже не на васике писаны :) давай разбираться, как устроены эти их супер-пупер навороченные программы, "использующие методы эвристического анализа".
BenderyHackGroup
быть кибервоином – это значит жечь все! топтать клаву и учить асм муторно и на хрен не нужно! выучить пару приемов каратэ и складировать антивирусов штабелями. а ну подать секреты хакерской кухни на всеобщее растерзание, простым пацоновским языком объясняющие какие кнопочки в hiew'е нажать надо, чтобы всему world'у сделать fack.
За минувшие годы на свалку
За минувшие годы на свалку истории были отправлены десятки тысяч вирусов, троянских коней, систем удаленного администрирования и прочей уголовной братии. Жизненный цикл этих созданий (далее по тексту просто "вирусов") вообще говоря очень недолог. Стоит только попасть в лапы к Евгению Касперскому (не путать с Крисом Касперски – мы не только разные люди, но даже не однофамильцы!), как в реестр "их разыскивает полиция" добавляется новая запись, после чего вирус бьется влет…
Может ли вирусная экспансия противостоять антивирусной агрессии? Вопрос совсем не так прост, каким кажется. С одной стороны, создать принципиально недетектируемый вирус никому не удалось (и в обозримом будущем навряд ли удастся). И дело тут не столько в отсутствии свежих идей, а сколько в сложности их реализации. Разработка "неуловимого" вируса требует колоссальных усилий, помноженных на высоту квалификации и профессионализма, ничем в конечном счете не вознаграждаемых. Ну и кому из специалистов это нужно?
С другой стороны, памятуя о том, что стадо мышей валит кота, можно сказать, что сотня тупейших, но еще не известных науке вирусов, намного опаснее одного полиморфного аристократа. При условии, что вирус не ловится эвристиком (а перехитрить эвристик очень легко), до тех пор пока он не попадет в базу данных антивируса, он будет жить и плодотворно размножаться. Ну а потом… "мавр сделал свое дело" и эстафету перехватит другой. Причем, создавать новый вирус "с нуля" совершенно необязательно и при желании (читай – отсутствии идей и творческого зуда), достаточно слегка подмазать исходные тексты уже известной антивирусу программы (например, откомпилировать другим компилятором). Если же исходных текстов нет, можно поиздеваться непосредственно над самим исполняемым файлом. Вот об этом мы и поговорим!
Не пытайтесь расценивать эту статью
Не пытайтесь расценивать эту статью как призыв писать или того пуще распространять вирусы. На это есть УК и блюдущие органы. Моя миссия проще. Я всего лишь попытался показать (и доказать), что любой ламер, слегка подкрутив вирус, может поиметь не одну сотню пользователей, свято верящих в чудодейственную силу свежеобновленных антивирусов.
Кстати об обновлениях. Я так мыслю, что разработчики последних не зря свой хлеб едят и статейки из Интернета/бумажных изданий все же почитывают. Поэтому, не надо копировать приведенные здесь примеры как есть – спустя какое-то время работать они уже не будут. Проявляйте инициативу! PUSH xxx можно заменить на MOV EAX, xxx/PUSH EAX и еще тысячу других команд. Учите матчасть и программирование! Бесплатный сыр и универсальные кракеры чего бы там ни было бывают только в мышеловках.
[1]
pe-сканерами называют программы автоматического определения типа используемого упаковщика/протектора/компилятора