textfiles/virus/DOCUMENTATION/rme10.txt

101 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

2021-04-15 11:31:59 -07:00
Rajaat's Tiny Flexible Mutator [RTFM] <20>
Version 1.0 <20>
(C) 1994 Rajaat <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
What is it? <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RTFM is an object module that can be linked to your virus to make
it impossible for a scanner to use a simple string. It will encrypt
your virus and generates a random decryptor using random registers
and random instructions. Therefore, an algorithmic approach will be
needed to detect viruses using this object module.
How to use it <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RTFM is very easy to use, and regular assembler users will have no
problem using this routine. RTFM needs some input registers and will
give some return values after processing.
Input <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DS:SI = piece of code to encrypt
ES:SI = place of decryptor+encrypted code
CX = length of code (include the mutator (mut_len))
BX = offset of decryptor in file
AX = flag bits
0 = 1 do not use junk code
Output <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DS:DX = place of decryptor+encrypted code
CX = length of encrypted code+decryptor
BP = preserved
Other registers might be trashed
Put this at the start of your virus code <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extrn mut_top:near, mut_bottom:near, mut_len:abs
extrn rnd_init:near, rnd_get:near
extrn mutate:near
Before writing the virus to a file, call the engine with these parameters <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov si,offset virusstart ; with non-resident virii
; you will need a delta offset
mov di,offset workspace ; make sure you point this to
; an area that has enough space
; virus the virus (including
; the mutation engine) and the
; decryptor
mov cx,viruslength+mut_len ; the length of the virus (and
; the length of the mutation
; engine)
mov bx,absstart ; absolute start of the
; decryptor
xor ax,ax ; no flags set
call mutate ; and mutate!
Linking the module <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
To link RTFM to your virus, use TLINK from Borland. Use the following
syntax :
TLINK /T MYVIRUS+RME10
Notes <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RTFM was not meant to make an unscannable virus, it's only purpose is
to make string scanning impossible. The code generated by RTFM is by
no means extremely polymorphic and it will not be very difficult to
devise an algorithm to detect viruses using RTFM. The size of RTFM is
smaller than 650 bytes. This is not too big.
History <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
1.0 initial version
Greetings <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Omega [AD], NuKE, Phalcon/Skism, Immortal Riot, TridenT, VLAD, YAM,
Trinity, Zerial, DNA and all other virus writers I forgot!