Jeg har stødt på denne funktion, som accepterer en markør til, hvad jeg mener er en brugerdefineret C-struktur. Jeg kom til denne konklusion baseret på efterfølgende adgang til den.
arg_0 = dword ptr 4; struct passed inpush ebxpush ebpmov ebp, [esp + 8 + arg_0]; gem pointer af struct i ebppush esipush edixor ebx, ebx
og ikke alt for langt ovenfra ser jeg det befolket:
mov [ebp + 0D4h], blmov [ebp + 0F4h], blmov [ebp + 114h], blxor eax, eaxmov [ebp + 0B8h], eaxmov [ebp + 0BCh], eaxmov [ebp + 0C0h], eax
Jeg kender ikke størrelsen på strukturen, men jeg har set [ebp + 0f14h]
. Derfor har jeg defineret en brugerdefineret IDA-struktur af størrelse 0xF14
. Nu har jeg problemer med at anvende denne brugerdefinerede struktur til denne markør. Jeg har prøvet Alt + Q
og derefter valgt min egen brugerdefinerede struktur, men den fungerer ikke. I outputvinduet står Kommando "DeclareStructVar" mislykkedes
Min brugerdefinerede struktur:
00000000 custom_sturct struc; (sizeof = 0xF14) 00000000 db? ; undefined00000001 db? ; undefined00000002 db? ; udefineret [... samme ting ...] 00000F11 db? ; undefined00000F12 db? ; undefined00000F13 field_F13 db? 00000F14 custom_sturct ends00000F14
Jeg bruger IDA Pro 6.3