IDA“unk_XXXXXX”是什么意思?

逆向工程 艾达
2021-06-16 02:51:49

我是逆向工程的新手。今天在看IDA的时候,我发现了这个

if ( *(_UNKNOWN **)(this + 8) == &unk_4EDC58 )

但我不明白“unk_4EDC58”部分。

那你能帮帮我吗?谢谢 !

1个回答

对于 IDA,这意味着这部分内存,地址为 0x004EDC58,没有任何类型。

仅使用一行反编译代码就很难 100% 确定,但我想这段代码是 cl.exe(Microsoft C++ 编译器)尝试内联虚拟方法时的典型代码。为此,它将直接检查方法 (this + 8) 是否等于当前方法 (0x004EDC58)。如果为真,则继续当前代码。否则,this + 8读取方法的地址并跳转到该地址。

您可以选择不同的选项来设置此内存部分的类型。由于它似乎是指向某物的指针,因此请转到此地址地址并键入 'o' 或Edit → Operand type → Offset → Offset (data segment)