Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2016, 12:12   #1
Narutlih
 
Регистрация: 13.03.2016
Сообщений: 3
По умолчанию Написание безвредного "вируса"

Учусь на программиста, в честь завершения 2го курса сказали выполнить "работу практической направленности". В идеале - взять какую-то задачку из учебника Э. Таненбаума по современным операционным системам. Ну я недолго думая и взял одну. По написанию вируса.

Вирус вроде бы тривиальный - *"испортить" exeшник. Вот только литературы по этому вопросу - кот наплакал. Единственное что нашёл - пособие, как написать что-то похожее на Асемблере. Вариант не очень. Собственно, подхожу к главному вопросу темы - где можно найти хоть что-нибудь на С/плюсах/делфи? Или это запретная информация, и лезть за ней надо в тор?

* Вот как полностью звучит задание:
"Напишите программу, эмулирующую перезаписывающие вирусы. Выберите существующий исполняемый файл, о котором известно, что он может быть перезаписан без нанесения какого-либо вреда. Для двоичного кода вируса выберите любой исполняемый двоичный файл."
Narutlih вне форума Ответить с цитированием
Старый 13.03.2016, 12:18   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что-то не понял задание, надо чтобы ехе после записи остался работоспособным или что?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 13:22   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

сделай безобидный вирусняк, который:
1. выбирает любой исполняемый файл, типа EXEшник.
2. копирует его несколько раз под разными именами во все существующие папки на компе.имена файло берутся от реальных файлов, не типа fdhfnfhn.chh и прочая абракодабра, а нормальные, ипа Regedit.exe, или Word.exe....
3. таким образом, забивает дубликатами весь жёсткий диск. и вроде как вредина, но не шибко страшная.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 13.03.2016, 13:25   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

12 лет назад я занимался такой фигнёй. На работе, от безделья. Сильно урезанный вариант результатов даже опубликовали в одном журнале.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.03.2016, 16:11   #5
Narutlih
 
Регистрация: 13.03.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что-то не понял задание, надо чтобы ехе после записи остался работоспособным или что?
Думал заниматься этим постепенно: сначала переделать так, чтобы экзешник не вёл никуда, потом попытаться, чтобы он запускал другое приложение, а в идеале - чтобы запускалось и стороннее приложение и то, которое должно(как я понял, нормальные вирусы работают по такой схеме).
Цитата:
Сообщение от NetSpace Посмотреть сообщение
сделай безобидный вирусняк, который:
1. выбирает любой исполняемый файл, типа EXEшник.
2. копирует его несколько раз под разными именами во все существующие папки на компе.имена файло берутся от реальных файлов, не типа fdhfnfhn.chh и прочая абракодабра, а нормальные, ипа Regedit.exe, или Word.exe....
3. таким образом, забивает дубликатами весь жёсткий диск. и вроде как вредина, но не шибко страшная.
Немного не то, что надо. Задание подразумевает именно работу с представлением екзешника в памяти компьютера и его изменение(как я понял), а не нарушение работоспособности системы.
Narutlih вне форума Ответить с цитированием
Старый 13.03.2016, 16:31   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

"Вел"? Это ж не ярлык.

Ну начать видимо стоит с изучения формата PE. Например https://en.wikibooks.org/wiki/X86_Di...ecutable_Files

А так самый простой вариант не требующий особых знаний (кроме немного WinAPI или стандартной библиотеки ЯП, в зависимости от ЯП)— переименовать и сделать файл скрытым/системным и/или спрятать куда-нибудь (в папку, ...), а вместо него положить свой файл. В нем помимо прочего запускать оригинальный файл.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 16:50   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
чтобы запускалось и стороннее приложение и то, которое должно
вовово, я этим как раз и занимался в свободное от безделья время.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.03.2016, 17:36   #8
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

так. а как такой вариант: запускаешь файл, он себя копирует без изменений внутренних в другую папку и запускает его. а потом тот, запущенный, удаляет своего родителя-двойника. и так до бесконечности, пока комп не перестанет работать. и вроде как памяти не много требуется и копирование присутствует.
у меня просто такая бяка есть уже написаная
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 13.03.2016, 22:46   #9
Narutlih
 
Регистрация: 13.03.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
"Вел"? Это ж не ярлык.

Ну начать видимо стоит с изучения формата PE. Например https://en.wikibooks.org/wiki/X86_Di...ecutable_Files

А так самый простой вариант не требующий особых знаний (кроме немного WinAPI или стандартной библиотеки ЯП, в зависимости от ЯП)— переименовать и сделать файл скрытым/системным и/или спрятать куда-нибудь (в папку, ...), а вместо него положить свой файл. В нем помимо прочего запускать оригинальный файл.
"Ведёт" в смысле указывает на заголовок, таблицу настройки и подобную лабутень, которую нужно изменить. Собственно, весь цимес вопроса как раз в этом - как это можно сделать и где про это можно почитать. Единственное что пока нашёл - это "Самоучитель по написанию вирусов" Коваля. Но там всё для более продвинутых людей написано.
Цитата:
Сообщение от min@y™ Посмотреть сообщение
вовово, я этим как раз и занимался в свободное от безделья время.
На чём писали? Как примерно выглядит алгоритм? Сейчас пока самой "похожей на правду" идеей кажется открыть 2 экзешника в 16ричном редакторе, а потом пытаться всё это дело как-то совместить.
Цитата:
Сообщение от NetSpace Посмотреть сообщение
так. а как такой вариант: запускаешь файл, он себя копирует без изменений внутренних в другую папку и запускает его. а потом тот, запущенный, удаляет своего родителя-двойника. и так до бесконечности, пока комп не перестанет работать. и вроде как памяти не много требуется и копирование присутствует.
у меня просто такая бяка есть уже написаная
Задание всё-таки в другом) Идёт проверка на понимание именно внутреннего представления экзешников в компьютере и на взаимодействие с ними.
Narutlih вне форума Ответить с цитированием
Старый 14.03.2016, 01:18   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
На чём писали? Как примерно выглядит алгоритм?
Да на delphi и писал.
Прицепил чужой exe как ресурс к своему ехе, иконку скопировал, переименовал правильно и подсовывал поверх исходного файла. Ламер ушастый тыкал по ярлыку, а стартовала моя прога, вытаскивала из себя легальный ехе в папку %temp%, стартовала его, чтоб ламер видел, что прога работает и всё ок, а в это время делал format c: бяку.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20