我有一个程序,试图通过理解一两个函数来调试一下程序,我已经通过idb文件下载了一些信息,这对我有所帮助。但是我有点卡在我有这样的东西的地方:我的C伪代码。我无法双击该函数并以某种方式对其进行翻译,所以我真的不知道如何理解它的作用,我的猜测是它需要一个int的第三个或第四个字节。所以我的问题是,至少在无法通过十六进制射线翻译的情况下,我如何才能找到该函数并查看其反汇编?根据ida的说法,如果有帮助的话看起来像这样:_BYTE __fastcall(int)

评论

是的,它设置v1的第四个字节。将光标放在表达式BYTE3(v1)内,单击Tab,它将切换到反汇编视图中的相应位置。

哦,不知道,谢谢!!

#1 楼

所有Hex-Rays宏都在 \ plugins \ defs.h中定义。也可以在https://github.com/nihilus/hexrays_tools/blob/master/code/defs.h上使用。 br />因此BYTE3(x)产生BYTE3(x),这实际上意味着值(*((_BYTE*)&(x)+3))的第四个字节。