 
                        Posté le 20/10/2016 11:29
 J'espère pouvoir vous faire découvrir avec ce tutoriel, l'intérêt du rétro-engineering et tout ce qu'on peut apprendre simplement en désassemblant des syscalls (rien que ça, enfin).
 J'espère pouvoir vous faire découvrir avec ce tutoriel, l'intérêt du rétro-engineering et tout ce qu'on peut apprendre simplement en désassemblant des syscalls (rien que ça, enfin). 
  
 
                Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 120 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
					Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
					Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
					CASIO est une marque déposée par CASIO Computer Co., Ltd
				
Citer : Posté le 20/10/2016 12:25 | #
Très interressant ! Tu as fais un vrai travail de recherche, bien joué. Maintenant je comprend comment ça fonctionne derière tout ça.
C'est interressant que tu aies pris pour exemple la fonction Sleep(), ton analyse justifie les propos que tu tenais concernant ma lib de gestion du clavier qui s'utilise avec des Sleep(). En fait oui sleep et vraiment pourri
(ps petit coquille avec le mot desassembleur au 3.3
Citer : Posté le 20/10/2016 13:25 | #
Merci ! J'ai eu le temps de bien digérer la méthode depuis que TeamFX m'a expliqué ça pour la première fois sur Casiopeia
Effectivement, la fonction Sleep() est un bon exemple parce qu'elle est à la fois très simple et très moche. J'ai de la chance d'avoir pu disposer de cet exemple
(corrigé, merci)
Citer : Posté le 11/12/2018 21:03 | #
Merci pour ce tutoriel de qualité j'ai appris beaucoup de choses
Seulement j'ai un petit souci, j'aimerais déassembler des syscalls (histoire de mieux comprendre le fonctionnement de la calto).J'arrive à déassembler des programme simple, mais impossible de trouver la table des syscalls. Je suppose que ça se trouve dans l'image de l'os, mais impossible de le d'assembler
J'ai essayé avec un .fls et un .bin mais rien ne fait j'ai toujours la même erreur:
file format not recognized
La commande que je fais:
sh3eb-elf-objdump -m sh3 -d test.elf -D OS_205_E.bin > test.s
Citer : Posté le 11/12/2018 21:04 | #
C'est dans l'OS, mais le .bin tout entier n'est pas forcément au format elf, il y a par exemple un entête qui n'est pas dans le format elf.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 11/12/2018 21:07 | #
Je t'ai pourtant mis dans le chat l'option -b binary à cet effet !
Citer : Posté le 12/12/2018 09:44 | #
Je t'ai pourtant mis dans le chat l'option -b binary à cet effet !
Ma dyslexie me joue des tours visiblement, j'avais fait:
sh3eb-elf-objdump -m sh3 -d binary -D OS_205_E.bin > test.s
donc -d au lieu de -b, c'est pour ça que ça fonctionnait pas
Merci
Ajouté le 10/02/2019 à 17:54 :
Actuellement j'essaie de déassembler le syscall 0x117. Seulement voila, je me trouve un peu perdu sur certain point du code. (
Ce qui me pose problème c'est la différence entre jsr et jmp. La doc me dit que jsr "sauvegarde pr" puis saute a l'adresse donnée alors que jmp ne fait que sauter à l'address sans toucher à rien.
Je sais que pr signifie Procedure Register mais impossible de comprendre son utilité... et du coup quel avantage on a à utiliser jsr plutôt que jmp.
Citer : Posté le 10/02/2019 17:55 | #
pr est le registre qui dit à quel endroit il faut retourner quand on appelle rts. C'est-à-dire, où continuer une fois la fonction actuelle terminée.
Donc, jmp saute comme si tu avais fait un bra, un bt ou un autre saut normal, tandis que jsr saute dans une sous-routine ; ça fait un appel de fonction. Le code reprend après le jsr une fois que la sous-fonction aura exécuté rts.
Citer : Posté le 10/02/2019 18:04 | #
Bon j'aimerais bien lire, mais je dois d'abord apprendre le langage d'assemblage...
Citer : Posté le 10/02/2019 18:10 | #
Commence ici : https://www.planet-casio.com/Fr/forums/topic12345-1-[Tutoriel]-Initiation-a-l-assembleur-SuperH.html