我是IDA的一个完整的初学者,我刚刚尝试按照有关如何解开UPX的教程进行操作。

本教程中的IDA如下:



当我尝试获取本教程中的图形视图时,出现错误消息:



我也找不到“名称”窗口,请帮助我。

这是IDA Pro目前的样子:

http://i.stack.imgur.com/cWAQa.png

版本:IDA Pro 6.5

很抱歉那些菜鸟问题,但是我很困惑。

评论

我知道您正在学习ida,但是将ida用于解包/动态反向(我的经验)不是一个好主意。

#1 楼

如果IDA具有明确定义的开始和结束地址,则它们只能以图形方式显示功能。通常,起始地址和结束地址由反汇编确定-起始地址是call指令的目标地址,结束地址是代码具有ret指令(*)的位置。

,IDA无法从您的代码中创建函数,可能是因为没有调用start,并且甚至最后没有ret。您可以尝试通过将光标移至start标签并按P键来解决此问题。一旦将代码定义为函数,就像您的教程所说的那样,空格键应在图形视图和程序集视图之间切换。功能的某些部分可能在ret之后;但是IDA会从函数内的跳转中检测到这一点。

评论


按下EP上的“ p”键将得到:UPX1:00486DA3:该函数在指定地址处具有未定义的指令/数据。您的请求已放入自动分析队列中。到目前为止,谢谢您的回答,很有趣!

– L. Resnik
2015年9月4日在7:20

这意味着IDA无法定义该功能。可能是因为尚未完全解压缩。

–TMR232
2015年9月4日在11:51

#2 楼

我意识到这很老了,但是在大多数情况下,这很容易解决-检查您是否在过程上下文下,例如,如果您搜索了字符串值,然后转到使用标签的位置(按x),然后将显示图形视图