行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2021-03-18 09: 45: 35
IDA是一款用于多个平台系统上的文件反编译软件,它通过递归下降的方式帮我们在加载文件的同时自动分析反编译文件,并将结果写入到对应生成的数据库中,供多方查看编辑。
在初步分析过后,我们有时候会希望能够自主编辑反编译窗口中的函数,例如当我们需要干预调整IDA反编译代码中的错误或者是需要优化代码以节省编码器空间时,都需要手动修改函数。在本节中就IDA编辑函数的功能进行演示讲解。
一、编辑函数
编辑函数的操作很简单,我们在IDA的函数窗口中,右键点击需要编辑的函数,如下图的“sub_401550”函数,然后在右键菜单中选择“Edit function”就可以进入编辑此函数的界面。
编辑函数界面如下图2所示,其中有非常多可以自定义编辑的项目,下面我们来一个个的进行讲解。
二、参数讲解
一般来说,IDA给我们反编译之后,函数名都是以sub开头的,这其实不适合我们进行理解,因此我们可以在“Name of function”项中将函数名改为便于理解的函数名,最好函数名与函数的功能是相关的。
“Start address”表示函数的起始地址,也就是函数中第一条指令的地址,一般来说IDA会自动进行识别。
“End address”是函数中最后一条指令的地址,这个地址相比于起始地址,编辑的可能性要更高些。因为起始地址是明确的,而结束地址会因为函数返回语句而产生不确定性,有时候就需要我们手动修改。
右侧的复选框中,可以编辑函数的特性,这些都是可启用可禁用的函数属性。
“Does not return”表示不返回函数调用方(不是不返回结果),启用之后,IDA函数会一直执行下去;
“Far function”用于将函数标记为“远函数”,调用该函数时,函数的调用方需要指定一个段和一个偏移值;
“Library function”表示将函数标记为“库函数”,标记之后,IDA会将此函数根据库函数的颜色进行显示,与非库函数区分开。
“Static function”会在函数特性列表上显示静态修饰符。
“BP based frame”,该特性表示函数利用了一个帧指针;“BP equals to SP”表示函数将帧指针配置为在进入一个函数时指向栈帧的顶端。
有时IDA会对函数的局部变量数量判断错误,此时我们就可以通过“Local variables area”进行编辑填写。
以上主要讲解了IDA编辑函数界面中几项较为常用参数的相关概念。关于IDA的函数编辑,还是得我们自己根据实际使用情况进行使用,这项功能是我们利用IDA进行文件反编译的关键功能之一。了解此功能之后,我们才能在IDA的使用上更进一步。
作者署名:包纸
展开阅读全文
︾
读者也喜欢这些内容:
反汇编代码怎么看 ida如何反汇编成c语言
在计算机领域中,反汇编是一种将机器代码转换回更接近人类可理解的高级语言代码的过程。这在调试、逆向工程、病毒分析、漏洞挖掘等场景中具有重要的应用价值。而IDA作为最知名的反汇编工具,其功能强大、使用广泛。本文将围绕反汇编代码怎么看与IDA如何反汇编成C语言这两个主题进行深入探讨。...
阅读全文 >
ida伪代码能直接修改吗ida不能用f5查看伪代码
对于软件逆向工程的爱好者和专业人士来说,ida是一个十分重要的工具。ida能够生成伪代码,使人们更容易理解和分析程序的功能和结构。然而,在实际使用中,许多人都会遇到一些问题。其中就包括ida伪代码能否直接修改以及ida不能用f5查看伪代码的问题。本文将对这两个问题进行详细的讨论和分析。...
阅读全文 >
ida反编译后有多余参数 ida使用反编译源码
当我们在使用IDA Pro软件进行反编译时,有时可能会遇到反编译后有多余参数的问题。在许多情况下,这些多余的参数可能会导致代码理解的困扰和混淆。本文将深入讨论这个问题,并提供有效的解决策略。此外,我们也将探讨如何在IDA中有效地使用反编译源码,以帮助您更好地理解和掌握反编译技术。...
阅读全文 >
IDA Pro保存桌面(Save desktop)
...
阅读全文 >