OFFLINE version of english documentation to program
written by
Zbigniew `Zeeball` Trzcionkowski
Read all, please!
Safe is FREEWARE program
(c)1998-2001 by Zbigniew `Zeeball` Trzcionkowski
DESCRIPTION
Safe is small CLI command to detect [linkviruses] in Your system.
It checks memory and itself only when running
and does NOT reside anywhere in memory.
The only resident part is TCP patch - see TCPPATCH/S
Safe allows You to remove MOST patches from (New)LoadSeg - see VECS/S
All You have to do is run my installer script or copy the Safe icon to
any HD partition and run it when You need to... (after using any new
software etc.).
Don`t forget that running Safe multiple times = a safer system, so you
can also add Safe to the buttons of DOpus, Diskmaster etc.
Safe with Diskmaster Example:
AddCmd Parent, 10, Parent ; StdIO "CON:0/12/640/100/Alert!/AUTO";
Extern Safe;StdIO CLOSE
Don`t rename the Safe file if You want to run it from an icon!
Don Not try to crunch the Safe executable file!
Update to the latest version of xvs.library. (To get version numbers of
current xvs.librry and Safe type `safe VER` in a Shell).
Safe can only discover new viruses when it`s file is placed in a write-
enabled device with some free space. The RAM: device cannot be used since
it`s always 100% full, and most viruses can`t infect files placed in RAM:
If Safe works - you will not see anything.
If a virus is found you have to run a viruskiller ie..
VirusChecker to remove it.
If a new/unknown virus is discovered send it to author of
your antivirus or to VHT-DK. You can send me file too.
REQUIREMENTS
AmigaOS 2.0 or newer.
For recognition and memory removal of known viruses,
You need the xvs.library by Georg Hormann and Alex van Niel.
To write a report with REP parameter and to write from memory with SAVEMEM
or DIS You need asl.library v38+
DIS option requires also disassembler.library by Thomas Richter.
To install the TCP patch You the `resident` command must be in C:
Other problems should be sent to:
zeeball@interia.pl
HOW IT WORKS
- It checks memory for HNY99/IOZ, PolishPower, NeuroticDeath 1-2,
and for viruses known by xvs.library...
- It checks it`s file for size, changed instructions,
or known viruses
- If something is found, You`ll get a messages via the CLI.
The progam will try to recognize and remove any problems
from memory via xvs.library or internal routines...
The file is written in special format for known [linkviruses]
to provocate infection.
I think that 90% of [linkviruses] will attack this file,
so it be detected.
Also [TCP: trojan/viruse] activity can be detected
with the installed TCP patch (the most stupid ones).
PARAMETERS
Safe offers from CLI/Shell template:
REBOOT/S,RENRAM/S,TCPPATCH/S,VER/S,REP/S,WBLOCK/S,VECS/S,OWNOUT/S,
SAVEMEM/S,MOUNTSIZE/N
- REBOOT
- Causes a standard reboot WITH clearing the reset vectors,
as of Safe Version 13.7 the TC register of MMU is cleared.
This helps to reboot to the end with mapped ROM
(on my strange config he,he).
- RENRAM
- Renames Ram disk: to Ram: This helps with some programs
- TCPPATCH
- Installs a patch to detect TCP: trojans/viruses
- VER
- Shows the version number of Safe and xvs.library
- REP
- opens filerequester to save Safe`s report to file
- WBLOCK
- Performs LockPubScreen(NULL) to prevent the WB closing
especially for some system unfriendly games (e.g. UFO Enemy Unknown)!
- VECS
- Shows some system vectors,
and also shows the special result of simple heuristic check.
Most of the tested viruses resulted in Suspicity=50+,
but don`t forget that this is only suspecting,
so legal patches could cause big numbers too!
It allows You to remove any patches from LoadSeg and NewLoadSeg!You will be asked, whether to remove the patch or not.
- CLRVBR
- Sets VBR to 0
- OWNOUT
- Forces use of new CON: window to talk with user
- SAVEMEM
- Saves memory to file. You will be asked for start addy, end addy,
and then to choose a filename from asl requester.
For a file size >100kB You must confirm.
You must know, some areas cannot be accessed
e.g. $dffxxx!
- MOUNTSIZE
- If you enter length (decimal) it will be compared to length of C:mount. This is useful to detect those stupid TCP: hackers.
- DIS
- Almost same as SAVEMEM/S, but saved block is disassembled. This option requires disassembler.library by Thomas Richter.
AUTHOR
Zbigniew Trzcionkowski
Astrow 7
43 250 Pawlowice
Poland
Send me bug reports, ideas and infected files.
100% responce to all disksenders
e-mail: [zeeball@interia.pl]
You can download Safe from VHT-DK page: [www.vht-dk.dk]
Look for newest versions in Aminet - util/virus!
Special thanks to:
- Jan Andersen of VH-DK - for viruses
- Tomasz `Error` Wiszkowski - for all... ...bugreports...
- Tomasz `Siumot` Bielinski - for several ideas/bug reports
- Bob Cameron - for fixing language mistakes in this text
ADDITIONAL INFO
hunk
In AmigaDos executable file means a part of it.
When You run a program the system function LoadSeg
will load different hunks of the file to different places
in memory.
The most popular hunks (called in assembler - sections) are:
- header- info about other hunks
- code - binary program for MC680x0 processor, small datas etc.
- data - datas of program (pictures, mods etc.), programs for Copper, etc.
- bss - used to put big empty areas to programs without increasing their size on disk. Contains only data about length of empty areas.
- reloc - contains datas about relations between other hunks which must be recalculated when hunks are loaded to memory
- end - 4 bytes - only identifier. Used at the end of other hunks. System doesn`t need it in some hunks.
linkvirus
means a real virus. Classic Amiga linkvirus adds it`s code to executable
files to be spread with them. When a user successfully runs as infected
file the virus code is executed and adds it`s code to one of system
functions (LoadSeg, Write, Open etc.) When the function is used the virus
tries to infect another file.
On Amiga are two main ways of file infection:
[first hunk increasing]
[hunk adding]
first [hunk] increasing
adding virus code at the end of
first hunk (if [code hunk]) and
replacing one of MC680x0 instructions
with jump to virus code.
Most popular instructions to be replaced
are: RTS, BSR, JSR, MOVE.L 4.W,A6
.
Safe from 11.0 can display some changed
instructions.
[hunk] adding
adding to file [hunk(s)] with code of virus. This
is NOT so easy to make good hunk adder, so there are more
first hunk increasers.
The other comparable methods are adding new [hunk header] etc.
TCP viruses/trojans
Normal viruses or trojans (faked libraries, programs)
that opens remote net door by making a secret
shell in TCP: device.
Example of shell names
- Fungus linkvirus : TCP:1666
- rexxkuang11.library 0.36 : TCP:2551
- rexxkuang11.library 0.27 : TCP:2333
To detect this kind of illegal activity I have added to Safe
parameter `TCPPATCH` which show a message when something tries
to create a shell in TCP: in the known attacks from Fungus or Vaginitis.
TCP e-mail senders are not supported because I don`t know
how to recognize them.