[comp.virus] Lisbon virus

frisk@rhi.hi.is (Fridrik Skulason) (11/15/89)

The "Lisbon" virus reported recently is nothing but a variant of the
Vienna virus. The major difference is that the virus seems to have been
created from the disassembly in Ralf Burger's book "Computer Viruses..."
and assembled using a different assembler than the one used to create the
original virus.

The "Lisbon" virus contains the patches added in the book to make the
virus a little less harmful than the original, just like the "Ghost"
virus I reported recently.

The reason I say that the virus has been created using a different assembler
is that in many cases different forms of the same instructions are used.
It is a rather little known fact that many x86 instructions have two
different forms, in particular the XOR instructions. For example, the
"XOR AX,AX" instruction can both be represented as

        31 C0   or   33 C0

The Microsoft assembler will generate one of the forms, but DEBUG the
other one. I don't know about TASM and other assemblers, I use MASM
and DEBUG for everything :-)

Since Lisbon contains the form not used by the original virus, it was
obviously not created by patching of Vienna. Still, this small difference
was enough to confuse both the scanning programs from IBM and McAfee,
but not my own....... :-)

There are a few differences in the code, but they are trivial.

- -frisk