下载此文档

关注移动应用安全 走出“代码混淆”误区.docx


文档分类:外语学习 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
关注移动应用安全走出“代码混淆”误区长久以来,为避免手机APP被反编译和破解,大多数移动开发者选择代码混淆技术来抵抗破解者的攻击。但随着不断有应用被破解和盗版的事件发生,让越来越多的开发者开始质疑这种抵御方式的有效性。用代码混淆技术来保护手机APP安全到底是良策还是误区,本文请到360加固保的技术工程师刘敏为大家揭晓。什么是代码混淆?代码混淆是将程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为。比如将代码中的各种元素,如变量、函数、类的名字改写成无意义的名字,使破解者在阅读时无法根据名字猜测其用途,增加反编译的阅读难度。代码混淆的利与弊以济南团谱的一款APP《九天传说》为例,这是一款目前风靡的RPG类打怪游戏。以超酷的打斗视觉体验和好玩的等级模式让应用一上线就赢得了许多用户。为避免出现盗版,提高应用安全性,技术人员对其进行了代码混淆。图1是进行代码混淆前后的代码结构对比。右侧截图是对源代码文件中的一些类名做了变换,改成了以英文字母命名的名称,这样破解者在阅读时就不容易理解其特指的含义。图1:代码混淆前后代码结构对比这种代码混淆方法简单、便于操作。但也因此会给开发者的调试工作带来困难,开发人员通常需要保留原始的未混淆的代码用于调试。由于混淆是不可逆的,在混淆的过程中一些不影响正常运行的信息将永久丢失,这些信息的丢失会使程序变得更加难以理解。代码混淆后手机APP能否再被破解?虽然做了代码混淆,但混淆只是对源代码的类名和一些变量名做了变换,增加了破解者阅读的难度,并不能真正阻止反编译。下面是对进行过混淆的《九天传说》APP进行破解并插入恶意广告的过程演示。首先,使用apktool工具进行反编译,可以得到smali代码文件,再定位找到主Activtiy的代码,主Activity可以从AndroidManifest文件中查到。.。\tp\ttgame\jiutian\,向其中添加有米广告的初始化代码截图。图2:添加有米广告的初始化代码再将添加banner的函数插入其中,并在onResume函数中调用,见图3、图4。图3:添加banner的函数图4:调用添加banner的函数这样代码部分就修改完成了。最后再修改AndroidManifest文件,需要将有米广告必要的配置写进去。见图5、图6。图5:添加有米广告必要的组件图6:添加有米广告必要的权限最后,将有米广告SDK的内容转成smali,并将其跟九天程序的smali合并。用apktool重新打包之后生成的程序就是一款含有有米广告的盗版应用了。图7是启动该盗版应用后的界面,能看到右下角增加的有米广告内容。图7:启动盗版应用后的界面同理,破解者还可以将正版APP中的

关注移动应用安全 走出“代码混淆”误区 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人顾生等等
  • 文件大小0 KB
  • 时间2016-01-13