吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11331|回复: 8
收起左侧

[Android 分享] 安卓反编译揭秘(爱加密系列教程九)

  [复制链接]
Dlan 发表于 2014-6-5 15:04

Android APP如何防止二次打包

       Android系统的开放性和免费性等特征让开发者和用户趋之若鹜,用户也渐渐习惯了Android应用的这种免费午餐,但在免费的背后却有着巨大的安全阴影。

      “Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。

      面对二次打包不少公司都有自己的防范措施,知名公司的APP几乎都是自己在程序内部做过处理防止其APP被二次打包,一旦打包后重新运行则程序自动退出。接下来,我就来详解一下如何防止APP被二次打包。

      要实现代码内部防止APP被二次打包首先得了解APK的机器识别原理,APK的唯一识别是依靠包名和签名来做鉴定的,类似豌豆夹的洗白白、360手机卫士等安全软件对APK的山寨识别,他们就是依赖包名来确定APK然后通过签名来确定其是否山寨。所以说自己的程序内部在启动的时候可以通过获取APK本身的签名然后和正确的签名做对比来识别自己是否被二次打包。


通过PackageManag对象可以获取APK自身的签名。



通过对签名的码的分解得到一串20左右的字符串,此字符串则是APK的签名的MD5值,通过获取的签名MD5值与正确的MD5值进行对比,就可以识别其APK是否被盗版。


下图是一些已做过保护的APP的代码块分析:


上图是“XX省电王“的防止二次打包的关键代码



上图是”XX电池管家”的防止二次打包的关键代码

以上两处都是smali层的代码,以上2处代码的截图都是下载量非常高的APP所做的防止二次打包的处理,其处理的代码肯定会使用到的关键代码是
Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature。
此方法能够起到一定的安全作用,一般的打包党面对它是无可奈何的,如果你了解一些smali语法它的作用就等于0了。


免费评分

参与人数 1热心值 +1 收起 理由
luojianeng + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
yyz219 发表于 2014-6-15 11:35
提示: 作者被禁止或删除 内容自动屏蔽
takumi 发表于 2015-3-17 06:14
B6B6B6 发表于 2015-3-17 17:52 来自手机
无名指丶忆 发表于 2015-3-17 21:21
用了爱加密可以破解开吗??
wenming 发表于 2015-3-20 13:43 来自手机
修改smail就可以破解
家花没有野花香 发表于 2015-3-21 00:04
用了爱加密可以破解开?
神你游 发表于 2015-4-4 18:36
注释就解决了
w724652480 发表于 2015-4-4 19:52
有安卓的教程吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表