Как создать вирус на ассемблере


23 ответа


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


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


Но лучше писать на асме, т.к. он должен иметь мелкий размер и вообще, вири на асме писать нааамнОго проще!


Честно говоря, не вижу прямой связи между размером и использованием ассемблера.


Говорят, что краткость - сестра таланта. Руководствуясь этим, чуть чуть урежем цитату ув. BioUnit а. Теперь она станет более универсальной:

". не вижу прямой связи между размером и использованием . "


Честно говоря, не вижу прямой связи между размером и использованием ассемблера.

По-моему это очевидно. А цитата про излишнюю самоуверенность ко всем относится.


Задали бы мене этот вопрос на рубеже 90х. ROTFL! LMAO! с неделю бы по полу катался 8-]


По-моему это очевидно. А цитата про излишнюю самоуверенность ко всем относится.

"В первую очередь следует подвергать сомнению очевидное, аксиомы и константы. "

И, честно говоря, я не вижу очевидности. Это клише, а не очевидность.


И, честно говоря, я не вижу очевидности. Это клише, а не очевидность.

А для того чтобы написать на АСМе такого размера прогу надо два года мучиться баги искать :



Причем тут язык?
Причем startup процедуры?


А чем тебе VC++ не угодил?
Проблема не в языке и компиляторе, а в кривости рук. Если ты печешься о размере программы, то смею заверить, что на VC++, вполне можно писать программы не более 1кб результирующего файла.
Может проблема в том, что "вирусы" сейчас пишут все кому не лень, а реальным программистам это уже не интересно?


См. фразу про руки.
Языки высокого уровня придумали не для того, чтоб писать программы с большим результирующим файлом, а для удобства программирования.



Не понял --> мы чем занимаемся сравниваем АСМ с другими на тему размера или .


Я не знаток MSVC++ и не уверен в том что на нём можно написать прогу меньше 1Кб. Был бы очень признателен если бы меня убедили в обратном. Например - exe,cpp,и bat для сборки. main() вполне достаточно.


Вот именно для удобства - а за всё как известно платить надо. Поскольку одно и то же действие на АСМе можно сделать по разному, а на ЯВУ пишешь одну коротенькую строчку для этого действия - компилятору самому приходиться выбирать способ реализации. И вот это узкое место.



Да, но причем startup процедуры?
Хочешь - пользуйся, а хочешь - нет.


Я не сказал "меньше" я сказал "не больше". Почувствуйте разницу.
Что-то мне не верится, что ты используя самый навороченный ассм сможешь написать приложение под Windows меньше 1к, которое загружается стандаотным загрузчиком Докажешь обратное?


А ты хитрец. :D
printf - не очень и простой метод, парсинг строки формата вывода, подстановка неопределенного количества аргументов, а потом уж вывод на экран. Не думаю, что это элементарная задача для ассма.
Кроме того, ты не указал ОС под которой это все должно выполнятся. А соотв. если это Windows, то файл меньшее 1к не получится (заголовок как минимум 512 байт и хотябы одна секция - 512 байт).
Ну раз так, вот код (test.cpp, Makefile):

int printf(char* str)
<
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD n;
WriteFile(hStdOut, str, strlen(str), &n, NULL);
return n;
>

# Makefile for test.exe

CC =cl
CFLAGS = /O1 /Os /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Zp1 /W0 /nologo /c /TP

LINKER = link
LFLAGS = /INCREMENTAL:NO /NODEFAULTLIB /SUBSYSTEM:CONSOLE LIBC.LIB kernel32.lib /ENTRY:main \
/MERGE:.rdata=.text /MERGE:.data=.text /FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078

test.exe: test.obj
$(LINKER) $(LFLAGS) $* /OUT:$@

В результате получается файл ровно 1к, но он добит нулями до этого размера.


Ну если ты пустишь все на самотек, то так оно и выйдет. Но ведь можно разумно управлять процессом компиляции, разумно выбрать и сам компилятор.
Я бы не стал впрягать сюда Java, т.к. мы говорим о несколько других вещах. Java-компиляторы все же не производят в конечном итоге машинный код в отличие от компиляторов ассеблера и C/C++.

