  ********   D O C U M E N T A T I O N
  ********                                                    
     **      *   *   ******      M A S T E R       
     **      *   *   *            
     **      *   *   *
     **      *****   ***             V I R U S
     **      *   *   *
     **      *   *   *
     **      *   *   ******              K I L L E R   V1.8
Auteurs:
--------
Graphismes des gadgets:    : David Delabassée et Gaetan Prouvost
Programmation (Assembleur) : Xavier Leclercq

CONTACT   écrire à : 
          -----------------------------------------------------
          ---               LECLERCQ XAVIER                 ---
          --- Vieux Chemin D'Ath N°12 7502 WARCHIN BELGIQUE ---
          -----------------------------------------------------

 
Je suis particulièrement intéressé par tous les VIRUS qui ne sont pas
repris par le MVK et qui par conséquent pourraient être incorporés dans
une Version future (Update V??...).Merci de m'envoyer ces Nouveaux Virus!

Pour obtenir la liste des fonctions des touches:
                   PRESSEZ LA TOUCHE "HELP" DANS LE PROGRAMME.

IMPORTANT: Si vous désirez m'aider à réaliser une traduction de la doc
dans votre propre langue.ECRIVEZ MOI.
La doc sera traduite pour la prochaine version 2.0 en Anglais.(C'est
déjà au 3/4 traduit).Mais pourquoi pas en Nederlands,Deutch?
(Ou pour la Greece bonjour G. Demetropoulos) 

LA DOC QUE VOUS LISEZ EN CE MOMENT EST SUR LE DISQUE: 
pour l'imprimer  1>type sys:MVK.DOC to prt:

Je suis également friand de bidouilles Hardware ou trucs en programmation.
N'Hésitez pas à m'écrire : je répond à 99% des lettres . (Et cela
me prend parfois plusieurs heures par jour...)

1.A.Liste des Virus reconnaissable par le M.V.K v1.8:
-----------------------------------------------------
1.  16 Bit Crew
2.  Abraham (Claas Abraham)
3.  AIds
4.  AmigaFreak
5.  Australien Parasite
6.  BackFlash
7.  BamigaSectorOne
8.  BandVirusSlayer
9.  BlackStar
10. Butonic's 
11. ByteBandit (Ver 1,2,3)
12. ByteBanditNoHead 
13. Clist
14. Coder
15. CrackRight by Diskdoctors (ver 1.01 à 1.04)
16. Dag
17. Dasa
18. Destructor
19. DiskHerpes
20. Extreme
21. FastLoadByteWarrior
22. Forpib
23. Gadaffi
24. Graffitti
25. GXteam
26. Gyros
27. HCS 4220 (2 ver)
28. Ice
29. Incognito ( = NoNAME? )
30. Jitr
31. Joshua
32. Julie
33. Kauki
34a. LamerStrap
34b. Lamer Exterminator (Ver 1 à 5!)
35. LSD
36. MicroMaster&AEK
37. MicroSystem
38. Newbeat (Alien Newbeat)
39. Obelisk
40. OPapa
41. Paramount
42. PentagonCircle Virus's Slayer
43. Revenge
44. RevengeLoader
45. SCA
46. ScarFace
47. Sendarian
48. StarFire 
49. Target
50. Termigator
51. TimeBomb
52. Turk
53. UltraFox
54. Vkill
55. Warhawk


Testé en mémoire (TM) uniquement et traité éventuellement par KV (KV) :
(TOUS LES VIRUS SUIVANT SAUF LE XENO ET EN PLUS LE CHEVAL DE TROIE
 THE TIME BOMBER SERONT INCLUS DANS LA PROCHAINE VERSION (PAS 1.9 MAIS
 BIEN 2.0) DONT LA ROUTINE "COQUILLE" EST D'AILLEURS PRESQUE TERMINEE)

56. BGS9 (TM+KV)
57. BGS9 mutant (TM)
58. TERRORISTS (TM)
59. XENO (TM)
60. REVENGE OF THE LAMER EXTERMINATOR (TM+KV)

JE NE CONSIDERE PAS l'ASS VIRUS PROTECTOR + PVL 3.0 à 5.0 comme étant
des virus c'est pourquoi je les ai classés plus bas avec la liste
des bootblocks spéciaux...

REM:
----
-Le test mémoire du XENO repose entièrement sur les observations réalisées
 par Steeve Tibbet (VirusX).
-Le Virus B.S.1 selon des sources bien informées n'a pas été réalisé par
 ce groupe d'ex-hacker mais bien par d'autres personnes voulant ainsi
 salir la réputation du groupe Bamiga Sector One.
-Le BGS9 est parfois nommé le TTV1 Virus.Si vous voulez comprendre
 pourquoi jettez un oeil à la fin de cette DOC...
-Le Virus Termigator n'est pas à confondre avec le TERMINATOR PROTECTOR !!
-Les virus : IRQ TEAM,TERMIGATOR,DASA,GX.TEAM,(c)RACK RIGHT BY DISKDOCTOR,
 THE ALIEN NEWBEAT,MICROSYSTEMS NE FONCTIONNENT PAS SOUS ROM V1.3 !!
-Le Claas Abraham Virus ne fonctionne pas en 512K !!!
-Pour l'instant KV (livré avec cette disquette) peut détecter le BGS9,
 l'IRQ TEAM et le XENO (mais ne peut pas l'extraire!).Dans le cas du
 Revenge of the lamer Exterminator Virus il faut procéder comme suit:
 1.Initialiser le BOOT.(option "Tue Virus")
 2.Editer la startup-sequence et éffacer la 1er ligne qui contient le
 fichier lancement du Virus.(vous ne pouvez pas le voir et c'est normal:
 pas de panique!)
 3.Relancer la disquette
 4.Relancer le MVK et dans le CLI lancer le VDC_1.7 
   Si l'écran est bleu un moment le virus n'existe plus.
   Dans le cas contraire retaper entièrement votre startup-sequence...
 
 
