5 votes

guides/livres recommandés pour lire l'assemblée

Dernièrement, je me suis intéressé à la lecture de l'assemblage qui est affiché par un désassembleur comme ollydbg. La raison pour laquelle je veux lire cet assemblage est d'apprendre comment les autres développeurs construisent leurs applications ou des choses comme les formats des fichiers binaires du programme.

Ce n'est pas comme si j'étais un débutant en programmation, puisque j'utilise C++ et C# depuis un certain temps déjà. Et comme j'ai une solide connaissance du C++, le concept de pointeur est clair pour moi.

Je sais qu'il existe des tonnes de guides d'assemblage sur Internet, mais je n'ai aucune idée de la fiabilité de ce tutoriel : http://jakash3.wordpress.com/2010/04/24/x86-assembly-a-crash-course-tutorial-i/ a été très utile pour moi et c'est le genre de tutoriel avec juste une courte explication de l'instruction. Celui-ci était très clair pour moi mais il ne couvre pas tous les codes d'assemblage.

J'espère que quelqu'un pourra me donner un bon guide/tutoriel.

4voto

Seth Carnegie Points 45196

Je pense que le guide standard d'assemblage est L'art de l'assemblage . C'est en ligne et gratuit.

3voto

Rudy Velthuis Points 11477

Si vous êtes intéressé par l'assemblage x86 et les opcodes de toutes les instructions, essayez le site suivant Manuels d'Intel (téléchargement gratuit). Si vous souhaitez savoir comment programmer en assembleur, utilisez le programme recommandation de Seth Carnegie . Un autre téléchargement serait le Edition 32 bits .

1voto

sbi Points 100828

J'ai appris une grande partie de ce que je sais sur le langage assembleur grâce au livre de Matt Pietrek. Juste assez de langage assembleur pour s'en sortir y sa suite . Ceci est particulièrement destiné aux programmeurs C ou C++ qui souhaitent lire ce que le compilateur émet dans leur débogueur.

Le matériel de Pietrek ne fait aucun doute et il écrit de manière claire et divertissante. Il est cependant adapté à la plate-forme Windows.

0voto

dwelch Points 27195

C'est une approche différente. J'ai récemment publié un premier projet d'apprentissage de l'assemblage par l'exemple. Ce n'est pas de l'assembleur x86, mais c'est voulu. Apprendre d'abord un jeu d'instructions meilleur et plus facile à comprendre vous permettra d'acquérir les concepts de base, à partir de là, les autres jeux d'instructions, y compris le x86, sont souvent une question de téléchargement d'une référence de jeu d'instructions pour le processeur désiré. https://github.com/dwelch67/lsasim

Normalement, une recherche sur le jeu d'instructions xyz vous donnera un certain nombre de résultats (au lieu de xyz, choisissez celui qui vous intéresse, arm, avr, 6502, etc). Idéalement, vous voulez la documentation du vendeur qui est généralement gratuite. Il y a eu tellement de variations sur le x86 par différentes sociétés que cela ajoute à la confusion. Il y a cependant beaucoup de bonnes références en ligne. Pour les autres familles, msp430, avr, arm, mips, pic, etc, vous pouvez souvent aller sur le site du fournisseur (du processeur central) pour trouver une bonne référence. msp430, arm et thumb sont également de bons jeux d'instructions pour une première utilisation si vous n'êtes pas intéressé par la chose lsa. mips ou dlx également, d'après ce qu'on m'a dit, malheureusement je ne les ai pas encore appris. avr et x86 après avoir appris quelque chose d'autre d'abord. Pic a quelques saveurs, le jeu d'instructions pic traditionnel non-mips est certainement éducatif dans sa simplicité et son approche, il pourrait être un tremplin vers x86 (je ne recommande pas nécessairement pic comme premier jeu d'instructions non plus). Je recommande d'apprendre d'abord quelques jeux d'instructions non-x86. Et je recommande d'apprendre d'abord les instructions 8088/86, je peux vous donner un numéro ISBN pour les manuels originaux d'Intel, vous pouvez probablement les trouver pour quelques dollars dans une librairie d'occasion (en ligne). Beaucoup de sites web ont également défini le jeu d'instructions x86. Je recommande fortement d'utiliser un simulateur visible avant d'essayer sur le matériel, cela rendra la vie plus facile... qemu, par exemple, n'est pas très visible et il n'est pas facile de le rendre visible.

0voto

Sinthet Points 129

J'ai beaucoup aimé Programming From the Ground Up, un livre gratuit qui vise à vous enseigner les bases de la programmation ASM d'une manière assez facile à comprendre. Vous pouvez le consulter ici :

La programmation à partir de la base

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X