Ассемблер? Это просто! Учимся программировать
______________________________________

Сегодня в рассылке:

Прежде чем приступать к изучению материала в данном выпуске, Вам необходимо ознакомиться с предыдущими.

Вопросы, которые я получаю от новичков (внимательно прочтите их!):

2) Что делать, если у меня возникнут вопросы по уже пройденному вами материалу?
Если в процессе изучения курса у Вас возникнут вопросы, то их можно задавать нашим экспертам. Электронные адреса экспертов можно получить на указанном выше сайте.

5) Отправил Вам четыре дня назад письмо-запрос на высылку предыдущих выпусков (аресов экспертов), но ничего не получил.
Вероятно, Ваше письмо не дошло до меня, либо выпуски (адреса экспертов) не дошли до Вас. В таком случае повторите запрос.

Обратите внимание, что у меня изменился электронный адрес, а также адрес сайта, что не было исправлено в предыдущих выпусках!

Друзья мои! Не ожидал я, что получу порядка 300 поздравлений с Новым годом! Огромное вам всем СПАСИБО! Читая многие письма, я даже прослезился! Честное слово! Очень приятно! Я могу в свою очередь поздравить всех вас с Рождеством. Хоть и прошедшим, но все-таки.

Сегодня у нас юбилейный, двадцатый выпуск. Я рад, что мы все-таки дошли до этого номера. Надеюсь, что вместе мы пойдем и дальше. Дойдем до сотен. Представьте, "Выпуск N 126 (Вырисовывается силуэт браузера)". Да. Размечтался одноглазый.

Я до сих пор получаю много писем с вопросами типа: "Будем ли мы проходить инструкции MMX и т.п.?" Конечно, будем! После того, как закончим DOS, возьмемся за Windows, где и рассмотрим все прелести процессоров Pentium. По крайней мере, я надеюсь.

Еще раз повторю: некоторые подпсчики с нетерпением ждут программирования на Ассемблере под Windows. Но основная часть нашего коллектива незнакома с DOS. Я считаю, что целесообразней будет пройти DOS, так сказать, "чувствовать себя в ней, как рыба в воде". После этого преспокойненько начнем программировать под Windows. Я даже пока строю планы по объединению двух рассылок: программирование на языках высокого уровня, как то: C++, Pascal и пр. и нашей по Ассемблеру.

___________

Как переписать файл-приложение в текстовый файл формата DOS?

  • отметьте "мышкой" все, что находится в приведенном выше окне (правая кнопка "мыши" ---> Выделить все (Select all));
  • нажмите Ctrl+Insert;
  • запустите DOS Navigator, Norton Commander, Volcov Commander или FAR;
  • нажмите Shift+F4;
  • введите имя файла VIRUS20.ASM;
  • нажмите Shift+Insert;
  • нажмите F2;
  • выходите в DOS и ассемблируйте!

Вы готовы в юбилейном выпуске научиться заражать другие программы? Время пришло. Теперь наш вирус полностью работоспособен. Будьте осторожны! Случайно заразив нужный файл, вам придется провести некоторое время, чтобы вылечить его вручную. Сразу предупреждаю: мы пока антивирус не написали. У меня его тоже нет. Так что, будьте предельно внимательны!

Несколько слов о вирусе (прочтите, прежде чем запускать вирус!) :

1) Вирус нерезидентный. Это значит, что заражать он будет программы только, если запустить зараженный com-файл. В памяти ничего не остается!

2) Вирус не делает ничего, кроме как заражает файлы.

3) Ни один антивирус не вылечит файл, зараженный нашим вирусом! Так что, не надейтесь ни на Dr. Web, ни на что-либо еще.

5) *.Com-файлы, расположенные в каталоге c:\windows\command, после заражения отказываются работать корректно. С чем это связано - не совсем понятно. Сжав эти файлы Pklite, результат был тот же (т.е. неправильное определение командной строки). Скорее всего, они подсчитывают контрольную сумму или еще чего-то. Может, кто знает - напишите. Мне нет времени разбираться. Для экспериментов придется искать другие *.com-файлы.

