Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Assembleur - VCheck/Virus Detector 1.2
(Article écrit par Crystal Chip et extrait d'A-News (Amiga News) - octobre 1989)
|
|
C'est en désassemblant l'antivirus VCheck 1.1 de Ph. B of CBC que je me suis aperçu de la facilité de lutter contre
le fléau que représentent les virus. En effet, le point faible des virus c'est leur obligation de changer les vecteurs
de la réinitialisation afin de rester constamment en mémoire.
Il suffit donc de contrôler ces vecteurs afin de savoir s'ils n'ont pas été modifiés, auquel cas cela pourrait signifier
la présence d'un virus. Je dis "pourrait" car les virus ne sont pas les seuls à modifier les vecteurs de la
réinitialisation. Certains antivirus ou des programmes comme DiskManager modifient eux aussi ces vecteurs.
Ce que je vous propose, c'est une version remaniée et complétée par mes soins de VCheck 1.1. Cet antivirus appelé
Virus Detector 1.2 détecte neuf sortes de virus, et prévient l'utilisateur dans le cas où les vecteurs de la
réinitialisation sont modifiés alors qu'aucun virus connu n'a été détecté. La modularité du programme permet
d'ajouter facilement des tests de détection d'autres virus.
J'ai volontairement laissé les messages du programme en anglais, car c'est le langage le plus répandu ; cependant les
anglophobes pourront aisément mettre les messages dans leurs patois respectifs. Une fois assemblé, le programme
s'utilise comme n'importe quelle autre commande à partir du CLI et il convient parfaitement à une startup-sequence.
Voici maintenant la version du Virus Detector qui est à installer sur le bloc d'amorce des disquettes. L'affichage est réalisé
à l'aide des boîtes d'alerte (les mêmes que celles du Guru) qui indiqueront la nature de l'anomalie détectée.
Après avoir assemblé ce programme, il faut se servir d'un moniteur assembleur du style de RossiMonitor pour réaliser
les tâches suivantes :
- Charger le segment que représente le programme une fois assemblé (exemple Rossi : 1 NomProgramme).
- Réserver une zone mémoire de $400 octets en absolu (exemple Rossi : & 30000 400).
- Charger le bloc d'amorce d'une disquette démarrable à l'adresse réservée (exemple Rossi : < 30000 0 0 2).
- Transférer les données du segment à l'adresse réservée + SC (exemple Rossi : T DebutSeg FinSeg 3000C).
- Recalculer la somme de contrôle du bloc d'amorce (exemple Rossi : 30000).
- Écrire les $400 octets sur le bloc d'amorce de la disquette à installer (exemple Rossi : > 30000 0 0 2)
- C'est tout !
Une fois que la disquette est installée avec l'antivirus, il suffit d'utiliser un copieur de bloc d'amorce
pour en faire de même avec les autres disquettes. Lorsque l'antivirus signale "Reset Vectors Not Empty",
soit on néglige l'avertissement car le programme qui est mis en cause est connu et inoffensif auquel cas
il faut presser sur le bouton gauche de la souris, soit on tient compte de l'avertissement en appuyant sur
le bouton droit de la souris pour réinitialiser le système.
|