Comment extraire le commentaire automatique pour ces éléments de données dans IDA?


0

Je vois beaucoup cela dans une base de données IDA:

; wchar_t off_BADF00D 
off_BADF00D  dd offset loc_6F0062 
       dd offset loc_740074 
       dd offset loc_6D006E+1 
       align 10h 

Donc, étant donné le commentaire au sommet IDA sait de la référence de code que ce doit être une chaîne de caractères large terminée par zéro.

Je pensais écrire un script IDAPython simple pour trouver des instances de ceci et forcer ces éléments à être convertis automatiquement au type de données approprié.

Cependant, ni ; ni : n'ont montré quoi que ce soit, donc ce n'est ni un commentaire répétable ni un commentaire normal. Alors qu'est-ce que c'est et comment puis-je utiliser IDAPython pour l'extraire? J'ai aussi essayé (à l'aide d'un commentaire ici) s'il s'agit d'une ligne de commentaire antérieure ou postérieure. Ce n'était pas. Sinon, je serai également heureux si quelqu'un peut indiquer comment "guider" IDA pour faire la bonne chose sans script, mais cela a déclenché ma curiosité, donc seulement des points bonus pour cela. J'aimerais toujours savoir comment obtenir le commentaire affiché.

  0

Il peut s'agir d'un commentaire "ligne au-dessus". Les autres types - une fois ':' et répétés ';' - apparaissent à la fin de la première ligne de code ou de données. 19 déc.. 172017-12-19 20:48:52

  0

Merci, bonne idée. Cependant, ils ne sont pas non plus des lignes antérieures ou postérieures. Éditera ma question en conséquence. 19 déc.. 172017-12-19 20:56:00

  0

Pourrait-il y avoir une forme de déclaration? Une déclaration de fonction apparaît comme ceci au-dessus de sa première ligne. Mais ce n'est pas une fonction, alors ... un autre type? 19 déc.. 172017-12-19 21:26:57

  0

Voici une pensée: vous pouvez trouver ce que l'IDA appelle en interne si vous sélectionnez cette partie du code et la vider comme un fichier IDC (ou du moins, je pense que c'est celui avec toutes les commandes énumérées). 20 déc.. 172017-12-20 18:51:37

1

Je ne peux pas parler de python, mais dans IDC, vous pouvez obtenir partiellement ce 'commentaire' via GetType(ea). Je dis en partie parce qu'il donne wchar_t[67] comme résultat pour le commentaire comme ; wchar_t aHttpSchemas_27[67].

  0

Génial, exactement ce que je cherche dans ce cas. Et oui, le type est plus intéressant pour moi que le nom de variable IDA l'a donné. 22 déc.. 172017-12-22 19:33:00