IDA生成的伪代码函数中的变量名称一般以字母v开头,然后是数字。
也有一些特定的标识符,如result、Buf、Src、Dst等。
以下是一个函数中的变量定义:
unsigned __int8 result; // al@3
char v4; // bl@9
char v5; // [sp+Ch] [bp-4E4h]@1
char v6; // [sp+10h] [bp-4E0h]@1
char v7; // [sp+14h] [bp-4DCh]@13
__int16 v8; // [sp+16h] [bp-4DAh]@19
unsigned __int8 v9; // [sp+18h] [bp-4D8h]@1
char Buf2; // [sp+1Ch] [bp-4D4h]@8
int v11; // [sp+7Ch] [bp-474h]@9
char v12; // [sp+88h] [bp-468h]@28
char v13; // [sp+101h] [bp-3EFh]@28
__int16 Dst; // [sp+108h] [bp-3E8h]@1
char v15; // [sp+328h] [bp-1C8h]@1
char v16; // [sp+32Ch] [bp-1C4h]@26
char v17; // [sp+32Dh] [bp-1C3h]@22
char v18; // [sp+398h] [bp-158h]@28
char v19; // [sp+399h] [bp-157h]@23
变量result的注释是al,这说明result对应汇编清单中的寄存器al。
变量v4的注释是bl,这说明result对应汇编清单中的寄存器bl。
有时候,有多个变量对应同一个寄存器。
变量v5的注释是:[esp+Ch] [ebp-4E4h] BYREF。这说明v5在栈中的偏移量。
当变量是结构体时,注释中的偏移量非常有用,据此可判断相邻的变量是否属于同一个结构体。
IDA生成的汇编
IDA伪代码函数变量名称解析

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



