个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

在自然环境下,控制流扁平化还原的情况

原创
软件开发
来源:PNF
开发工具
测试分析
PC/系统管理
2023-06-12
开发工具
测试分析
PC/系统管理

JEB反编译引擎都带有代码优化器,能够重建那些控制流被扁平化混淆器改变的方法。


图片 © Tigress (University of Arizona)


控制流扁平化,有时也被称为 "陈化",是一种混淆技术,用于解构一个例程的控制流。虽然一个编译过的程序通常是由一些基本块组成的,具有较低的输入和输出计数,但一个扁平化的程序可能表现出一个具有高输入和高输出边计数的离群结点,而且一般来说,在图中具有非常高的中心性(就顶点间性而言)。实际上,原来的方法M被简化为一个评估表达式VPC的多向条件块H,将执行流程分配给代码单元,每个单元执行M的一部分,更新VPC,并循环到H。因此,原始的控制流,即在进行人工逆向工程时推断意义的关键,被丢失了。


我们在今年早些时候升级了dexdec的控制流unflattener。解平器的v2版比我们原来的实现更通用。它能够涵盖被混淆的情况,而这些情况并没有映射到上面介绍的清洁模型中,例如,调度器突出的情况。


本周,我们遇到了一个被自动去混淆为干净代码的实例,并认为这将是一个很好的例子,以显示此类代码的通用去混淆是多么有用。看来,用于保护原始代码的混淆器是BlackObfuscator,这是一个被清洁应用程序和恶意软件使用的项目。


去混淆之前


去混淆后,代码看起来像:


去混淆后


如果你遇到unlattener不能充分执行的例子,请让我们知道。我们会看看是否可以对它们进行修复或升级,以涵盖混淆的所有情况。


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508