Que signifie les lignes db ... dans IDA

Sur tous les programmes qui servent à cracker.

Que signifie les lignes db ... dans IDA

Messagepar thejedi » 07 Juillet 2015, 19:31

Bonjour,
je suis débutant dans IDA et j'ai une question concernant certaines lignes.
Avec Ollydbg, toutes les lignes sont en assembleurs (jmp, jz, mov, push, ...) mais dans IDA, j'ai parfois des lignes "db ...".

De quoi s'agit-il ?

Image
thejedi
 
Messages: 6
Inscription: 07 Juillet 2015, 19:19

Re: Que signifie les lignes db ... dans IDA

Messagepar Horgh » 07 Juillet 2015, 20:49

http://www.ousob.com/ng/asm/ng342fb.php

DB Define Byte MASM Directive

[name] DB initialvalue,,,

Allocates and initializes one or more bytes (8 bits) of storage. The
initialvalue argument may be any of the following:

* integer (i.e. 12)
* string (i.e. 'message')
* constant expression (i.e. 2 * 5)
* DUP operator (i.e. 10 DUP (?))
* question mark (?) (i.e. 0,1,?,2)


https://stackoverflow.com/questions/101 ... e-db-dw-dd

Les réponses ici peuvent t'intéresser aussi.
Avatar de l’utilisateur
Horgh
Maître des ténèbres
Maître des ténèbres
 
Messages: 526
Inscription: 21 Janvier 2010, 16:24

Re: Que signifie les lignes db ... dans IDA

Messagepar thejedi » 07 Juillet 2015, 21:24

Merci. Donc, en résumé, les db, dw et dd sont des déclaration de variables.

Un peu comme ceci en VB .Net :
Dim ma_variable as string = "du texte"

J'avais une 2ème question qui aurait été "Comment trouver où cette ligne est utilisée dans le programme", mais j'ai trouvé la réponse totalement par hasard.
Plus exactement, j'ai vu "DATA XREF" en commentaire de ces lignes et en faisant un clique droit (sur le nom de la variable, je supose), j'ai cliqué sur "Jump to xref to operand".

Image

Comme on peux le voir, cette variable est utilisée à un seul endroit dans ce programme.
Je sélectionne cette ligne et je clique sur OK.

Image

Et hop, je me retrouve à l'endroit voulu dans le programme.
Dans les instructions assembleur que je voyais dans ollydbg.

Image

ça redevient comme dans ollydbg.

Image

Problème résolu ;-) Merci
thejedi
 
Messages: 6
Inscription: 07 Juillet 2015, 19:19

Re: Que signifie les lignes db ... dans IDA

Messagepar Horgh » 07 Juillet 2015, 21:53

La magie d'IDA :)

Amuse toi bien avec sub li me :p
Avatar de l’utilisateur
Horgh
Maître des ténèbres
Maître des ténèbres
 
Messages: 526
Inscription: 21 Janvier 2010, 16:24

Re: Que signifie les lignes db ... dans IDA

Messagepar Todd » 21 Août 2015, 23:22

Salut à tous,

J'arrive après la bataille, mais je vois une incohérence dans ce que je lis... :?

thejedi a écrit:Comment trouver où cette ligne est utilisée dans le programme
thejedi a écrit:j'ai cliqué sur "Jump to xref to operand"
Si la méthode est bonne, le résultat ne l'est pas, car tu ne peux pas dire avoir trouvé une correspondance entre les résultats sous IDA et OllyDbg !? :o
Car tes catpures d'écran montrent que si tu as trouvé, également sous OllyDbg, une utilisation de la constante "purchase", les commandes utilisées ne sont les mêmes, ainsi que les lignes aux alentours. :roll:

A première vue, ça donne l'impression que tu as testé ta cible en version 64bits sous IDA et la version 32 bits sous Olly !? :|

thejedi a écrit:cette constante est utilisée à un seul endroit dans ce programme
Après vérification, c'est vrai dans la version 64bits, mais 2 fois dans la version 32bits. :wink:

C'est un détail, mais soyons précis :D ... et chiant d'accord, mais précis ! :lol:

A+

Todd
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11


Retourner vers Outils

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités