Quel desassembleur moderne pour 8086 16 bits ?
Modérateurs : Papy.G, fneck, Carl
Quel desassembleur moderne pour 8086 16 bits ?
Hello,
Je cherche un bon desassembleur moderne (marchant sous Windows 10) pour 8086 16 bits.
J'ai regardé du coté des desassembleurs online, mais je ne suis pas convaincu, donc je cherche un outils 'offline'.
Je cherche un bon desassembleur moderne (marchant sous Windows 10) pour 8086 16 bits.
J'ai regardé du coté des desassembleurs online, mais je ne suis pas convaincu, donc je cherche un outils 'offline'.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Quel desassembleur moderne pour 8086 16 bits ?
Pour le désassemblage IDA pro en payant et Cutter en gratuit.
Ils font aussi de l'assemblage mais c'est moins pratique. Sinon dans visual studio ou GCC tu peux utiliser directement le compilateur ASM.
Ils font aussi de l'assemblage mais c'est moins pratique. Sinon dans visual studio ou GCC tu peux utiliser directement le compilateur ASM.
Commodore (64/128/Amiga), HP (28/41/48/50/71/75/200/Prime) et autres (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl, Amstrad)
Re: Quel desassembleur moderne pour 8086 16 bits ?
Je viens d'essayer IDA pro et je n'ai pas réussi à faire ce que je veux.
Pour l'instant, je ne désassemble pas des exécutables ou librairies standards avec un format connu (section data, section code etc..), mais des boot loader anciens (en 8086). Je veux donc desassembler des bouts de binaire à en considérant que ces binaires seront chargés à une adresse particulière en mémoire.
Par exemple, actuellement, j'essaie de comprendre ce que fait le boot sector d'une disquette DOS. Ce boot secteur est chargé par le BIOS à l'adresse 0x7C00 (je veux donc desassembler en considerant cette adresse), il contient du code et des données mélangées que je dois structurer moi-même.
Idéalement, l'outil serait viewer/editeur hex contenant un desassembleur dans lequel pour pourrait ajouter des annotations.
Pour l'instant, je ne désassemble pas des exécutables ou librairies standards avec un format connu (section data, section code etc..), mais des boot loader anciens (en 8086). Je veux donc desassembler des bouts de binaire à en considérant que ces binaires seront chargés à une adresse particulière en mémoire.
Par exemple, actuellement, j'essaie de comprendre ce que fait le boot sector d'une disquette DOS. Ce boot secteur est chargé par le BIOS à l'adresse 0x7C00 (je veux donc desassembler en considerant cette adresse), il contient du code et des données mélangées que je dois structurer moi-même.
Idéalement, l'outil serait viewer/editeur hex contenant un desassembleur dans lequel pour pourrait ajouter des annotations.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Quel desassembleur moderne pour 8086 16 bits ?
Dans Ida (et sûrement cutter aussi) tu peux changer un bloc de donné et lui dire de le désassembler en lui disant que l'adresse commence en 0x7C00
Commodore (64/128/Amiga), HP (28/41/48/50/71/75/200/Prime) et autres (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl, Amstrad)
Re: Quel desassembleur moderne pour 8086 16 bits ?
J'ai rapidement regardé du coté de cutter.
Déjà, il a un thème visuel 'dark' qui me plait beaucoup Je n'aime pas du tout les fenêtres blanches lumineuses à la Windows, car ça fatigue les yeux.
Par contre, j'ai fait un essai rapide et je n'ai pas trouvé comment forcer le 8086. Il me propose juste x86 et quand je désassemble, et ça me semble être du i386 ou i686, pas du 8086.
Le problème, c'est que le standard aujourd'hui, c'est généralement soit du i686, soit du x64.
Je regarderai ça plus en détail ce soir
EDIT: cutter semble être vraiment le genre d'outil que je cherche : hex editor, disassembler, debugger. Il a semble-t-il aussi plein de plugin (j'ai vu quelque chose concernant le BIOS). Il faut juste que je trouve comment forcer le 8086.
Déjà, il a un thème visuel 'dark' qui me plait beaucoup Je n'aime pas du tout les fenêtres blanches lumineuses à la Windows, car ça fatigue les yeux.
Par contre, j'ai fait un essai rapide et je n'ai pas trouvé comment forcer le 8086. Il me propose juste x86 et quand je désassemble, et ça me semble être du i386 ou i686, pas du 8086.
Le problème, c'est que le standard aujourd'hui, c'est généralement soit du i686, soit du x64.
Je regarderai ça plus en détail ce soir
EDIT: cutter semble être vraiment le genre d'outil que je cherche : hex editor, disassembler, debugger. Il a semble-t-il aussi plein de plugin (j'ai vu quelque chose concernant le BIOS). Il faut juste que je trouve comment forcer le 8086.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Quel desassembleur moderne pour 8086 16 bits ?
Architecture supporté (cutter et l'interface graphique de radare2).
Après il fonctionne avec un système de plugin et on peut créer le sien
Après il fonctionne avec un système de plugin et on peut créer le sien
Commodore (64/128/Amiga), HP (28/41/48/50/71/75/200/Prime) et autres (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl, Amstrad)
Re: Quel desassembleur moderne pour 8086 16 bits ?
J'étais quand même curieux et j'ai continué mes expériences.
J'ai finalement réussi à désassembler mon image de disquette en forçant x86 16 bits.
Cet outil cutter semble assez excellent et je n'ai même pas encore vu grand chose de ses fonctionnalités !
Exactement le genre d'outil que je cherchais, merci pour l'info @Gege34 !
J'ai finalement réussi à désassembler mon image de disquette en forçant x86 16 bits.
Cet outil cutter semble assez excellent et je n'ai même pas encore vu grand chose de ses fonctionnalités !
Exactement le genre d'outil que je cherchais, merci pour l'info @Gege34 !
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
-
- Messages : 2366
- Inscription : 06 avr. 2009 12:07
Re: Quel desassembleur moderne pour 8086 16 bits ?
Et pourquoi pas Ghidra ? Il est gratuit et à l'avantage d'avoir le décompilateur intégré. Pour avoir pratiqué les deux à outrance avec IDA Pro, Ghidra lui est supérieur pour l'architecture Intel. Par contre, IDA Pro gère des dizaines d'autres architectures, très pratique pour tout ce qui est micro-contrôle.
Re: Quel desassembleur moderne pour 8086 16 bits ?
Le problème des de-compilateurs est qu'ils marchent bien avec du code compilé.
Actuellement, je désassemble du vieux code de boot sector et il a été écrit à la main, ne suit pas une ABI bien définie pour les appels de fonctions. Ce code utilise même une partie du code pour stocker des données après que ce code ait été exécuté
En fait, c'est un peu comme si je devais analyser le code d'un virus et il faut des outils très bas niveau.
J'avais essayé un peu Ghidra et ça n'avait pas marché. Et concernant IDA pro (la version freeware), j'ai réussi à le faire planter rapidement (à cause du 8086 16 bits ?)
Pour l'instant, il n'y a que cutter/radare qui répond plus ou moins à mes attentes. Je dis plus ou moins car je n'ai pas encore réussi à mettre des labels dans le code désassemblé Il me semble d'ailleurs aussi avoir vu un plugin Ghidra dans cutter.
Quand j'en aurai fini avec le boot sector du DOS 3 que je regarde actuellement avec cutter, je retournerai quand même voir les autres outils comme IDA pro et Ghidra, avec un peu plus de recul.
Actuellement, je désassemble du vieux code de boot sector et il a été écrit à la main, ne suit pas une ABI bien définie pour les appels de fonctions. Ce code utilise même une partie du code pour stocker des données après que ce code ait été exécuté
En fait, c'est un peu comme si je devais analyser le code d'un virus et il faut des outils très bas niveau.
J'avais essayé un peu Ghidra et ça n'avait pas marché. Et concernant IDA pro (la version freeware), j'ai réussi à le faire planter rapidement (à cause du 8086 16 bits ?)
Pour l'instant, il n'y a que cutter/radare qui répond plus ou moins à mes attentes. Je dis plus ou moins car je n'ai pas encore réussi à mettre des labels dans le code désassemblé Il me semble d'ailleurs aussi avoir vu un plugin Ghidra dans cutter.
Quand j'en aurai fini avec le boot sector du DOS 3 que je regarde actuellement avec cutter, je retournerai quand même voir les autres outils comme IDA pro et Ghidra, avec un peu plus de recul.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
-
- Messages : 2366
- Inscription : 06 avr. 2009 12:07
Re: Quel desassembleur moderne pour 8086 16 bits ?
La version freeware de IDA Pro a toujours plusieurs releases de retard et est très limitée, pas vraiment très utile en fait.
Allez, j'abats ma dernière carte, que j'utilise encore régulièrement sur mon bon vieux TO16 :
http://cepera.ru/code/insight/
Ca tournera très bien dans un dosbox par exemple, sur Win10. Et c'est parfait pour des bootsectors en mode réel.
Allez, j'abats ma dernière carte, que j'utilise encore régulièrement sur mon bon vieux TO16 :
http://cepera.ru/code/insight/
Ca tournera très bien dans un dosbox par exemple, sur Win10. Et c'est parfait pour des bootsectors en mode réel.
Re: Quel desassembleur moderne pour 8086 16 bits ?
En fait, j'ai maintenant un problème assez simple avec cutter, je n'arrive pas à exporter mon travail...
Je veux juste exporter un fichier assembleur avec mes commentaires et ma structuration des data, mais je n'y arrive pas
Aucune option d'export pour du texte et je ne peux même pas faire de copier-coller.
Du coup, j'ai retenté le coup avec IDA freeware, et en y allant plus calmement, j'ai réussi à:
- charger le binaire à l'adresse voulue
- désassembler en 8086 16 bits
- structurer entre code et donnée, le choix de la taille des données.
- exporter vers un fichier .asm avec mes annotations
- mettre des labels
Du coup, je pense que je vais finalement plus me tourner du coté d'IDA pro
EDIT: un coté sympa de IDA est qu'il donne automatiquement des infos sur les interruptions qu'on appelle.
Du style
EDIT2: J'ai l'impression que pour des particuliers, c'est plutôt "IDA freeware" car IDA pro parait très cher et cibler les entreprises.
Je veux juste exporter un fichier assembleur avec mes commentaires et ma structuration des data, mais je n'y arrive pas
Aucune option d'export pour du texte et je ne peux même pas faire de copier-coller.
Du coup, j'ai retenté le coup avec IDA freeware, et en y allant plus calmement, j'ai réussi à:
- charger le binaire à l'adresse voulue
- désassembler en 8086 16 bits
- structurer entre code et donnée, le choix de la taille des données.
- exporter vers un fichier .asm avec mes annotations
- mettre des labels
Du coup, je pense que je vais finalement plus me tourner du coté d'IDA pro
EDIT: un coté sympa de IDA est qu'il donne automatiquement des infos sur les interruptions qu'on appelle.
Du style
Code : Tout sélectionner
seg000:7C6A int 13h ; DISK - RESET DISK SYSTEM
seg000:7C6A ; DL = drive (if bit 7 is set both hard disks and floppy disks reset)
Dernière modification par gotcha le 05 avr. 2020 15:02, modifié 1 fois.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: Quel desassembleur moderne pour 8086 16 bits ?
Bonjour,
Je ne sais pas ce qu'il vaut pour le désassembleur x86, mais hier soir, j'ai récupéré les sources d'un de mes éditeurs Hexa préférés. Et sur la page du site, j'ai découvert qu'il intégrait un désassembleur x86.
En voyant ton post, je me suis dit que ça pourrait peut être t'intéresser. Il est disponible sous windows, Linux et Mac.
https://www.wxhexeditor.org/home.php
Je ne sais pas ce qu'il vaut pour le désassembleur x86, mais hier soir, j'ai récupéré les sources d'un de mes éditeurs Hexa préférés. Et sur la page du site, j'ai découvert qu'il intégrait un désassembleur x86.
En voyant ton post, je me suis dit que ça pourrait peut être t'intéresser. Il est disponible sous windows, Linux et Mac.
https://www.wxhexeditor.org/home.php
Thomas,
Re: Quel desassembleur moderne pour 8086 16 bits ?
Je viens d'essayer wxHexEditor sur le boot sector DOS que j'analyse actuellement. On peut en effet désassembler en 8086 16 bits. Par contre, il n'arrive pas à désassembler une des instructions (cbw) et du coup, arrête de désassembler à partir de là. Aussi, il ne permet pas d'annoter le code assembleur, de mettre des labels, de structurer les data etc...
Cette fonction désassemblage est je trouve très sympa pour un éditeur hexa (qui généralement ne le permettent pas), mais on n'est pas au niveau de IDA pour faire un travail de désassemblage et de compréhension de code.
Au final, avec une semaine de recul, je suis content avec IDA freeware.
C'est le soft qui répond le mieux à mes attentes pour l'instant.
Un coté sympa de IDA freeware est qu'il marche aussi sous Linux.
Cette fonction désassemblage est je trouve très sympa pour un éditeur hexa (qui généralement ne le permettent pas), mais on n'est pas au niveau de IDA pour faire un travail de désassemblage et de compréhension de code.
Au final, avec une semaine de recul, je suis content avec IDA freeware.
C'est le soft qui répond le mieux à mes attentes pour l'instant.
Un coté sympa de IDA freeware est qu'il marche aussi sous Linux.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)