Obligement - L'Amiga au maximum

Mardi 19 mars 2024 - 10:19  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Programmation : Assembleur - désassemblage du virus Byte Bandit
(Article écrit par Éric Chauvel et extrait d'A-News (Amiga News) - mai 1989)


Voici le virus Byte Bandit désassemblé avec quelques explications.

Assembleur

Vérifie la présence du virus dans la mémoire de l'Amiga en comparant la valeur du pointeur sur le programme d'interruption raster (interruption libérée au passage de la ligne raster 0).

Assembleur

Transfert de tout le programme.

Assembleur

Saut dans le programme qui vient d'être transféré.

Assembleur

Et on continue ici dans le programme transféré.

Assembleur

Fin du programme.

Assembleur

Création d'un tampon de 1024 octets.

Assembleur
Assembleur

Chercher pointeur sur noeud trackdisk.device.

Assembleur

D0 contient un pointeur sur le noeud trackdisk.device de la device.list.

Assembleur

Pointeur sur la table de saut de trackdisk.device.

Assembleur

Sauvegarde ancien pointeur sur BEGIN_IO.

Assembleur

Et mise en place du nouveau pointeur (détournement du programme original pour aller exécuter la partie de programme en $C3188(PC)).

Assembleur

Sauvegarde pointeur sur le programme d'interruption à exécuter lors d'une interruption raster.

Assembleur

Et mise en place du nouveau pointeur (détournement du programme original pour aller exécuter la partie du programme en $C32CA(PC)).

Assembleur

Initialisation d'une structure résidente qui permet l'exécution d'un programme lors d'une réinitialisation.
Tableau de pointeur sur structure résidente.

Assembleur

Adresse structure résidente dans tableau de pointeur.

Assembleur

Marque de fin du tableau de pointeur.

Assembleur

Kicktagptr (pointeur sur une table résidente).

Assembleur

Pointeur sur le programme à exécuter lors d'une réinitialisation soit C3388(PC).

Assembleur

Partie du programme détournée et exécutée à chaque utilisation du trackdisk.device, soit sendio ou DOIO. A1 pointe sur un IO_REQUEST. Donc chaque fois que vous entrez une disquette dans le lecteur, vous aurez une copie du virus sur celle-ci.

Assembleur
Assembleur

Transfère les 512 premiers octets du programme.

Assembleur

Transfère de tout le programme dans les 1024 octets du tampon mémoire.

Assembleur

Calcul des sommes de contrôle du programme.

Assembleur

Test le nombre d'opération I/O (entrée/sortie).

Assembleur

Augmente le nombre qui indique combien il y a de copie du virus.

Assembleur

Récupère ancien pointeur sur BEGIN_IO.

Assembleur

Partie du programme détournée et exécutée à chaque interruption du raster.

Assembleur
Assembleur

Récupère ancien pointeur sur programme d'interruption raster.

Assembleur

Simulation d'un plantage. On en sort en appuyant successivement sur les touches "Alt Gauche", "Amiga Gauche", "Espace", "Amiga Droite", "Alt Droite".

Assembleur

Pointeur sur un tableau de codes touches clavier (codes des touches).

Assembleur

Lecture du clavier.

Assembleur

Compare touche entrée au clavier avec le contenu du tableau de code clavier.

Assembleur

Activer le DMA du plans de bits.

Assembleur

Partie de programme exécutée lors d'une réinitialisation.

Assembleur

Indique qu'il y a plus de deux réinitialisations.

Assembleur


[Retour en haut] / [Retour aux articles]