Décodage BLX Instruction sur le bras / le pouce (iOS)
Question
J'ai lu une grande partie de la documentation du bras mais j'ai toujours du mal à décoder une instruction BLX. Voici deux exemples:
__text:0000347C 02 F0 B2 ED BLX _objc_msgSend
__text:0000469C 01 F0 A2 EC BLX _objc_msgSend
Les deux sont censés aller au même endroit, adresse virtuelle 0x5Fe4 comme vu ici:
__symbolstub1:00005FE4 38 F0 9F E5 LDR PC, =__imp__objc_msgSend
Cependant, je ne peux pas comprendre quel calcul est utilisé pour obtenir des deux adresses ci-dessus (0x347c et 0x469c) en utilisant leurs octets d'instructions. Selon la documentation ARM, c'est censé être un saut relatif, en utilisant un shift droit de 2, mais les chiffres ne fonctionnent pas.
Quelqu'un peut-il aider?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow