Jeff v1.31

Introduction

Jeff v1.31 is a virus written for the Commodore Amiga. It is very common in Germany and neighboring countries and was first discovered in 1988. It is a filevirus.

Summary

  • Writes itself to unprotected floppy disks when inserted in the floppy drive
    • Without using any dos-library functions but altering the diskstructure directly, this is very advanced (at least 1988)
  • Uses different names which are choosen randomly as filename
  • Extends the startup-sequence of an inserted disk, writing its filename (see above) in the first line
  • Stays resident in memory by using KickTagPtr
  • Has a total length of 3408 bytes
  • Alters some operating-system routines:
    • DoIO() of exec.library
    • $68 (Interrupt-Vector)
  • Randomly displays an alert-messages when resetting the Amiga
  • Randomly alters the caption of an active AmigaDOS window with random messages
  • All virus texts are encrypted withing the file

Details

The virus randomly1 shows the following alert-message while resetting the computer:

jeffv.1.31.alert.gif

1At least for the victim it appears randomly, in fact every 15th reset the alert is shown, take a look at this code:

; This code will by processed every reset:
  lea counter(pc),a0
  addq.b #1,(a0)
  move.b (a0),d0
  and.b #$F,d0  ; <--- $F = 15
  bne.s do_not_show_alert
  bsr show_alert
do_not_show_alert:
  (...)

Also the virus alters the caption of an active AmigaDOS window with random messages.
An AmigaDOS window before alteration by the virus:

jeffv.1.31.win1.gif

The same AmigaDOS window after alteration by the virus:

jeffv.1.31.win2.gif

This is just one possible text of twelve texts in total the window caption can be altered to:

  • Ich brauch jetzt'n Bier!
  • Stau auf Datenbus bei Speicherkilometer 128!
  • Mehr Buszyklen für den Prozessor!
  • Ein dreifach MITLEID für Atarist!
  • BUTONIC!
  • Schon die Steinzeitmenschen benutzten MS-DOS…einige sogar heut noch!
  • Schon mal den Sound vom PS/2 gehört???
  • PC/XT-AT: Spendenkonto 004…
  • Unabhängigkeit & Selbstbestimmung für den Tastaturprozessor!
  • Paula meint, Agnus sei zu dick.
  • IBM PC/XT: Ein Fall für den Antiquitätenhändler…
  • Sag mir, ob du Assembler kannst, und ich sage dir, wer du bist.

Also the virus uses different filenames while writing itself to the disk:

Name on disk Appearance in startup-sequence
AddBuffers AddBuffers 20
Add21k Add21k
Fault Fault 206
break break 1 D
changetaskpri changetaskpri 5
wait wait
0xA02 0xA020
0xA0A0A03 0xA0A0A020
Arthus Arthus
Helmar Helmar
Aloisius Aloisius
0x204 0x2020

While altering the startup-sequence the virus uses a very aggressive solution: The space which is needed to add the filename of the virus will be cut from the original startup-sequence at the end.
Take a look at the following unaltered startup-sequence of an Amiga disk:

C:SetPatch QUIET
C:Version >NIL:

After alteration by the virus (assuming Aloisius as filename) the (above) startup-sequence looks like this:

Aloisius
C:SetPatch QUIET
C:Vers

As you can see the resulting startup-sequence is corrupted because the AmigaDOS will search for a command C:Vers instead of C:Version. This means that the last command won't be processed anymore but "ignored" (infact it will raise a command not found exception to be precise).

Clones and variants


2 & 3 These filenames appear invisible for the AmigaDOS when listing the contents of a disk by using the CLI command dir.
4 This filename is a space. AmigaDOS doesn't allow spaces to be filenames hence disks infected by the virus using this filename doesn't start the virus at all!

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License