Quel désassembleur pour linux me conseillez-vous, permettant de travailler sur un gros fichier binaire (dump mémoire) ? Il faut qu'on puisse lui dire à quelle adresse est théoriquement chargé le code, et j'aimerais qu'il puisse déssasembler à partir de n'importe quelle adresse (offset)...
Je viens de tester : on ne peux pas lui dire de désassembler à partir d'un certain offset, et le code généré n'est pas très beau...
J'aime bien le code généré par RetroVirtualMachine, mais le truc con, c'est qu'on ne peux ni faire de copier/coller, ni rediriger la sortie dans un fichier ! C'est balo.
Bonjour, caché dans ce dépôt : https://github.com/cpcsdk/rust.cpclib j'ai un désassembleur. Voici les options qu'ils accèpte (je peux en ajouter ou intégrer des patchs qui en ajoutent):
Code :
USAGE: bdasm [FLAGS] [OPTIONS] <INPUT>
FLAGS: -c, --compressed Output a simple listing that only contains the opcodes -h, --help Prints help information -V, --version Prints version information
OPTIONS: -d, --data <DATA_BLOC>... Relative position that contains data for a given size. Format: RELATIVE_START(in hexadecimal)-SIZE(in decimal) -l, --label <LABEL>... Set a label at the given address. Format LABEL:ADDRESS(in hexadecimal -o, --origin <ORIGIN> Disassembling origin (ATTENTION hexadecimal only) -s, --SKIP <SKIP> Skip the first <SKIP> bytes
ARGS: <INPUT> Input binary file to disassemble.
et voici un fragment de résultat obtenu sur un fichier de test :
Code :
SUB IYH SUB IYL XOR IXH DB 0xdd,0xad,0xfd,0xac HERE XOR IYL
Comme l'ensemble de mon projet n'est toujours pas dans un état suffisement stable pour être diffusé en masses, je n'ai pas de binaire à télécharger sur le dépot, donc le voici en piece jointe.
il est possible qu'il y ai des bugs (notement en ce qui concerne les addresses relatives)
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Merci pour ta réponse (que je n'avais pas vue, faute de notification de la part du moteur du forum)...
Bon, ça ne tourne malheureusement pas chez moi, car je n'ai que la libc 2.32, et tu as compilé avec la 2.33 ! Zarbi, je suis pourtant en debian sid à jour...
Peux-tu m'envoyer ton source, que j'essaye de le compiler ?
Naturellement, il faut en pré-requis la chaine de compilation rust (version nightly, pas version stable) :
Code :
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # installe rust et peux être modifie le PATH dans bashrc pour accéder aux outils rustup toolchain install nightly # après prise en compte de la modification de PATH
Merci pour les explications. Malheureusement, je tombe sur une erreur, liée à openssl :
Code :
run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit status: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'openssl' found\n"
Comment corriger ça ? Je ne connais rust que de loin (un copain du hackerspace s'y est mis, l'année dernière)...
Je suppose qu'il faut installer openssl-dev ou quelque chose qui ressemble à ça pour avoir les .h de openssl. (Mais ici c'est plus une erreur de compilation C, pour une dépendance, que de compilation rust )
edit: d'après cette page, c'est libssl-dev qu'il faut installer
C'est Orienté Objet, donc facilement extensible. Par exemple, on peut écrire son propre formateur, pour sortir les données comme on veut (ordre, casse, couleurs...). J'ai déjà écrit un formateur type DAMS :
Pièce jointe :
Z80dis sample.png
Bien qu'il soit déjà totalement utilisable, j'ai encore des choses à améliorer pour qu'il soit facilement maintenable. Je le mettrai sur Framagit dans un moment, mais je peux déjà l'envoyer à ceux qui veulent le tester.
D'ailleurs, je suis preneur d'idées de formatage pour écrire d'autres formateurs, et voir ainsi si l'architecture du code tient la route ou non. Et si vous avez des besoins spécifiques, je peux toujours essayer de voir si j'arrive à les intégrer.
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 62 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum