用心做分享,只为给您最好的学习教程如果您觉得文章不错,欢迎持续学习各位醉心于二进制奥秘的探索者、未来的逆向大神们!今天,我们要聊一款在黑客技术与渗透测试领域,尤其是逆向工程(Reverse Engin...
HarmonyOS NEXT鸿蒙应用反编译器 .abcD 发布试用
2024年6月,DARKNAVY在《「AVSS研报」原生Android及鸿蒙黑灰产对抗能力初评-应用篇》里预告了自研的HarmonyOS NEXT原生应用反编译器发布,经过近一年的优化与实战验证,今天...
Pyinstaller Repack 指南
作者论坛账号:hitachimakoPyinstaller Repack 指南大一牲,想要Patch一个抢学校图书馆座位的软件,却困于Pyinstaller程序的重打包,以此为契机研究了一下Repac...
IDA技巧(118)在反编译器中创建结构
我们已经讨论过使用反汇编或本地类型来创建结构,但在反编译器中也有一种方法,特别是在处理程序使用的未知自定义类型时。当你看到代码以不同的偏移量解引用一个变量时,很可能这是一个结构指针,函数正在访问它的不...
IDA技巧(119)强制调用类型
在处理已编译的二进制代码时,反编译器缺乏源代码中存在的信息,比如函数原型,因此必须猜测或依赖用户提供的信息(这时其交互功能就显得很有用)。一个特别棘手的情况是间接调用:在没有确切的调用目标信息时,反编...
一种基于unicorn的寄存器间接跳转混淆去除方式
重新梳理一遍加固,从寄存器间接跳转开始学起吧。寄存器间接跳转的基本概念寄存器存储地址:寄存器间接跳转依赖于寄存器内的值来指定要跳转到的地址,而这个地址可以在程序运行时动态改变。跳转指令:在汇编语言中,...
IDA技巧(108)伪代码中的原始内存访问
有时候在伪代码中,你可能会遇到看起来很奇怪的代码:代码似乎在解引用一个名为MEMORY的数组,并且用红色高亮显示。然而,这个变量在任何地方都没有定义。它是什么呢?这种表示法是反编译器在代码访问数据库中...
IDA技巧(106)函数外联
IDA 8.0 的发布说明中提到了函数外联。那么什么是函数外联,以及如何在IDA中处理它们呢?函数外联是一种优化技术,通过识别重复出现的机器代码序列,并用调用包含这些操作序列的新函数来替换每个实例,从...
IDA技巧(107)多重返回值
Hex-Rays反编译器最初是为了解析C代码而创建的,因此其伪代码输出主要使用C语法。然而,输入的二进制文件可能是用其他语言编译的:C++、Pascal、Basic、ADA等。虽然大多数代码可...
JADXecute:用于动态反编译器操作的 JADX-gui 脚本插件
JADXecute JADXecute是JADX 的一个插件 ,它通过添加 动态代码执行 功能来增强其功能。 使用 JADXecute,您可以动态运行 Java 代码来修改或打印 jadx-gui ...
IDA技巧(102)反编译重置反编译器信息
在处理伪代码时,你可能会对其进行各种更改,例如:添加注释重命名局部变量并更改其类型折叠代码块映射变量标记可跳过的指令拆分表达式调整可变参数选择联合体成员等等如果某些操作的结果看起来不太理想,你总是可以...
IDA技巧(101)反编译可变参数函数调用
可变参数函数是指根据调用者需要接受不同数量参数的函数。典型的例子包括C和C++中的printf和scanf,但也有其他函数,甚至一些自定义函数(特定于正在分析的二进制文件)。由于每次调用可变参数函数时...