1.B.Liste des BootBlocks spéciaux reconnaissable par le M.V.K v1.8:
-------------------------------------------------------------------
1.  Virus detector Cleaner (V.D.C.) v1.3
2.  Virus detector Cleaner (V.D.C.) v1.6
3.  IRQ Protector
4.  A.S.S Virus protector
5.  Boot Girl (Plusieurs ver #)
6.  GX.TEAM NoFast
7.  Boot memory controller V1.2
8.  Boot memory controller V1.3
9.  System Z Virus Protector (PLV production) V3.0
10.                                           V4.0
11.                                           V5.0
12.                                           V5.1
13.                                           V5.3
14.                                           V5.4
15.                                           V6.1
16.                                           V6.4
17. Mega Boot V1.30
18. X-Copy v2.0 Bootblock
19. Terminator Virus Protector
20. Boot du Virus Killer Prof. v2.0
21. Boot d'une disquette M.i.A
22. BootBlock COPY
23. BootLeg v2.1
24. CCS-Boot
25. CHIP-Boot
26. Boot Classique...
27. Ne Boot Pas....
28. Virus FREE BootBlock
29. Avirex Boot
30. North Star Virus Checker
31. Virus Detector Cleaner  (V.D.C.) V1.7
32. Le boot du Tristar Virus Killer V1.1
33. Le boot anti-virus du Virus killer Buster v1.4
34. BootBlock du SCA protector 
35. DevWare_88 BootBlock Protector
36. Blizzard1.0 Protector
37. BootBlock Generation

Le V.D.C (n°1) et l'IRQ Protector (n°2) sont installés par le M.V.K . 
Le premier permet d'éliminer lors du Boot n'importe quel Virus avant de
continuer en séquence.
Le deuxième permet de se protéger de l'IRQ (Virus "coquille" càd
s'attanquant aux FICHIERS éxecutables),le Boot faisant croire à l'IRQ Virus
qu'il est déjà présent en mémoire.


Notes complémentaires sur l'utilisation des touches spéciales:
--------------------------------------------------------------
La liste des touches spéciales est obtenue en appuyant sur la touche HELP.
Les autres touches s'activent de manière identique.(Laissez appuyer qq
dixièmes de secondes,car le test des touches est un peu lent...)

TOUCHE F1:
----------
Update de la V1.7: permet de sauver le Bootblock qui a été préalablement
lu ,par insertion d'une disquette dans un drive, dans un fichier qui prendra
comme taille 1024 octets.(volume du boot  $400 = 1024 octets)
Si la disquette est protégée en écriture ,ou bien que le fichier n'a pu 
s'ouvrir correctement ,un message d'erreur correspondant est affiché.
(Dans ce cas vérifiez que le disk n'est pas FULL ou bien que le nom et le
chemin du fichier ont été correctement encodés).Vous pouvez sauver sur
n'importe quel unité,c'est votre chemin qui le détermine.
(i.e : "df0:Boot_Speciaux/VDC1.7.BOOT"  )
Il faut taper le nom AVANT l'insertion de la disquette cible!!!

TOUCHE F2:
----------
Update de la V1.7: permet de sauver le Virus qui se trouvait lors du
démarrage du MVK en mémoire en un fichier de 1024 octets.La procédure
est similaire à la touche F1.L'utilité est sans conteste pour celui qui
comme moi "chasse" le virus de pouvoir examiner sa prise après l'avoir
sauvé en un fichier.De plus le virus est alors décodé ce qui facilite
sa reconnaissance et son étude.


TOUCHE T :
----------
Le test de la mémoire est long mais assez simple à réaliser.Par Contre 
l'élimination d'un Virus qq a été douloureusement mis en oeuvre : comment 
sans tenir compte de la version de la ROM (1.2 -> 1.3 -> 1.4 ?) réinitialiser
des vecteurs stratégiques comme BeginIO , DoIo etc...? J'ai réalisé pour cela
la programmation d'une routine qui recherche en ROM des points de repères qui
servent alors pour retrouver les points d'entrées des différentes routines 
BeginIo,DoIo, les interruptions etc...

Updates V1.6 à propos de cette touche T:
----------------------------------------
Ce n'est plus la version en hexadécimal de la "Exec.library" qui est affichée
mais le texte ASCII équivalent de la ROM,ce qui est plus lisible.
De plus j'affiche également le pointeur de l'interruption $68.
Lorsque j'ai testé l'Abraham virus j'ai eu la désagréable surprise de
constater qu'il passait le Test mémoire qui normalement doit l'annihiler de
la mémoire...La version 1.5 ne testait pas l'interruption $68.Cela signifie
que si j'intoduisais une disquette dans le drive,l'interruption $68 était
réveillée et le Virus également.J'ai pu le constater en appuyant dans le
programme sur la touche "T": les vecteurs étaient à nouveau déviés!
En appuyant sur "D" j'ai pu savoir l'adresse exacte du début du Virus ce
qui m'a permis de le désassembler rapidement,car en mémoire le Virus
est décodé.

Touche C:
---------
Permet la copie d'un Bootblock qq d'une disquette Source vers une Cible.

Uptdate V1.7:
-------------
Si vous bricolez en assembleur vous trouverez sans doute utile cette
améloration : lors de la copie du BootBlock le CheckSum est AUTOMATIQUEMENT
recalculé.Cela signifie si vous ne savez pas commnent le calculer qu'il vous
suffit de recopier le Boot sur "lui" pour modifier le CheckSum.
Le CheckSum est un LONG (4 bytes) situé à l'offset 4 de n'importe quel Boot.
Si lors du "bootage" d'un Disk l'Amiga constate que l'inverse de la somme
des "Longs" du Boot (1024 octets) est faussé alors la disquette ne bootera
pas.(Oeufs Corse tout le monde aura compris que l'inverse de la etc... est
le CheckSum....)

