我是 IDA 的完整初学者,我刚刚尝试按照有关如何解压 UPX 的教程进行操作。
在教程中 IDA 看起来像这样:
当我尝试像教程中那样获取图形视图时,会出现一条错误消息:
我也找不到名称窗口,请帮助我。
以下是 IDA Pro 目前的样子:
http://i.stack.imgur.com/cWAQa.png
版本:IDA Pro 6.5
抱歉那些菜鸟问题,但我很困惑。
我是 IDA 的完整初学者,我刚刚尝试按照有关如何解压 UPX 的教程进行操作。
在教程中 IDA 看起来像这样:
当我尝试像教程中那样获取图形视图时,会出现一条错误消息:
我也找不到名称窗口,请帮助我。
以下是 IDA Pro 目前的样子:
http://i.stack.imgur.com/cWAQa.png
版本:IDA Pro 6.5
抱歉那些菜鸟问题,但我很困惑。
如果函数具有明确定义的开始和结束地址,IDA 只能以图形模式显示它们。通常,开始和结束地址是从反汇编中确定的——开始地址是call
指令的目标地址,结束地址是代码有ret
指令(*)的地方。
在您的情况下,IDA 未能从您的代码中创建一个函数,可能是因为没有调用start
,并且可能ret
最后甚至没有 a 。您可以尝试通过将光标移动到start
标签并按下P
键来解决该问题。一旦你的代码被定义为一个函数,空格键应该像你的教程所说的那样在图形视图和汇编视图之间切换。
(*) 实际上,它有点复杂;该功能的某些部分可能会落后于ret
; 但 IDA 从函数内的跳转中检测到这一点。
我意识到这很旧,但在大多数情况下,这很容易解决 - 检查您是否处于过程上下文中,例如,如果您搜索字符串值,然后转到使用标签的位置(按 x)然后它将显示图形视图