一、代码混淆的定义
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行
二、ADVobfuscator简介
ADVobfuscator演示如何使用C ++ 11/14语言在编译时生成混淆代码,而无需使用任何外部工具,也无需修改编译器。 所提出的技术仅仅依靠ISO标准化的C ++ 11/14。 它还展示了如何引入某种形式的随机性来生成多态代码,并给出了一些具体的例子,如字符串文字的加密和使用有限状态机的调用混淆。
三、ADVobfuscator实例分析
1. 字符串混淆
将要混淆的字符串作为定义的宏的参数。项目提供了两种方式来混淆字符串。
第一种,声明和使用在同一阶段:
OBFUSCATED宏先对该字符串的每个字符按照生成的随机数进行加密,对字符串进行了替代(保证每个字符串加密使用了不同的密钥,否则,一个简单地逆向工程解密就可以破解所有的字符串),然后解密该加密后的字符串,还原成原来的字符串。
第二种,声明和使用在不同阶段:

本文详细介绍了代码混淆的概念以及ADVobfuscator开源项目,该工具利用C++11/14标准在编译时生成混淆代码,无需额外工具或修改编译器。文章重点分析了ADVobfuscator的字符串混淆、函数混淆和条件混淆技术,展示了如何通过有限状态机增加逆向工程的难度,确保代码安全性。
最低0.47元/天 解锁文章
9013

被折叠的 条评论
为什么被折叠?



