Greg159357
Messages postés112Date d'inscriptionlundi 21 octobre 2013StatutMembreDernière intervention 4 janvier 2014
-
21 déc. 2013 à 17:20
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 2016
-
26 déc. 2013 à 17:46
Bonjour,
pouvez vous me donner un algorithme qui permet de désassembler un code .com en NASM ? Ou alors me donner un tableau avec les instructions intel 32 et me dire comment faire pour désassembler un .com avec. Je précise que ce n'est pas pour modifier/voir le code source d'un programme dont je ne suis pas l'auteur. Je veux juste faire sur mes programmes avec celui ci un désassemblage, une optimisation du code, et un ré-assemblage.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 24 déc. 2013 à 02:26
Bonjour,
Les manuels Intel sont disponibles en ligne. Ils te permettront d'avoir une liste complète des instructions à désassembler. Pour la méthode, tu peux te référer à ceci : http://stackoverflow.com/a/924445
Attention toutefois : un .com est supposé contenir seulement des instructions 16 bit, c'est déjà bien plus facile à gérer. Pourquoi parles-tu de 32 bit ?
Greg159357
Messages postés112Date d'inscriptionlundi 21 octobre 2013StatutMembreDernière intervention 4 janvier 2014 24 déc. 2013 à 15:47
Désolé, je ne savais pas que le 32 en .com n'existais pas. Mais en fait, je parle des fichiers d'un système d'exploitation, et je me disait que c'était la même chose, car un .com est fait pariel il me semble.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 25 déc. 2013 à 01:50
Un .com sous DOS (le vrai, hein, pas cmd qui est souvent confondu avec DOS) est "directement exécutable" : pas de relocation, pas de segments différents...
Pour les fichiers de l'OS (si c'est Windows), tu devras d'abord comprendre le format d'un EXE...
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 26 déc. 2013 à 17:46
Des instructions, pour être plus général... Dans du langage machine, il y a bien sûr des opcodes pour les instructions mais il ne faut pas oublier les données qui vont avec : mov ax, 42 c'est l'instructions pour dire de mettre une constante dans ax, la constante est précisée après l'opcode.
"fichiers qui bootent au démarrage..." : ça n'a pas de sens. C'est l'ordinateur qui boote, pas les fichiers. Puis au tout début, il n'est pas question de fichiers : le MBR est lu et exécuté (le format est dispo sur le Net) et c'est lui qui se débrouille pour chercher dans le système de fichiers un fichier qui chargera tout le reste (ça marche à peu près toujours comme ça).
Si tu veux comprendre comment fonctionne un OS, il y a des mini-OS qui existent sur le Net, avec leurs sources, une documentation... c'est bien plus facile que de désassembler une partie de Windows. (Les premières versions de Linux sont aussi disponibles.)