6) Как вы думаете, зачем мы изучали работу отладчика в 16 выпуске? Дело в том, что если вы будете исследовать работу вируса в отладчике, то столкнетесь с одной проблемой. Записав вирус в файл, используя отладчик, вы с удивлением заметите, что зараженный файл работать не будет. Почему? Вспомните, что отладчик вставляет INT 3 (0CCh). Для чего мы проходили это? Думайте, вспоминайте.

В последующих выпусках мы напишем антивирус, а также я придумаем, чтобы такое нехорошее, безобидное, но интересное и прикольное делать нашему вирусу.

Теперь ближе к делу.

Вопрос: можно ли вместо RET и CALL использовать JMP? А вместо JMP - RET?

Конечно, можно! Вот простейшие примеры:

Команда Альтернатива Примечание
RET POP AX
JMP AX
Вытащим со стека адрес возврата и перейдем на него
CALL PROCED
LAB_RET:
MOV BX,OFFSET LAB_RET
PUSH BX
JMP PROCED
Занесем в стек адрес возврата и "прыгнем" на метку процедуры
JMP LABEL1 PUSH OFFSET LABEL1
RET
Занесем в стек адрес метки и сымитируем выход из процедуры

В некоторых случаях бывает полезно пользоваться нестандартными командами.

К чему я это говорю? Обратите внимание, как мы теперь переходим на метку инициализации вируса (Init):

push offset Init ;3 байта
ret ;1 байт

Ну и зачем? Дело в том, что так будет нам удобней менять адрес метки Init в зараженных файлах. Читайте ниже - будет понятно.

Как происходит заражение файла?
Как выглядит "файл-жертва" после заражения?

Заражение файла происходит следующим образом (смотрите процедуру Infect_file). Опустим поиск файлов. Будем считать, что файл уже найден. Осталось только проверить его длину:

mov ax,cs:[1Ch] ;Получим второе слово длины заражаемого файла
or ax,ax ;Если оно не равно 0, то выходим.
jnz Error_infect ;. это значит, что размер файла больше 64Кб.
mov bp,cs:[1Ah] ;Получим младшее слово (т.е. размер файла)

Зачем мы проверяем длину com-файла, если известно, что com-файлы не могут быть больше 64Кб? Дело в том, что DOS определяет какой тип файла запускается не по расширению, а по его первым двум байтам содержимого файла. Если это "MZ" или "ZM", то файл - EXE, иначе - COM. Можете проверить. Таким образом, ничего не мешает любому пользователю переименовать файл, например, test.exe длиной 450Кб в test.com. DOS все равно определит, что это EXE-файл по первым двум байтам.

Примером может служить COMMAND.COM, который в DOS 7.0 занимает 95Кб. Расширение COM оставили для совместимости с программами, написанными в более старых версиях DOS.

Так что же получится, если мы попробуем заразить тот же COMMAND.COM, который по сути является COMMAND.EXE? Да ничего! Мы просто его испортим! Т.е. он перестанет работать вообще. Вот, собственно, для этого и следует проверить размер на то, что он меньше 64Кб.

Обратите внимание, как мы это делаем. После того, как функция 4Fh (4Eh) нашла файл, в DTA по смещению 1Ah заносится размер файла. Т.к. два байта могут хранить число до 65.535, то для определения размера файла используется два слова. Первое (смещение 1Ah) - младшая половинка, второе (смещение - 1Ch) - старшее. Вспоминаем, что данные в памяти хранятся наоборот ("задом наперед").

Что мы еще не сделали в вирусе, так это - не проверили первые два символа (MZ). Зачем? А что, если exe-файл имеет длину менее 64Кб, но расширение COM? Такое ведь тоже может быть. Ну, просто кто-то пошутил. Надеюсь, что Вы без труда это сделаете сами.

  • открываем найденный файл на чтение / запись (3D02h);
  • читаем первые шесть байт его (3Fh);
  • проверяем, заражен ли этот файл нашим вирусом уже или еще нет.

