我们之前讨论过偏移量与基址。在位置无关代码中,常常使用一种偏移量的变体,通过一个小技巧可以轻松处理。让我们来看一个来自ARM32固件的ARM函数:IDA将地址88和8C处的值转换为偏移量,因为它们恰好...
IDA技巧(103)在不同的 IDA 安装之间共享插件
安装到 IDA 目录IDA 插件的标准位置是 IDA 安装目录中的 plugins 目录(例如,在 Windows 上为 C:Program FilesIDA Pro 8.0plugins)。因此,这...
IDA技巧(109)Hex视图文本编码
Hex视图用于显示数据库内容的十六进制转储。在调试过程中,它也用于显示内存内容。默认情况下,右侧有一部分显示数据的文本表示。通常,文本部分显示拉丁字母,或用点表示不可打印字符,但你可能也会遇到一些不寻...
IDA技巧(108)伪代码中的原始内存访问
有时候在伪代码中,你可能会遇到看起来很奇怪的代码:代码似乎在解引用一个名为MEMORY的数组,并且用红色高亮显示。然而,这个变量在任何地方都没有定义。它是什么呢?这种表示法是反编译器在代码访问数据库中...
IDA技巧(106)函数外联
IDA 8.0 的发布说明中提到了函数外联。那么什么是函数外联,以及如何在IDA中处理它们呢?函数外联是一种优化技术,通过识别重复出现的机器代码序列,并用调用包含这些操作序列的新函数来替换每个实例,从...
IDA背后的原理入门(二): 函数大小计算
简介我们上一章已经成功的得到了函数的列表:IDA背后的原理入门(一): 简介&函数识别现在,我们遇到了一个麻烦: 函数大小计算可能有一些逆向人认为,直接查找ret即可完成任务。知道了函数开头,...
IDA技巧(107)多重返回值
Hex-Rays反编译器最初是为了解析C代码而创建的,因此其伪代码输出主要使用C语法。然而,输入的二进制文件可能是用其他语言编译的:C++、Pascal、Basic、ADA等。虽然大多数代码可...
IDA技巧(105)自定义基址的偏移量
我们之前已经讨论过简单偏移量,即操作数值或数据值与程序中的地址匹配,因此可以直接转换为偏移量。然而,程序也可能采用更复杂或间接的方式来引用位置。一种常见的方法是使用从某个预定义基址的小偏移量。从寄存器...
IDA背后的原理入门(一): 简介&函数识别
简介在《2024年终: 木马病毒自动化特征提取&云端机器学习的思路分享》2024年终: 木马病毒自动化特征提取&云端机器学习的思路分享中我提到过具体细节在明年2025年我会开一整个系列...
网安原创文章推荐【2025/1/25】
2025-01-25 微信公众号精选安全技术文章总览洞见网安 2025-01-25 0x1 xray图形化工具-Super Xray,支持自定义导入poc库泷羽Sec-track 2025-01-25...
IDA技巧(104)立即数搜索
立即数搜索是IDA中三种主要搜索类型之一。虽然不太为人所知,但在某些情况下非常有用。以下是一些例子。独特(魔法)常量如果你知道程序中使用的一些独特常量,寻找它们可以让你缩小需要分析的代码范围。例如,如...
Android JNI动态库逆向
技术咨询/指导服务零基础一对一技术咨询服务(远程指导)经常在一些地方看到类似于这样的介绍:一些重要的字段不要放在Java代码中,需要放在native。 但是事实上,并没有绝对的安全,即使是将数据放在n...
35