近年来,移动安全事故频发,数据泄漏、源码被盗、App被山寨破解后注入病毒或导致广告条满屏飞的现象让用户苦不堪言。这不禁让开发者开始怀疑一直以来采用的代码混淆防破解技术是不是真的有效?
什么是代码混淆?
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。
将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。
代码混淆的弊端
不利于调试除错。被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。对于支持反射的语言,代码混淆有可能与反射发生冲突。
不能从根本上阻止反编译。爱加密技术人员指出,代码混淆仅仅是增大了反编译的难度,并不能真正达到阻止反编译的功能。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。
如何避免App被反编译和破解?
目前,越来越多的企业和开发者选择使用爱加密(www.ijiami.cn)来对移动应用进行安全保护。爱加密不仅在防逆向分析、防恶意篡改、防内存窃取、防动态跟踪等方面具有卓越的优势,而且还提供一键App漏洞分析服务,让开发者及时找出App漏洞,做到有的放矢的App安全保护。