行业解决方案查看所有行业解决方案
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怎么修改字符串内容?IDA修改后怎么保存?
在软件开发和逆向工程领域,IDA Pro是一种极其强悍的工具,广泛用于程序剖析、调试和修改。它不仅支持多种处理器架构,还提供了大量的作用,以适应高档讲解的必须。本文将围绕ida怎么修改字符串内容,ida修改后怎么保存这一主题,详细描述怎样在IDA中更改字符串内容,及其修改后的存放方式。此外,我们还将探讨IDA转变的应用场景,帮助读者更深入地了解IDA的实际应用价值。...
阅读全文 >
IDA打开目标so全是sub_ IDA怎么调试到对应的代码?
使用IDA分析Android或iOS平台的应用时,常会遇到“打开目标so文件全是sub_”的情况,这对于初学者和经验不足的分析师来说是一个挑战。本文旨在详细讲述如何在IDA中有效处理这一问题,解析调试到对应代码的方法...
阅读全文 >
IDA反编译器的使用方法 IDA反编译器多少钱
在当今的软件开发和安全分析领域,反编译器作为一种重要的工具,其作用不可小觚。IDA(Interactive Disassembler)作为市场上领先的反编译工具之一,其功能强大,使用广泛。...
阅读全文 >
ida可以动态调试吗 ida如何动态调试
在软件开发和安全分析领域,动态调试是一项至关重要的技术。它允许开发者和分析师在程序运行时检查和修改其状态,是理解和解决复杂问题的关键工具之一。...
阅读全文 >