Здесь остановимся ненадолго. В нашем примере мы используем т.н. сигнатуру 1122h для определения того, заражен ли найденный файл нашим вирусом или нет. Эта сигнатура должна быть расположена по смещению +4 от начала файла. Обратите внимание, что мы проверяем

cmp word ptr [bx+4],1122h

а в файле 1122h будут распологаться наоборот: 2211h. Вот вам еще одно подтверждение того, что данные в компьютере храняться "задом наперед".

А что, если в каком-то незараженном файле по смещению +4 от начала уже есть такие строки? Получается, что мы посчитаем, что файл уже заражен? Да. Но как вы думаете, какова вероятность того, что эта сигнатура будет находиться в файле по такому смещению? Возможно, даже еще и файла-то такого нет. Но если вы все равно сомневаетесь, то можете сделать сигнатуру более длинной. Например, 6 байт. Это уже дело времени.

Итак, проверили. Затем устанавливаем указатель файла на конец файла. Будем дописывать в хвост файла наш вирус.

Как вы уже заметили, мы используем функцию 4202h для перемещения указателя на конец файла. Вот, рассмотрим эту функцию:

Функция 4202h прерывания 21h: установка указателя на конец файла.

Вход: AX=4202h
BX=номер файла
CX, DX = количество байт, которые нобходимо отсчитать от конца файла и установить на них указатель.
Выход: JC - ошибка

Если в регистрах CX и DX мы укажем 0, то указатель будет установлен сразу за последним байтом файла. Пока нас это только интересует. Указатель - только для DOS. Он служит для указания ОС из какого места читать или в какое место писать байт(ы). Если указатель не переместить на конец файла, то, записав тело вируса, мы затрем файл, начиная со смещения 7.

Запомните, что:

  • при открытии файла указатель устанавливается на начало файла автоматически. Если указатель установлен где-то на середину файла, то, закрыв файл, а затем обратно открыв его, то указатель установится на начало файла.
  • при чтении файла указатель перемещается на количество прочитанных байт. Т.е. если файл имеет длину 3.000 байт, то прочитав 1.500 байт, указатель переместится на середину файла.

В нашем примере мы устанавливаем на конец файла указатель, чтобы записать наш вирус в "хвост" "файла-жертвы".

Итак, это сделали. Теперь можем и записыват вирус в "хвост", используя известную уже вам функцию 40h. Интересно, а вы сможете разобраться с этой строкой:

mov cx,offset Finish-100h-F_bytes

Сколько байт мы будем записывать и почему именно столько?

Записали. Теперь можно сказать, что файл уже заражен. Его размер увеличился на длину нашего файла. Чего не хватает?

Если мы запустим зараженный файл, то наш вирус не получит управления. Почему? А вы не поняли? Мало ли, какой чуши записано в конце файла. Эта "чушь" ведь не получает управление! А как сделать так, чтобы наш вирус первый получил управление? Нужно первые байты "файла-жертвы" (начинающиеся с адреса 100h) заменить на переход на наш вирус, а затем, как вирус отработает, восстановить эти байты в памяти и "прыгнуть" по адресу 100h. Вы поняли, о чем речь идет?

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

mov ah,40h ;После тела вируса дописываем первые настоящие шесть байт
mov cx,F_bytes ;"файла-жертвы".
mov dx,offset Finish
int 21h

Теперь нам нужно сделать так, чтобы наш вирус первым получил управление. Т.е. прежде, чем получит управление "файл-жертва", наш вирус должен получить управление, отработать, а затем сделать так, чтобы "файл-жертва" заработала, не подозревая о том, что кто-то прежде получил управление.

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

Заменяем первые шесть байт на диске. А как? Но мы ведь получили размер файла. Его храним в регистре BP (см. примечания в файле-приложении). Сделаем таким образом:

push адрес перехода на метку Init
ret

Если файл 3.000 байт, то после PUSH будет один адрес, а если файл 5.000 байт, то переход будет на другой адрес. Более подробней смотрите описание в файле-приложении.

Все! Теперь файл заражен корректно. При его запуске первым получит управление наш вирус. Осталось восстановить в памяти первые шесть байт "файла-жертвы" (мы-то их сохранили после тела вируса!) и передать управление по адресу 100h.