TOUCHE D :
----------
Pour réaliser un DUMP de la mémoire où en théorie devrait se trouver le 
Virus qui au moment du TEST mémoire est présent dans celle-ci ,j'ai balayé 
cette mémoire à la recherche du LONG "DOS,0",puis à l'aide des vecteurs
déviés, j'ai pu dans la plupart des cas retrouver la bonne adresse de début
du Virus.En effet un Virus s' il veut se reproduire sur les disquettes
doit recopier entièrement son Boot en mémoire.Toutes les disquettes
"Bootables" commencent donc par le long (=4 Bytes) "DOS",0.Et après
vérification des vecteurs déviés je vérifie que ces vecteurs se trouvent
près de cette adresse et si le boot porte l'empreinte de "l'image disk"
d'un Virus celui-ci est déclaré présent en mémoire.Evidemment parfois
l'empreinte du Virus est présente en mémoire mais aucun vecteur n'est dévié
,signifiant ainsi que le vecteur est désactivé.C'est pourquoi le double
test "vecteurs déviée" et "image disk" est indispensable. 

Update V1.7 touche D:
---------------------
C'est un détail mais lorsque il n'y avait pas de virus au démarrage ,le
fait d'appuyer sur cette touche indiquait un Dump en $0.... Ceci a été
modifié,maintenant seul le message "Il n'y avait pas de virus au démarrage"
reste.
De plus l'affichage en HEXADECIMAL est réalisé à condition qu'il y avait
un Virus en mémoire.Cette affichage se fait à la suite de l'affichage
classique en ASCII.

