Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Reverse-Engineering CASIO via IDA pro
Lailouezzz Hors ligne Membre Points: 91 Défis: 0 Message

Reverse-Engineering CASIO via IDA pro

Posté le 26/11/2019 19:28

Bonjour,


J'ai un problème avec IDA pro c'est à dire que j'aimerais avoir le résultat de :

Sur ce screenshot on voit que IDA pro a détécté automatiquement les subroutines ("; sub_8002E430")
Donc forcement c'est simple de voir toutes les subroutines à partir du casiowin entry

SAUF que moi quand je paramètre IDA pro et que je lance la découverte de code à 0x80010008 voilà ce que IDA m'affiche :

On voit que la subroutine 0x80010080 n'est pas reconnu (unk_80010080) donc je suis obligé de jump à 0x80010080 et de taper P ce qui me donne :

Je dois faire ça pour TOUTES les subroutines mais quand il y en a plus de 10000 bon voilà quoi

Quelqu'un aurait une solution ?

EDIT : je vous joint le firmware que j'essaye de déassembler : https://anonfiles.com/DaF8TaBen8/OS_205_SH4_E_bin
C'est le firmware Graph 75+e que j'ai déjà flashé sur ma Graph 35+e


Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 01/12/2019 21:53 | #


Les instructions faisant 16 bits, il n'est pas raisonnable d'accorder plus de 8 bits à un opérande immédiat. Donc mov #imm, rn est une instruction pour #imm écrit sur 8 bits (signé).

Là il se trouve que 132 tient sur 8 bits en non signé donc on arrive à éviter le pc-rel.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lailouezzz Hors ligne Membre Points: 91 Défis: 0 Message

Citer : Posté le 01/12/2019 21:55 | #


Alors que 132 en signé ne tiens pas dans 8 bits
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 01/12/2019 21:57 | #


Voilà. Donc là, si tu fais 132 en signé, ça se lit -0x7f et la valeur est étendue sur 32 bits, ce qui met des 1 au lieu de 0 dans les 24 bits hauts.

Qu'à cela ne tienne, on écrase cette extension signée par une extension non signée explicite de 8 vers 32 bits, et on obtient 132.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lailouezzz Hors ligne Membre Points: 91 Défis: 0 Message

Citer : Posté le 01/12/2019 23:54 | #


Vraiment très différent du amd64 le SH4, j'ai du mal des fois

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 262 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