我是逆向工程的新手。今天在看IDA的时候,我发现了这个
if ( *(_UNKNOWN **)(this + 8) == &unk_4EDC58 )
但我不明白“unk_4EDC58”部分。
那你能帮帮我吗?谢谢 !
我是逆向工程的新手。今天在看IDA的时候,我发现了这个
if ( *(_UNKNOWN **)(this + 8) == &unk_4EDC58 )
但我不明白“unk_4EDC58”部分。
那你能帮帮我吗?谢谢 !
对于 IDA,这意味着这部分内存,地址为 0x004EDC58,没有任何类型。
仅使用一行反编译代码就很难 100% 确定,但我想这段代码是 cl.exe(Microsoft C++ 编译器)尝试内联虚拟方法时的典型代码。为此,它将直接检查方法 (this + 8) 是否等于当前方法 (0x004EDC58)。如果为真,则继续当前代码。否则,this + 8读取方法的地址并跳转到该地址。
您可以选择不同的选项来设置此内存部分的类型。由于它似乎是指向某物的指针,因此请转到此地址地址并键入 'o' 或Edit → Operand type → Offset → Offset (data segment)。