Trois remarques :
1.Ce test ne prend pas en compte (comme le TEST mémoire) les virus protectors
qui sont reconnus par le MVK ,en effet ce ne sont pas des virus.
(La série PVL protectors est reconnue par le MVK par insertion d'une 
 disquette dans un drive ,mais ne sont pas reconnus comme tel au test 
 mémoire qui signalera qu'il s'agit sans doute d'un virus protector ou bien
 d'un nouveau virus...)
2.L'A.S.S Virus Protector n'est pas un VIRUS ! Il ne peut pas se reproduire 
sur une disquette.
3.Le test de la mémoire reconnaîtra le BGS9 VIRUS et l'IRQ TEAM VIRUS,The
 TERRORISTS VIRUS,THE REVENGE OF THE LAMER EXTERMINATOR VIRUS,THE XENO 
(par une autre technique) qui sont des Virus coquilles.
 

1.c Quelques mots sur le fonctionnement du MVK:
-----------------------------------------------
-Sélectionnez un des drives en cliquant sur ces derniers.Les drives n'étant
 pas présents lors du démarrage ne sont pas sélectionnables.Le choix d'un
 drive n'intervient que lorsque vous avez décidé d'installer un Boot 
 spécial ou si vous décidez de "tuer" un Virus qui se trouve dans un 
 de ces drives.Il est important de noter que le choix de ces drives ne
 détermine pas la lecture d'un Boot,car une disquette insérée dans
 n'importe quel drive sera AUTOMATIQUEMENT lue... De plus la touche
 spéciale "C" pour copier un Boot sur un autre ne tient pas compte de la
 sélection de ces drives.Le "Boot" de la disquette source est lu dans
 n'importe quel drive et ce "Boot" est écrit sur la disquette cible insérée
 dans n'importe quel drive.La disquette cible n'est pas protégée en 
 écriture et ceci est valable pour toutes les opérations d'écriture.

-L'option "Affiche Boot" permet après chaque insertion d'une disquette de
 visualiser le Boot.Ainsi pour un Virus SCA,le texte SCA est lu en "clair".
 Cela permet d'identifier un Boot qui serait "BootBlock Inconnu".Une petite
 remarque quand au "BootBlock inconnu" :
 Lorsque ce message s'affiche cela signifie que le MVK ne sait pas 
 identifier le Boot.Soit il s'agit d'un nouveau virus,soit d'un Boot d'un
 jeux ou bien un Boot spécial.Quoi qu'il en soit je conseille dans ce cas
 DE NE PAS ESSAYER d'initialiser le Boot sans EN FAIRE UNE COPIE au 
 préalable.Si en effet le Boot sert au démarrage d'un jeux ce dernier
 risque de ne plus démarrer...Vous pourriez causer autant de dommages 
 qu'un Virus.Donc attention!
 Update V1.7:
 ------------
 A partir de la Version 1.7 l'affichage se fait également en hexadécimal.

-L'option "IRQ PROTECTEUR" permet d'installer un Boot spécial qui fera
 croire au Virus coquille IRQ TEAM (S'attaque aux fichiers éxécutables
 de la STARTUP-SEQUENCE) qu'il est déjà présent en mémoire.Ce dernier
 ne s'installera donc pas.

-Le gadget "INSTALL V.D.C" (Virus Detector Cleaner) installera un Boot
 qui pourra repérer un Virus,ou un autre programme résident. Dans cette
 affirmative l'écran devenant rouge un "RESET LONG" éliminera l'indésirable
 de la mémoire.Un écran bleu signifie que rien n'a été détecter.
 Notons que l'instruction VDC_1.7 qui se trouve sur cette disquette (df0:c)
 est plus performante et est l'instruction idéale pour les 
 utilisateurs de DISQUE DUR qui pourront insérer cette dernière dans
 la STARTUP-SEQUENCE.Cette instruction rend INUTILE le test de la mémoire
 que le MVK éffectue au démarrage car pour l'insant je ne connais AUCUN
 virus pouvant la passer.Ce qui n'est pas le cas du Boot,le TERMIGATOR
 Virus ,ne marchant que sous les ROMS V1.2,utilise des interruptions
 qui le déconnecte de la mémoire lors d'un Boot et donc le VDC (en boot)
 ne repère rien du tout et le laisse passer.Mais ces interruptions ne sont
 plus utilisées après le boot et donc l'instruction VDC pourra repérer
 l'intrus et effectuera le RESET qui l'éliminera de la mémoire.
 Il est donc inutile d'utiliser le Boot VDC ou bien l'instruction VDC
 si vous désirez repérer un Virus au démarrage du MVK.v1.7
 Car si vous éliminer les Virus de la mémoire AVANT le démarrage du MVK
 ce dernier ne pourra qu'affirmer qu'il n'y a pas de Virus en mémoire.
 Or ce test mémoire est unique en son genre (à partie de v1.5) et permet
 le repèrage de 46 Virus au démarrage.
 Ce test prend pratiquement le tiers du programme (1000 lignes
 assembleur) et donc il serait dommage de ne pas laisser au MVK la chance
 de pouvoir prouver qu'il peut très bien les repérer et les éliminer.
 (Quel que soit la version des ROMS 1.2 ,1.3...) 
 Encore une explication sur cette instruction VDC:
 Si cette dernière est insérée dans votre STARTUP-SEQUENCE comme première
 instruction il se peut qu'elle soit attaquée par un "Virus coquille".
 (Cela n'arrivera JAMAIS si vous lancer toujours TOUTES vos applications
  à partir du Disque Dur !!)
 Celui-ci (BSG9,IRQ TEAM,...) remplacera l'instruction par son propre code
 puis tentera de relancer l'instruction pour vous faire croire que rien
 n'a été modifier.C'est ici qu'il faut remarquer que le Virus est déjà
 installé avant de lancer l'instruction VDC. Or le VDC repère tous
 ces microbes en mémoire et éffectuera donc un RESET pour l'éliminer.Il
 s'en suivra une boucle SANS FIN !
 Dans ce cas ci vous décider de "CHECKED" le Boot mais rien ne s'y trouve.
 (Dans le cas contraire (Virus) il faut l'initialiser (option "TUE VIRUS"))
 De toute manière dans le cas d'un Disque Dur ce n'est déjà pas possible !.
 Donc vous devez à ce moment là prendre conscience qu'il ne peut s'agir
 que d'un "Virus coquille" !!!
 Vous devez alors recopier la STARTUP-SEQUENCE qui se trouve infectée par
 la STARTUP-SEQUENCE initiale et recopier l'instruction VDC à la place
 de l'ancienne instruction qui est maintenant infectée.
 Si vous avez des doutes sur la nature du microbe qu'il vous crée des
 ennuis lancer le MVK : il vous le confirmera.Dans ce cas là ne prenez pas
 de précaution pour l'éliminer de la mémoire c'est le MVK qui l'éliminera
 après confirmation de son identification ! (Comme je l'ai déjà dit si
 vous supprimez le Virus avant de lancer le MVK celui-ci ne pourra 
 travailler correctement car il ne pourra plus le repérer.C'est évident! ).

 Updates de l'instruction VDC pour la version 1.6:
 -------------------------------------------------
 L'instruction VDC a été revue et corrigée.Maintenant le test de l'inter.$68
 est réalisé ce qui offre un barrage infranchissable vis à vis de quelques
 virus utilisant cette interruption : Termigator,GX.TEAM,Class Abraham.
 Je signale également que si pour sauvegarder votre RAD: il suffit d'appuyer
 sur le Bout. droit de la souris.(Les tests ne sont pas réalisés)
 Attention l'écran devient rouge mais le reset long n'est pas éffectué!
 Cette option peut également servir "le chasseur de Virus" qui peut
 ainsi laisser "vivre" le virus pour l'étudier,tout en sachant q'il peut
 à tout moment l'éliminer de la mémoire en employant l'instruction VDC_1.6
 Tout ceci est valable pour le Boot et pour l'instruction VDC_1.6.

 Updates de l'instruction VDC pour la version 1.7:
 -------------------------------------------------
 J'ai amélioré les tests des vecteurs d'interruptions : maintenant tout
 les vecteurs de l'adresse $8 à $3c et de $40 à $bc sont testés.
 Ainsi toutes les classes d'interruptions sont testées ce qui évitera
 des surprises...
 
-L'option "TUE VIRUS" écrit un Boot classique sur la disquette cible 
 du drive préalabement sélectionné.(En laissant échapper un cri symbolisant 
 la  mort du microbe.).Vous pouvez utiliser cette option sans hésitations
 dans le cas d'un Virus reconnu par le MVK ,mais dans la cas d'un 
 "BootBlock Inconnu" comme expliqué plus haut il faut l'utiliser avec
 précautions.     

-Pour sortir du programme cliquez sur l'image représentant un interrupteur.
 
 Update V1.7 pour la sortie:
 ---------------------------
 Un requester vous demande après avoir cliquer sur l'interrupteur si
 vous désirez conserver le RAD:. (Disque Virtuel résident pour ceux qui
 possèdent de la mémoire...) Si vous cliquez sur "OK" le RAD: sera conservé.
 ATTENTION: Surtout ne pas cliquer sur OK si un virus a été repéré au
 démarrage !!!!

 1.D. Déroulement des opérations:
 --------------------------------  
 Si un Virus est détecté lors de l'insertion d'une disquette une sirène
 est mise en marche et un éventuel compteur de reproduction est affiché
 (Si ce dernier existe pour le Virus) avec une image parlante d'un Virus.
 Il vous reste alors à tuer le Virus ou bien à installer un Boot Spécial
 à la place.(Vous pouvez visualiser votre victime à l'aide de "AFFICHE
 BOOT" ). Toute action stopera net la sirène.
 Si un Boot Spécial est reconnu par le MVK il affichera le type de Boot.
 Une image représentant un pouce lever, pour le signe "OK", s'affiche.
 Dans le cas où il ne s'agit pas d'un Virus ni d'un BootBlock spécial
 reconnu par le MVK un panneau "ATTTENTION" s'affiche et le message
 "BootBlock inconnu" s'inscrit.Il y a peu de chance que ce "BootBlock 
 inconnu " soit un de ces dangereux microbes.
 Mais si vous avez des doutes il faut alors procéder comme suit:

 IMPORTANT:  
 ----------
 Premièrement vous pouvez toujours essayer de lire un éventuel message
 qui pourrait s'afficher en "clair" (càd en ASCII) en visualisant le
 Boot avec l'aide de l'option "AFFICHE BOOT".(Par exemple : "Virus By Byte 
 Bandit ...") Mais les virus "modernes" sont pour la plupart "coder",càd 
 qu'ils n'autorisent plus une lecture directe de ce genre de message...
 Pas de panique : le MVK a encore plus d'un tour dans son sac !
 Le deuxième réflexe à avoir est de lancer la disquette douteuse (en la
 faisant booter) puis d'éffectuer un RESET et enfin de relancer le MVK
 Celui-ci éffectuera alors un TEST mémoire au démarrage.
 S'il s'agit d'un nouveau virus le pouce "OK PAS DE VIRUS EN MEMOIRE" 
 ne s'affichera PAS.Vous pourrez lire alors le message "VIRUS INCONNU ,
 VIRUS PROTECTORS OU PRGS RESIDENT EN MEMOIRE".C'est donc que les pointeurs
 ,stratégiques et indispensabales pour les Virus, ne sont pas à ZERO !!
 Ce n'est pas tout! La troisième chose à faire est de rentrer dans
 le MVK (Le microbe est éliminer automatiquement) puis d'appuyer
 sur la touche "D".Ceci permettra d'apporter une CONFIRMATION de votre
 diagnostic.A l'aide d'un algorithme assez complexe le MVK recherche alors
 la place où était situé le Virus (OU VIRUS PROTECTORS) et affichera
 cette place en ASCII accompagné de son adresse en mémoire !!
 Générallement à ce stade là le Virus est DECODE en mémoire et donc
 les messages s'inscrivent "en clair".
 Il vous reste encore la possibilité de le sauver (Touche F2) sur une
 disquette en un fichier de 1024 octets.
 La dernière chose à faire est évidement de ne pas oublier de m'envoyer
 ce nouveau Virus que je pourrais incorporer dans une nouvelle version
 du Master Virus Killer.


2.A.Vous avez dit Virus?
------------------------
Un essai de définition serait le suivant:
VIRUS: petit programme en assembleur se reproduisant de manière la plus 
discrète possible sans en avertir l'utilisateur ou en trompant ce dernier sur
sa vraie nature.
(Le cas du Pentagon Circle Virus Slayer FAUX Virus protecteur et VRAI Virus!).
Il existe également ce qu'on appelle des VIRUS Coquilles ,ils s'inspirent du
style des Virus PC c'est à dire qu'ils s'infiltrent dans un fichier 
exécutable.Sur Amiga il existe l'IRQ (Virus coquille) mais il n'est pas 
dangereux.Et il "plante" avec les ROMS v1.3!!! 
Je propose dans le MVK un moyen de s'en protéger,le BootBlock spécial
rendra le Virus IRQ inactif même s'il se trouve sur un fichier exécutable. 
Le principe est fort simple:avant de s'activer l'IRQ Virus vérifiera si le 
vecteur OldOpenLibrary est situé en ROM si non il en déduira qu'il ne se 
trouve pas en mémoire et inversemment.Il suffit donc de dévier à notre 
profit ce vecteur et le tour est joué!
Les Virus coquilles sont aussi le Revenge Of The Lamer Exterminator (à 
50%) ,le Xeno ,The Terrorists dont seul le test mémoire est réalisé par
le MVK et le BGS9 Virus.
Si un BGS9 ou IRQ TEAM a été détecté au démarrage du MVK utilisez KV pour
"checked" vos disks!! 

2.B. Le Compteur de REPRODUCTIONS :
-----------------------------------
La travail le plus long (et le plus dur) lors de l'élaboration du programme
a été de désassembler tous les Virus que le MVK pouvait détecter.
Ce qui permet de vous donner (pour les Virus qui en possèdent) le Compteur 
de Reproduction.C'est un compteur qui indique combien de fois le Virus a 
déjà infecté d'autres disquettes.(Exemple:(c)Rack Right 678).Le résultat est 
parfois étonnant.(Plus de 600 "reproductions" !!) 

3.Les Virus sont-ils dangereux?
-------------------------------
Par dangereux je pense aux dégâts irrémédiables que peuvent parfois provoquer 
certains Virus.Cela va de l'écran noir et système bloqué lors par example 
du calcul d'une page au SCLUPT 4D.(GX.TEAM Virus et Byte Bandit)
En passant par le formattage pur et simple d'un Secteur de votre disquette
ou l'occupation d'un secteur au hazard!!(Lamer Exterminator).
Ou tout bêtement le Virus s'installera sur votre disquette la rendant 
inutilisable.(La plupart des jeux utilisant le BootBlock pour démarrer).
C'est donc par l'affirmative qu'il faut répondre: les Virus sont dangereux...

4.Comment s'en protéger?
------------------------
Il suffit d'utiliser le MVK à chaque fois que vous pensez avoir un doute sur
la Virginité du BootBlock de votre disquette et surtout de PROTEGER vos
disquettes contre l'écriture!!Ne croyez pas les imbéciles qui prétendent 
le contraire!!Le seul moyen d'écrire sur une disquette protégée en écriture
seait de la déprotéger!!
Même le fait de changer l'état du signal WPRT du drive (Broche 14 
du DB-23 à la masse (GROUND) ou au +5 Volts) ne pourra rien changer.
L'Amiga pensera (cela lui arrive?) que la disquette est déprotégée , 
AUTORISERA l'écriture sur le disk mais ABSOLUMENT RIEN ne sera écrit.
C'est bien la preuve que le HARDWARE du drive à la priorité absolue même 
sur les signaux logiques AMIGA.



                                 Xavier Leclercq

Ce qui suit sont des extrais ou articles complet déjà parru dans
A-NEWS (Journal sur papier consacré à L'AMIGA) :

Le premier "Cheval de Troie" sur l'Amiga : The Time Bomber.
-----------------------------------------------------------
Sans doute un nouveau volet de l'histoire des "microbes" sur l'Amiga vient 
d'être ouvert.
Au début de cette histoire tout était simple,il y avait le virus by S.C.A 
qui se fixait sur le boot.Les clones de celui-ci sont alors débarqué en 
masse :BS1,LSD,AEK,...pour ne citer qu'eux et dont seul le texte révélant 
leurs présence en mémoire a été modifié.(Et les CheckSums respectifs).Puis
cette lignée de microbes (ne voyez là aucun titre de noblesse) en a inspirer
bien d'autres toujours un peu moins détectable et plus dangereux:Virus by 
the Byte Bandit,Gadaffi,The Lamer Exterminator,...La ruse était poussée à 
l'extrème lorsque certains virus se laissaint passer pour des Virus 
protectors :HCS 4220,Nighty Byte Warrior (DASA),The Pentagon Circle Virus 
Slayer,The Band Virus Slayer...
Les choses se compliquèrent alors lorsque les premiers "Virus coquilles" 
apparurent :IRQ TEAM,BGS9,... Ces virus s'inspirent de certains virus sur 
P.C (Personnal Chiotes?...).En effet ils ne s'attanquent qu'aux fichiers 
éxécutables et ont pas mal de défauts (defauts de jeunesse?),le principal 
étant le manque de discrétion lors de l'installation dans la startup-sequence.
Ces microbes étant particulièrement dangereux pour les utilisateurs possédant
un disque dur.
Enfin voilà le troisième grand type de microbe:le cheval de troie.Au départ
il semble tout a fait inoffensif.En effet ce n'est pas un Virus qui 
s'installe sur le boot,ni un Virus s'infiltrant dans les fichiers,il n'est 
pas résidant en mémoire et il ne résiste donc pas au reset.Que lui reste 
t-il donc pour nous faire peur? Suivez bien le guide.Le principe d'un 
cheval de troie est de s'infiltrer dans une entité sans que l'on se doute
un seul instant de sa nature destructive puis comme une bombe à
retardement détruire un maximum de l'intérieur...
Analysons un moment comment cette chose est possible.Vous venez de recevoir
une disquette dont les origines sont douteuses (dois-je faire un dessin?).
Cette disquette contient une super doc et vous vous jetez dessus pour la 
lire.(c'est déjà le mauvais réflexe).Le disk est impérativement de type 
"DOS" et a une startup-sequence dont le premier fichier appelé est
 "virustest" d'une taille de 936 octets.Ce fichier c'est notre cheval de 
troie : The Time Bomber.(A ne pas confondre avec le Time Bomb Virus).Il est 
accompagné d'un fichier de 1 octet qui se nomme VIRUSTEST.DATA et dont le 
rôle dans l'histoire est un compteur qui au départ est initialisé à 5.
Le fichier "VirusTest" étant appelé par la startup-sequence il vous 
demandera de déprotéger la disquette en écriture.Et le petit message
 "USER REQUEST :PLEASE REMOVE WRITE PROTECTION AND PRESS LEFT MOUSE 
BUTTON TO CONTINUE..." s'inscrit dans la fenêtre CLI.Il n'y alors plus 
moyen de continuer a moins de déprotéger la disquette.Une fois cette 
opération éffectuée un deuƒ9!!!?‡ÿçÃÃ™<<ÿaraît dans la fenêtre CLI :
 "RAM CHECKED - NO VIRUS FOUND".Le Time Bomber 
se fait donc passer pour un anti-virus.La disquette étant déprotégée il
aura alors pris le soin de décrémenter de 1 le fichier compteur
VIRUSTEST.DATA puis la startup continuera en séquence et vous pourrez 
parcourir votre doc.L'opération étant répétée cinq fois (le fichier compteur
se trouvant décrémenter de cinq) ,d'un coup ,sans vous prévenir, le cheval 
de troie se réveillera pour FORMATTER votre disquette et se faisant se 
détruira lui-même sans laisser de traces.Le formattage est éffectué grâce
à la fonction DoIo (-456(A6)) ,sans bruit anormal,comme si le déroulement
de la starup-up continuait normalement.Au bout d'un moment un message 
d'erreur apparaît tel que "KEY 880 CHECKSUM ERROR" du fait qu'il n'y a plus
rien sur le disk.(Les sommes de controles ou CHECKSUM sont tous faussés).
Après voir cliquer su CANCEL s'inscrit sur l'écran le message suivant:
"SORRY,LOOSER,THAT'S ALL YOU CONNA GET!".Et vous vous n'avez plus que vos
yeux pour pleurer la disparition de votre super doc...
Point important :le cheval de troie ne se reproduit pas et est donc greffé 
à l'origine sur votre disquette.
A ce stade  de l'exposé je me dois de préciser des points extrèmement 
important:
-Le Time Bomber est indétectable (même par VirusX 3.2).Les seuls repères 
étant la taille du fichier (936) du VirusTest,la demande répétée pour 
déprotéger la disquette et le message "RAM CHECKED ..".
-Ce microbe n'est pas codé et il me paraît aisé même pour un débutant de 
changer le nom VIRUSTEST.DATA et la syntaxe des différents messages.Ces points
de repères sont donc peu fiables...
-Si un utilisateur décide d'enlever les deux fichiers du disk il lui faudra
 impérativement rectifier la startup-sequence pour éviter le "Unknow command".    -et enfin la dernière remarque la plus importante : CE CHEVAL DE TROIE NE SE REPRODUISANT PAS DE LUI-MEME IL NE PEUT SE TROUVER QUE SUR DES SOFTS PIRATES!!!
Donc l'utilisateur honnête que vous êtes ne pourra jamais faire la 
connaissance de ce cheval de troie.(Reste le Dom.Pub. dont certains disks pourraît éventuellement en contenir).De plus pour installer ce microbe existe un programme du nom de Time Bomber (origine du nom) de wizards inc qui ne peut lui aussi provenir que du monde des pirates. 
Conclusion : soyez honnêtes sinon "SORRY LOOSER THAT'S ALL YOU GONNA GET!"...
Merci à Bruno de nous avoir envoyer un examplaire du Time Bomber.
Vous pouvez toujours m'envoyer vos dernières découvertes microbiennes :

                  Leclercq Xavier
                  Vieux Chemin d'Ath n°12 7502 Warchin Belgique.


L'Amiga n'échappe pas au fanatisme religieux :

Le Claas Abraham Virus.
-----------------------

Ce Virus ne se dévoilera pas (rien à voir avec le voile islamique) d'une
manière visuelle.(rien à voir avec l'ABRA le seul Virus en mode HAM ? ).
Le seul moyen de le repérer serait de s'étonner d'une READ/WRITE error qui
peut survenir sans aucune raison logique.Je vais vous en expliquer la cause.
Je tiens d'abord à signaler que ce Virus fonctionne parfaitement avec
la ROM V1.2 ,la V1.3 et fonctionnera sans doute également sous une future
ROM V1.4...Ce n'est pas le cas de tout les Virus dont certains éffectuent des
appels en ROM pour une version spécifique.(IRQ TEAM,GX.TEAM,DASA,etc...)
Les points communs de "l'Abraham" avec le "Lamer Exterminator" (pour les 
trois premières versions ) sont troublants.Le codage est réalisé d'une
manière identique.La clé de codage provient de la position du faisceau d'
électrons balayant votre écran cathodique.( move.b $dff006,(Clé) )
De ce fait un nombre est généré au hazard et servira de clé de codage à
chaque reproduction du Virus.L'aspect de ce dernier change donc à chaque
nouvelle génération.Si un Virus Killer ne tient pas compte du codage,il
n'y a pas moyen de repérer une nouvelle génération.De plus un repérage
visuel (AscII Dump) devient pratiquement impossible.Sauver le BootBlock
pour le sauvegarder dans une librairie ne sert à rien,car il y a aura
dans ce cas autant de versions différentes du Virus que de mutant...
C'est parce que le message signalant leurs identités nuisible sont codés
que des noms étranges sont attribués à certains microbes.On appelle "DASA"
le "nighty byte warrior" ,"DASA" étant le seul mot lisible par un débutant
qui tente de visualiser le BootBlock en AscII.Pour une raison inconnue
d'autre nomme l'abraham le MCA Virus.
L'autre point commun avec le "Lamer Exterminator" est que comme ce dernier
l'Abraham formatera une piste de votre disquette.Cette piste est la 40 ième
et le formatage est déclu~ché par un compteur de reproduction.Le compteur
dépassant $f est remis à zéro et sera le signal de l'écriture sur cette
40 ième piste qui n'est rien d'autre que le block contenant le directory
racine (root).DISKDOCTOR pourra recalculer les CheckSums (Sommes de CTRL)
et reconstruire le directory mais un fichier occupant un ou plusieurs
secteurs de la piste 40 risque bien de ne pas s'en remettre,en d'autres
mots il sera perdu!
Encore heureux que DISKDOCTOR puisse reconstruire le directory facilement.
Sur d'autres bécanes comme le PC (beurk) il y aurait fallu jouer avec
les Disk moniteurs.L'Amiga avec son système plus lent conserve quelques
avantages c'était l'occasion d'en mettre un en relief.
Ce qui différencie l'Abraham des autres Virus de sa génération c'est 
l'utilisation d'un serveur d'interruption pour à intervalles régulier
(à chaque interruption) réinitialisé les vecteurs stratégiques qui 
permettent de le maintenir en vie lors d'un reset.Cela signifie que si
l'on ne tient pas compte de cette interruption il est impossible de 
se débarrasser du Virus! Certains virus protectors restent donc impuissant
face à ce genre de protection.En effet ils peuvent détecter que des vecteurs
comme CoolCapture,DoIo,...sont déviés et croient qu'il suffit de remettre les
offsets d'appels de la ROM pour éliminer le microbe.Erreur! L'interruption 
est toujours "virussée" et dans la micro-seconde qui suit elle remettera
les vecteurs en place.Vraiment une micro seconde? Non car il ne s'agit
pas d'une interruption régulière comme l'interruption IRQ cadencée à une
fréquence fixe.Cette classe d'interruption est de niveau deux.
Il s'agit de la classe d'interruptions du premier C.I.A. qui dirige aussi
la gérance des unités de disquettes.
Une démonstration : c'est ultra simple.

Main:
move.l a0,-(sp)
move.l $68,OldInterrupt
lea NewInterrupt(pc),a0 ;On dévie
move.l a0,$68
Wait: btst #10,$dff016  ;Souris Droite ?
bne.s Wait              ;Non on Wait
move.l OldInterrupt,$68 ;On replace
move.l (sp)+,a0
rts

NewInterrupt:
bchg #1,$bfe001          ;LED ON/OFF --> retirez une disquette d'un drive!
CodeJMP:      dc.w $4ef9
OldInterrupt: dc.l 0

Si "NewInterrupt" modifie les registres (ce qui n'est pas le cas ici) vous
ne devez pas oublier de sauver les registres sur la pile afin de récupérer
les valeurs en fin de routine.(Comme le Virus).Conclusion l'interruption
ne se manifeste que lors d'un "access" au disque...Le danger est comme je
l'ai expliqué de ne pas en tenir compte (si l'on se veut Virus Protector)
dans le Boot ; car une fois que la main est rendue à la routine ROM cette
dernière va générer une interrupt de niveau deux et donc l'Abraham
réssuscitera (sans jeu de mots) sans y avoir été invité!

Ne soyez pas timide! Envoyez moi vos dernières découvertes microbiennes.
Merci à S.Vast et P.Cretal,fidèles lecteur de A-News, pour m'avoir procurer
un échantillon du Claas Abraham.
 

                                Xavier Leclercq
                                Vieux Chemin d'Ath N°12
                                7502 Warchin Belgium


   


Quelques mots à propos du BGS9:
-------------------------------
Le Virus BGS9 débarque sur l'Amiga.Attention danger!!
Ce virus est de la même trempe que l' IRQ TEAM Virus ,c'est un virus qui
s'attaque directement aux fichiers éxécutables.Ce type de virus porte le
nom de "virus coquille".De la même manière que ses confrères qui sont
rendus actif par le "Boot" d'une disquette ,le BGS9 est résident en 
mémoire,un reset (classique) est impuissant et ne peut l'éliminer de cette
dernière.En effet le virus se crée une entrée dans la table des prgs 
résidents (550(exbase)) et peut également se trouver en mémoire en 
"cohabitant" avec un confrère virus ou virus protector!
Après avoir effectué 4 resets(*) consécutifs un message apparaît.
( (*) Le reset devant se faire après l'éxécution du premier fichier de la 
"startup-sequence" pour que le compteur du virus soit incrémenter de 1)
Le message est le suivant:
"            A COMPUTER VIRUS IS A DISEASE            "
"            TERRORISM IS A TRANSGRESSION             "
"             SOFTWARE PIRACY IS A CRIME              "
"                  THIS IS THE CURE                   "
"       B.G.S.9  BUNDERSGRENZSCHUTZ SEKTION 9         "
"                SONDERKOMMANDO 'EDV'                 "
En fait l'étude du code de ce virus permet de dire qu'il s'agit tout
simplement de données graphiques qui sont décodées lors de l'affichage.
Ce texte n'apparaît donc pas "en clair" (même décodé) car de toutes 
manières ce n'est pas des caractères ASCII mais une image.
Comme je l'ai déjà expliqué il s'agit d'un virus s'attaquant aux
éxécutables.Une fois en mémoire et lorsque vous aurez insérer une nouvelle
disquette et éffectué un reset le virus lira la "startup-sequence" pour
l'analyser.Il trouvera alors le nom du PREMIER fichier s'éxécutant et le
recopiera dans le directory ":devs" s'il existe.Et si ce dernier n'existe
pas il recopiera le fichier dans la "root" principale (df0:).Je dois faire
à ce sujet plusieurs remarques. 
Premièrement Un fichier protégé sera recopié avec ses protections :inutile
donc de le protéger.Deuxièmement le nom du fichier recopié sera modifié en 
$a0a0a0202020a0202020a0 :c'est un nom qui n'apparaît pas lors d'un"dir" ou
"list"classique.Troisièmement le fichier est recopié par défaut dans le
":devs" car c'est un "sub-directory" automatiquement pris dans le chemin
(path) du système : le virus accède donc au fichier quel que soit le
chemin où le système se trouve lors de l'appel.
Après donc avoir recopié le PREMIER éxécutable il se recopiera à la place
du fichier qu'il a préalablement recopié (ouf!!).Il écrasera donc le
fichier en y mettant son propre code.La taille de ce fichier qui contient
donc le code du BGS9 virus est de 2608 octets et est donc facilement
repérable en comparant la taille de la commande intitiale provenant d'une
disquette (back-up) saine.(Il serait tout de même stupéfiant d'avoir une 
commande dont la longueur soit justement 2608 octets,mais on ne sait
jamais !!).Résumons.La commande "setmap f" se trouve en début de votre
"startup-sequence".Le virus va chercher le nom "setmap" la trouver sur
la disquette dans le sous directory ":c" et la recopiée dans le sous 
directory ":devs" en changeant son nom ($a0a0a0202020a0202020a0).Puis il 
créera un nouveau fichier "setmap" de 2608 octets dans le sous directory
":c" écrasant par la même occasion l'ancien fichier du même nom.Lors du
prochain appel de la "startup-sequence" c'est d'abord la commande 
"setmap f" qui sera éxécutée et donc c'est le virus qui sera d'abord lancé
puis celui-ci fera appel au fichier dans le sous directory ":devs" pour
éxécuter correctement la commande.
Le BGS9 contamine des disquettes NON protégées en écriture.(Comme d'
ailleurs TOUS les autres virus).Il n'est pas détecté par VirusX 3.2.
Le BGS9 est "mortel" pour disquedur.Surtout pour les utilisateurs qui
"Boot" automatiquement ce périphérique à chaque reset!
Je vous propose quand même un moyen de le détecter en mémoire en employant
la propre routine d'auto-reconnaissance du BGS9 en mémoire que j'ai pu
désassembler.
                                                   
                                   Xavier L.

;listing à insérer dans vos propres routines par example...
TEST_BGS9_VIRUS:
movem.l a0-a6/d0-d7,-(sp)
move.l $4,a6              ;ExBase en a6
move.l 550(a6),d7         ;KickTagPtr (table des prgs résident)
beq.L NoBSG9V   ;si à Zéro il n'y a pas de BGS9 virus en mémoire
move.l d7,a2   
move.l (a2)+,d1 
move.l d1,a1
move.l 14(a1),d0            ;Compare le prg résident actuellement en mémoire
move.l d0,a3                ;avec le code du virus
move.l #"TTV1",d6           ;si le texte "TTV1" apparaît le Virus est
cmpi.l (a3),d6              ;en mémoire!!
bne.s NoBSG9V
movem.l (sp)+,a0-a6/d0-d7
move.l #$f,d0               ;Flag d'erreur...
rts
NoBSG9V:
movem.l (sp)+,a0-a6/d0-d7
clr.l d0
rts

