APP代码混淆的步骤与效果
APP项目开发完成之后,当测试人员测试了,没有Bug了,一般情苄念上妒况下,公司会有一些技术人员负责发布、推广APP产品。这是一般正规的大公司会有专门的市场推广部门,技术维护部痊跬媸应门,对APP进行加密混淆打包,如:使用Ant加密,还有使用第三方的加密方式如爱 加 密等。想必APP产品为什么需要加密混淆,做为开发人员、老板都明白其中的隐含之处。然而,还有一种方式可以打包混淆APP,那就是 android 通过eclipse混淆代码 打包 + proguard 方式。
工具/原料
apktool
apk源文件
APP加密平台
代码混淆
1、什么是代码混淆?代码混淆是将程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为。比如将代码中的各种元素,如变量、函数、类的名字改写成无意义的名字,使破解者在阅读时无法根据名字猜测其用途,增加反编译的阅读难度。
2、代码混淆的方式为避免出现盗版,提高应用安全性,技术人员对一款APP进行了代码混淆。图1是进行代码混淆前后的代码结构对比。右侧截图是对源代码文件中的一些类名做了变换,改成了以英文字母命名的名称,这样破解者在阅读时就不容易理解其特指的含义。

2、再将添加banner的函数插入其中,并在onResume函数中调用

3、这样代码部分就修改完成了。最后再修改AndroidManifest文件,需要将有米广告必要的配置写进去。

4、最后,将有米广告SDK的内容转成smali,并将其跟九天程序的smali合并。用apktool重新打包之后生成的程序就是一款含有有米广告的盗版应用了。图7是启动该盗版应用后的界面,能看到右下角增加的有米广告内容。
5、同理,破解者还可以将正版APP中的广告替换掉,这样,当用户下载该盗版应用并点击广告后,所带来的广告收入就直接进入了破解者的腰包。重要的是盗版应用中的广告大多是恶意塾里腐舷广告,会在用户不知情的情况下下载程序,造成流量的消耗和资费的损失,影响用户体验更损害正版APP的品牌形象。所以,单纯的通过代码混淆并不能完全保证应用安全。
如何避免手机APP被破解和盗版?
1、目前越来越多的开发者选择使用爱加密来保护应用安全,这种方式到底是否可靠,下面再为大家做下演示。下图是对《九天传说》APP进行加固保护前后的代码结构对比,能看到右侧截图中加固后的代码文件都已经被隐藏起来,只保留了加固后的保护程序,破解者在反编译时无法找到源程序真正的代码,即可有效的避免手机APP被破解和盗版。

2、除了可以对手机APP的代码进行保护外,加固后还具备反调试、反篡改、反窃取和反逆向等功能,能有效防止代码注入,避免游戏外挂或木马程序的恶意篡改行为,从根源上防止应用被二次打包,杜绝盗版应用的产生。避免手机APP被破解和盗版除了可以使用专业的第三方加固产品外,更需要开发者提高安全意识,如编写代码要规范,减少程序漏洞;及时修复漏洞,不给破解者可乘之机等。