吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24804|回复: 59
收起左侧

[Android 分享] 【防止APK被工具反编译、二次打包等】

  [复制链接]
rainlee 发表于 2015-1-27 05:58
本帖最后由 rainlee 于 2015-1-27 06:02 编辑

分享给大家,如何防止APK被工具反编译、二次打包等





废话不多说

准备工作:


1。要保护APK安全 首先要了解一下 自己的APK到底有多不安全吧。


【pk运行的运行环境依赖的文件/文件夹 res dex 主配文件 lib 都是简单的加密甚至没有任何加密措施。
apktool工具完美将其破解,再配合其他各种工具 源码暴露
(代码混淆也几乎起不到任何安全作用) 资源文件裸奔 主配文件可任意修改 核心so库暴露随时可能被暴力破解恶意利用等等的问题。。
部分大公司会对其公司的apk进行防二次打包和防apktool打包,

但其代码都是写在java层或者apktool的升级导致其安全保护级别也是非常低的。。】



2。反编译工具  就拿最经典最牛逼最常用的 APKTool 来测试。。


第一个办法:  伪加密
这个方法是在网上看到的


原地址第一个办法:  伪加密
这个方法是在网上看到的
源地址是:http://bbs.pediy.com/showthread.php?p=1195662&mode=threaded



APK在PC上面就被看作一个压缩格式文件,在手机上面它就算一个可执行格式文件。。。两种格式对它的读取要求也有区别,所以说利用这个区别来实现伪加密。。。对PC端来讲伪加密的APK没法被解包无法被反编译 但是对android系统来说 它完全不会影响正常的安装运行(对4.2以前的系统)。。。所以说伪加密能够100%防止PC端解包、查看而又不影响软件在手机上面的正常运行。。。

伪加密的原理: 读取APK的字节,找到连续4位字节标记为”P K 01 02”的后第5位字节,如果是0表示不加密,如果是1就表示加密(伪加密就强行改成1  反伪加密就是把1改成0就可以了)。。

APK在PC上面就被看作一个压缩格式文件,在手机上面它就算一个可执行格式文件。。。两种格式对它的读取要求也有区别,所以说利用这个区别来实现伪加密。。。对PC端来讲伪加密的APK没法被解包无法被反编译 但是对android系统来说 它完全不会影响正常的安装运行(对4.2以前的系统)。。。所以说伪加密能够100%防止PC端解包、查看而又不影响软件在手机上面的正常运行。。。

伪加密的原理: 读取APK的字节,找到连续4位字节标记为”P K 01 02”的后第5位字节,如果是0表示不加密,如果是1就表示加密(伪加密就强行改成1  反伪加密就是把1改成0就可以了)。。


代码就不留了,发的链接也有java代码,思路也给了。。
自己按照那个思路写的代码, 随便对一个APK进行 伪加密前和伪加密后的对比图如下:
伪加密前:


21.jpg
22.jpg
23.jpg
24.jpg

25.jpg

伪加密后:

26.jpg
29.jpg
28.jpg
27.jpg



伪加密在android 4.2系统发布之前是比较出名的,看到不少开发者使用他, 这种方法兼容不到4.2系统了。
这种加密方法可能也会影响上传市场,因为市场需要拆包检验权限  加密后无法被拆包 估计市场会提示无效APK文件什么的吧。。。

第二个办法:  APK压缩文件破坏(楼主自创的哦)
APK在PC上面可以看作一个压缩文件,在Android系统里面它就是一个手机系统软件文件。Android系统对APK的识别是从标志头到标志尾,其他多余数据都会无视。所以说在标志尾添加其他数据对把APK看做压缩文件的PC端来说这个文件被破坏了,所以你要对其进行解压或者查看都会提示文件已损坏,用反编译工具也会提示文件已损坏,但是它却不会影响在Android系统里面的正常运行和安装而且也能兼容到所有系统。
但是这种APK压缩包破坏存在APK伪加密一样的问题,个别市场会不能识别导致不能上传市场。使用压缩文件修复工具也能把它修复好让我们做的保护消失。

代码操作APK。。
30.png
具体结果 我就不用再截图了。。。 跟伪加密的结果差不多。。 它的好处就是能够兼容到所有的系统。。

先爆2个方法。。  坐等有兴趣的一起讨厌 然后我再继续说起其他的方法。。。。




免费评分

参与人数 3吾爱币 +1 热心值 +3 收起 理由
likang + 1 谢谢@Thanks!没分了
ye1088 + 1 + 1 大大,后续的链接在哪里呀?
sfshine + 1 很不错 这个512是不是动态的 可以随便改?

查看全部评分

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

nnpig 发表于 2015-1-27 08:25
加密和反加密的技术永远是相生相克的,大家别太在意自己的代码了,无论写得多好的代码,总有过时的一天。
 楼主| rainlee 发表于 2015-1-27 06:03
我其实最怕麻烦了,可是遇到这些问题不得不麻烦
z5332128 发表于 2015-1-27 06:32
雷蛇 发表于 2015-1-27 07:47
好东西  收藏了 谢谢楼主
梁小色 发表于 2015-1-27 07:55
最怕看代码了
ps122 发表于 2015-1-27 08:09
看下是什么,谢谢
cwz 发表于 2015-1-27 08:24
谢谢 学习
ccav5 发表于 2015-1-27 08:33
看smail真麻烦
LCC 发表于 2015-1-27 08:36
经典最牛逼最常用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 18:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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