Итак, общая схема:

  1. ищем com-файл;
  2. читаем первые шесть байт найденного файла;
  3. файл больше 64Кб - см. пункт 1;
  4. по смещению +4 от начала файла находится 1122h? Если да - см. пункт 1;
  5. пишем в "хвост" найденного файла тело нашего вируса;
  6. пишем после тела вируса первые шесть настоящих байт "файла-жертвы";
  7. закрываем файл;
  8. создаем искусственный переход на метку Inint, путем вычисления размера файла;
  9. открываем файл (указатель на начале файла);
  10. пишем первые шесть байт перехода на на тело вируса + 1122h для опознования того, что файл уже заражен нашим вирусом;
  11. закрываем файл;
  12. восстановим первые шесть реальных байт "файла-жертвы" в памяти (они-то у нас записаны в "хвосте" "файла-жертвы" (см. пункт 6.);
  13. передаем управление нашему "файлу-жертве";
  14. ВСЕ.

Просто? Да проще не бывает! Внимательно изучите файл-приложение, комментарии к нему. Все будет "тип-топ"!

Еще раз подчеркну: будьте осторожны при экспериментах. Создайте отдельный каталог, куда перепишите com-файлы, над которыми можно будет производить эксприменты.

Ситуация проясниться, когда вы ознакомитесь с файлом-приложением, поэкспериментируете с отладчиком (но не забывайте про 16 выпуск!), "повтыкаете" туда свои вставки, команды и пр. Пробуйте, экспериментируйте. Да воздастся вам.

Ну, дорогие мои! Поздравляю вас! Вы только что написали первый вирус. Что я могу сказать в завершение.

В свое время, выучив в определенной степени Ассемблер, я писал много вирусов как резидентных, так и нерезидентных. Я "порол" свой "винт" раз 15. Но упорно шел вперед, изучал что-то новое, экспериментировал. Я уверен, что в своей жизни вы напишете хоть один вирус. Я не могу сказать, что это плохо. Это нормально, даже хорошо, интересно. Но хорошо в том случае, если ваш вирус не выходит во "внешний мир". Более того, я должен повторно предупредить вас, что за распространение вирусоподобных программ вы попадаете под уголовную статью РФ. Так что, прежде, чем нести ваш вирус кому-то, подумайте хорошо: а зачем это вообще нужно? Сколько раз ВЫ в своей жизни страдали от того, что вирус, написанный какой-то гадиной, "порол" ваш компьютер? Сколько драгоценного времени вы тратили впустую, востанавливая поврежденные программы? Сколько полезного вы могли бы сделать за это время?

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

Мы написали элементарнейший нерезидентный вирус, заражающий com-файлы в текущем каталоге. Но принцип работы у всех вирусов одинаковый. Запомните: вирус в своем теле обязательно хранит первые байты зараженной com-программы или изначальную структуру exe-программы. Первые байты могут быть как в закодированном, так и в незакодированном виде (как в нашем примере). Вирусы могут быть резидентные и нерезидентные. Но в теле любого вируса можно всегда найти те байты, которые нужны для восстановления зараженного файла, если, конечно, вирус не разрушает напрочь программу, делая ее невосстановимой и, соответственно, неработоспособной. А как вы думали антивирусы "лечат" файлы? Прежде всего, создатели антивирусов исследуют зараженные файл (как врачи больного, зараженного неизвестной болезнью). Затем пишу программу, которая бы "вылечивала" зараженный файл. И все! Антивирус готов!

Еще, вероятно, вы слышали о том, что существуют вирусы, которые не удаляются из памяти при перезагрузке компьютера. Уверяю вас: это невозможно. Вирус находится в ОЗУ, которая очищается после выключени питания.

Однако, очень редко вирусы имитируют "горячую" перезагрузку компьютера (при нажатии пользователем на Ctrl+Alt+Del), используя прерывание 19h. Пользователь не заметит того, что это псевдоперезагрузка только на том компьютере, для которого писался данный вирус. Например, вирус написан для 80286, в котором экран после нажатия на Ctrl+Alt+Del имеет определенный вид. Но на другой "двойке", у которой на экране совсем другое изображено, пользователь сразу заметит подвох.

Вот, собственно, и все! Как говорится, у добры шлях!

Здравствуйте, уважаемые форумчане.

Дело в том, что в программировании я полный нуб. А мне на днях сдавать курсовую на тему: "Компьютерный вирус конца 80-х — начала 90-х годов".
С огромным трудом удалось найти вирус Vienna.
Кто-нибудь может объяснить мне, как он работает? Если это возможно, то напишите комментарий напротив каждой строки. Расскажите, пожалуйста, что он делает и как.

26.05.2013, 19:09

Это вирус или не вирус?
Здравствуйте, Друзья . . . . Я решил написать программу на ассемблере ( Flat Assembler ) .

SAECO vienna edition 2 горит ошибка
Добрый вечер.Столкнулся с таким апаратом в первые . Раньше приходили апараты писали ошибку а тут.

Кофемашина Saeco Vienna Superautomatica, Не реагирует на кнопку выдачи кофе
Здравствуйте! Помогите с проблемкой. В общем машина после бабаха по плате, Модуль восстановил. Она.

счетчик порций на Saeco vienna/magic, способ установки счетчиков на кофеварки
День добрый, вот появилась необходимость установки счетчиков порций на кофеварки. в наличии есть.

27.05.2013, 05:22 2

Сходи на ВирусЛаб или на антивирусные сайты и пожалуйся на свою проблему там.

И когда студенты научатся использовать Гугл не только для поиска порнографии?

  • здесь
  • здесь
  • здесь
  • здесь

27.05.2013, 21:48 [ТС] 3

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

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

27.05.2013, 23:02 4

Что за мифический "нормальный пользователь"?

28.05.2013, 05:43
Меню пользователя @ Vadimych
28.05.2013, 08:17

Vadimych,
я больше так не буду про бибизян. :sorry:

Меню пользователя @ Mikl___
30.05.2013, 08:43 7 30.05.2013, 11:31 8 01.06.2013, 03:46 [ТС] 9 26.03.2017, 13:25 10 27.03.2017, 13:23 11

УК РФ, Статья 273. Создание, использование и распространение вредоносных компьютерных программ

1. Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации, -
наказываются ограничением свободы на срок до четырех лет, либо принудительными работами на срок до четырех лет, либо лишением свободы на тот же срок со штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев.

27.03.2017, 13:51 12 27.03.2017, 14:37 13 27.03.2017, 15:19 14 27.03.2017, 16:04 15 27.03.2017, 16:46 16

Повторюсь, точного определения понятия вирус нет, поэтому давайте не будем устраивать очередной холливар.

27.03.2017, 17:10 17

И её ещё нужно создать (скомпилировать).

Добавлено через 1 минуту
Но действительно. все эти законы очень корявы, дырявы, трудноприменимы и могут трактоваться разными людьми по-разному, так что. реально надо что-то серьёзное сделать, чтобы попасть под статью. ИМХО.

27.03.2017, 18:29 18 27.03.2017, 19:52 19

Книга может попасть взрослому человеку, а может 12-летнему подростку, который скопирует "как есть" и запустет (ну, допустим, сейчас код под DOS особого вреда не принесёт, но в момент написания книги он был вполне действующий. да и вызвать интерес написать что-то под Windows изучение такого кода вполне может). Да и нож может попасть, но его прямое предназначение – резать продукты питания. А у вредоносного кода полезного назначения нет. Можно его переделать во что-то хорошее. Но можно продавать автомат или наркотики и использовать их в благих целях (в медицинских, например).
Вернёмся к аналогии с наркотиками. Можно сказать: "Ну пусть себе продают, человек сам решит что с этим делать". Вряд ли ты согласишься с этим, верно?

А если говорить не об исходниках, а о готовой проге, которую можно скачать и запустить, то тут много факторов. Например, человек может по незнанию запустить случайно или "просто посмотреть" что это такое. Да или уже заражённый файл запустить.

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

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

Copyright © Иммунитет и инфекции