Je fais de la rétro-ingénierie du code à partir duquel IDA a généré le désassemblage suivant. Ces lignes de code spécifiques ne sont données qu'à titre indicatif. Notez que la troisième ligne n'appelle pas une fonction spécifique par son nom mais plutôt par son adresse.
mov rcx, [rsp + 128h + var_D8] // reg CX obtient l'adresse au pointeur de pile + 128h + var_D8 octets mov r8, [rcx] // l'adresse à reg CX est stockée dans reg r8call qword ptr [r8 + 18h] // à l'adresse rax + 18h, fonction d'appel définie par qword octets
Je suis intéressé à déterminer quelle fonction est appelée. Quels mécanismes, outils, astuces, etc. puis-je utiliser pour déterminer à quelle fonction du désassemblage un appel qword ptr <address>
fait référence? Je suis prêt à essayer d'autres programmes de désassemblage.
D'après une réponse à ma question précédente, ceci est connu comme un "appel indirect" ou (peut-être un "appel de fonction virtuelle" ). Le démontage en a beaucoup, alors comment les résoudre? En outre, l'IDA a identifié des centaines de fonctions. Comment puis-je déterminer lequel était réellement appelé lors d'un appel indirect (ou virtuel) donné?