阿里云
发表主题 回复主题
  • 631阅读
  • 0回复

Android APP盗版过程大揭秘!

级别: 论坛粉丝
发帖
499
云币
996
盗版应用一直是制约移动互联网健康发展的毒瘤,破解者在盗版应用中植入恶意代码,用户一旦下载使用这些应用,就会在毫不知情的情况下被吸资扣费、消耗流量甚至泄露隐私,不但影响开发者的收益,还会严重破坏其品牌形象。


  不要以为盗版应用离我们很遥远,事实上,由于安卓的开放性,这个操作根本算不上是高深的技术活儿。破解者只需简单几个步骤,分分钟就可以将一款APP进行篡改并二次打包。360加固保就为大家揭秘APP被二次打包的全过程。


  通常二次打包的步骤是:解包(反编译)-->插入/篡改代码-->生成新包-->重签名-->运行。


  首先可以通过使用ApkTool、Jeb、baksmali/smali等反编译工具,反编译apk安装包,图1为调用baksmali文件的截图。


  
Android APP盗版过程大揭秘!-android app启动过程

  图1 调用baksmali文件


  解包后可以看到所有文件列表,找到需要修改的smali文件,这里修改的是MainActivity.smali,如图2。


  
Android APP盗版过程大揭秘!-android app安装过程

  图2 修改MainActivity.smali


  解开MainActivity.smali文件后,在里面插入一段篡改代码,修改登录界面中“Button”按钮上的文本,图3和图4是修改前后smali文件中的代码。


  
Android APP盗版过程大揭秘!-android app编译过程

  图3 修改前的smali文件


  
Android APP盗版过程大揭秘!-android app卸载过程

  图4 修改后的smali文件


  修改后再调用smali.jar文件,将smali重新打包成dex文件,如图5所示。


  
Android APP盗版过程大揭秘!-av拍摄过程大揭秘

  图5 将smali重新打包


  接下来再将新生成的classes.dex文件替换原安装包中的classes.dex,并进行重新签名,就生成了一款盗版应用。运行该款盗版应用时会发现登录界面的登录按钮被修改替换成了“Fake Btn”,如图6、图7所示。


  
Android APP盗版过程大揭秘!-android app启动过程

  图6 篡改前的界面


  
Android APP盗版过程大揭秘!-android app安装过程

  图7篡改后的界面


  通过简单的几个操作步骤,一款未经加固保护的APP就被盗版了,一个团队一年的劳动成果几分钟内就被轻易窃取。通常,盗版应用会通过插入/替换广告SDK赚取广告收入、修改支付渠道截取开发者收入、插入病毒/木马程序盗取用户信息等形式出现,操作步骤与上面介绍的类似,严重侵害了开发者和用户的利益。

  要想保护手机APP,避免被盗版,就要从源头进行加固保护,让破解者无从下手。图8是使用360加固保对APP进行加固前后的对比,加固后再调用baksmali.jar进行反编译,可以看到代码文件全部被隐藏,暴露的只是加固程序的一些代码,破解者自然无法再对源程序进行篡改了。


  
Android APP盗版过程大揭秘!-android app编译过程

  图8 加固后展现的代码


  360加固保基于360核心加密技术,对安卓应用进行加固保护,能有效避免应用被恶意破解、反编译、二次打包、内存抓取等。同时给应用提供数据加密、签名校验、防内存修改、完整性校验、盗版监测等保护功能,给予安卓应用最强保护,从源头消灭恶意盗版应用。作为移动互联网安全服务行业的领跑者,360加固保将持续关注手机应用安全的发展,不断完善加固保服务,切实保护开发者收入和权益。




Android, 应用, 移动, 互联网, 健康






云栖社区小编整理
  盗版应用一直是制约移动互联网健康发展的毒瘤,破解者在盗版应用中植入恶意代码,用户一旦下载使用这些应用,就会在毫不知情的情况下被吸资扣费、消耗流量甚至泄露隐私,不但影响开发者的收益,还会严重破坏其品牌形象。


  不要以为盗版应用离我们很遥远,事实上,由于安卓的开放性,这个操作根本算不上是高深的技术活儿。破解者只需简单几个步骤,分分钟就可以将一款APP进行篡改并二次打包。360加固保就为大家揭秘APP被二次打包的全过程。


  通常二次打包的步骤是:解包(反编译)-->插入/篡改代码-->生成新包-->重签名-->运行。


  首先可以通过使用ApkTool、Jeb、baksmali/smali等反编译工具,反编译apk安装包,图1为调用baksmali文件的截图。


  
Android APP盗版过程大揭秘!-android app卸载过程

  图1 调用baksmali文件


  解包后可以看到所有文件列表,找到需要修改的smali文件,这里修改的是MainActivity.smali,如图2。


  
Android APP盗版过程大揭秘!-av拍摄过程大揭秘

  图2 修改MainActivity.smali


  解开MainActivity.smali文件后,在里面插入一段篡改代码,修改登录界面中“Button”按钮上的文本,图3和图4是修改前后smali文件中的代码。


  
Android APP盗版过程大揭秘!-android app启动过程

  图3 修改前的smali文件


  
Android APP盗版过程大揭秘!-android app安装过程

  图4 修改后的smali文件


  修改后再调用smali.jar文件,将smali重新打包成dex文件,如图5所示。


  
Android APP盗版过程大揭秘!-android app编译过程

  图5 将smali重新打包


  接下来再将新生成的classes.dex文件替换原安装包中的classes.dex,并进行重新签名,就生成了一款盗版应用。运行该款盗版应用时会发现登录界面的登录按钮被修改替换成了“Fake Btn”,如图6、图7所示。


  
Android APP盗版过程大揭秘!-android app卸载过程

  图6 篡改前的界面


  
Android APP盗版过程大揭秘!-av拍摄过程大揭秘

  图7篡改后的界面


  通过简单的几个操作步骤,一款未经加固保护的APP就被盗版了,一个团队一年的劳动成果几分钟内就被轻易窃取。通常,盗版应用会通过插入/替换广告SDK赚取广告收入、修改支付渠道截取开发者收入、插入病毒/木马程序盗取用户信息等形式出现,操作步骤与上面介绍的类似,严重侵害了开发者和用户的利益。

  要想保护手机APP,避免被盗版,就要从源头进行加固保护,让破解者无从下手。图8是使用360加固保对APP进行加固前后的对比,加固后再调用baksmali.jar进行反编译,可以看到代码文件全部被隐藏,暴露的只是加固程序的一些代码,破解者自然无法再对源程序进行篡改了。


  
Android APP盗版过程大揭秘!-android app启动过程

  图8 加固后展现的代码


  360加固保基于360核心加密技术,对安卓应用进行加固保护,能有效避免应用被恶意破解、反编译、二次打包、内存抓取等。同时给应用提供数据加密、签名校验、防内存修改、完整性校验、盗版监测等保护功能,给予安卓应用最强保护,从源头消灭恶意盗版应用。作为移动互联网安全服务行业的领跑者,360加固保将持续关注手机应用安全的发展,不断完善加固保服务,切实保护开发者收入和权益。


发表主题 回复主题
« 返回列表
«12345678910»
共10页
上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 26 - 7 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)

      版权声明

      开发者论坛为你提供“Android APP盗版过程大揭秘!”的内容,论坛中还有更多关于 多渠道打包安卓加密文件访问为什么android打包后修改代码盗版 的内容供你使用,该内容是网友上传,与开发者论坛无关,如果需要删除请联系zixun-group@service.aliyun.com,工作人员会在5个工作日内回复您。