Küsimus:
IDA EBP variable offset
PSS
2013-06-07 06:11:43 UTC
view on stackexchange narkive permalink

Vaatame, kuidas IDA kuvab kohaliku muutuja aadressi. Näiteks:

  MOV EAX, [EBP + var_4]  

Nagu me kõik teame kohalike muutujate ulatuses, asuvad need EBP.

Stack Frame

Kuigi olen seda pidanud iseenesestmõistetavaks ja vältimatuks, olen siiski väga uudishimulik. Miks kuvab IDA kohaliku muutuja nihke kujul [EBP + var] , mitte [EBP - var] ? / p>

Suur aitäh.

üks vastus:
Igor Skochinsky
2013-06-07 06:55:55 UTC
view on stackexchange narkive permalink

Vaadake funktsiooni alguses määratlust var_4 :

  var_4 = dword ptr -4  

Nii et see on tegelikult ootuspäraselt negatiivne.

Terviklikuma pildi saamiseks kasutage Ctrl + K või topeltklõpsake virnavarril / Enter, et näha virnaraami küljendus:

  -00000018; Kaks erivälja "r" ja "s" tähistavad tagastusaadressi ja salvestatud registreid.-00000018; Raami suurus: 18; Salvestatud registrid: 4; Puhastus: 0-00000018; -00000018-00000018 var_18 dd? -00000014 var_14 dd? -00000010 var_10 db 12 dup (?) - 00000004 var_4 dd? +00000000 s db 4 dup (?) + 00000004 r db 4 dup (?) +00000008 arg_0 dd? + 0000000C + 0000000C; virna muutujate lõpp  


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...