Comment créer une variable non initialisée dans Ghidra?

Sep 16 2020

Le code en cours d'inspection est une bibliothèque Android native utilisée dans une application Android. Le décompilateur me montre beaucoup de lignes dans le style DAT_12345678 = 0x12345678avec des adresses ascendantes. Je sais que c'est l'initialisation d'un tableau non initialisé.

Lorsque je veux définir le type de données, j'obtiens le message d'erreur Address not found in program memory..

Je suppose que je dois d'abord créer un bloc de mémoire, mais dans la Memory Mapfenêtre, je ne vois pas d'option pour ajouter des blocs.

Comment puis-je résoudre ce problème? Merci.

Réponses

3 ShaneReilly Sep 16 2020 at 21:36

Vous pouvez ajouter un bloc de mémoire non initialisé dans la Memory Mapfenêtre. Appuyez sur le petit bouton vert "Ajouter un nouveau bloc à la mémoire".

Remplacez l'adresse de départ par une zone non mappée actuellement, spécifiez la longueur du bloc que vous souhaitez allouer et sélectionnez Uninitialized.