Obligement - L'Amiga au maximum

Samedi 18 novembre 2017 - 05:46  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

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

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


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


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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


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 DMA bitplane.

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]