当前位置: 首页 > news >正文

自研实现APK加固-代码资源so全加密隐藏(附免费处理工具)

自研自定义实现APK加固-代码资源so全隐藏-防破解-防逆向-防反编译-防二次开发-防资源抓取

免费工具地址

1.APK安全现状

市面上各种游戏的破解版,各种APK的免卡密版,基本都是逆向开发者,从线上拿到正常的apk进行逆向二次开发的。
更有胜者,在不更改原程序的逻辑,但会加入自己的爬虫,病毒。
非常影响原apk开发者的正常权益。

2.逆向开发实现

如果原apk没做安全防护,逆向者想对apk进行一般会进行下面的操作。

2.1 jadx查看原包

市面上存在一个工具jadx,这个工具能直接将apk的内容进行解析,代码会直接变成可视化的Java代码,资源,清单和签名信息也清晰可见。
jadx-查看代码
jadx-查看资源

2.2 apktool反编译

市面上存在一个工具apktool,这个工具能非常方便的对apk进行反编译解包。
在使用jadx查看apk后,定位到需要的资源或需更改的代码后,就可以通过apktool反编译apk然后更改。
apktool解包结果示例

如上图所示,apktool解析完后,apk的资源,清单完全变成了明文,代码也成了可更改的smali代码。

2.3 更改内容重新合包

一般进行上面两步后,就能拿到原包的东西,接下来就是更改原包内容。

2.3.1 更改包名

对Android系统来说,安装到手机的应用,每个apk的包名要不一样,不然就会被认为是同一个应用。
实现:
在步骤2.2中解析出的AndroidManifest.xml文件,更改属性package=后面的值。

2.3.2 更改应用名

应用名是安装在手机上后,在桌面图标下展示的名字。
在步骤2.2中解析出的AndroidManifest.xml文件里,application标签后,或者activity标签后,会有android:label=属性,
android:label一般不是固定的字符串,如果是固定的字符串,直接更改就行。
android:label不是固定字符串,是资源文件的话,需要更改资源,例如android:label="@string/app_name",则需要更改2.2解析出的res/values/strings.xml里面app_name的值。

2.3.4 签名

apk要签名后才能安装到设备上。
常见签名方式:AndroidStudio,apksigner。

3.apk防护思路

针对2中的逆向思路,我们可以在开发中针对性的进行安全处理。

3.1 代码安全

我们在开发中,可以将代码进行一定的安全处理,使逆向者无法直接获取源码,增加其获取代码的难度。

3.1.1 代码混淆

比较常见的代码安全处理方式,AndroidStudio在打包时也可以直接设置进行混淆,最终会将清晰可见的源码,混淆成不便阅读的各种无意义代码。

3.1.2 代码动态加载

很多加固工具的代码安全原理,就是将原来的代码进行加密,使用时进行解密动态加载,在正常开发中,也可以使用这种方式。

3.2 资源安全

apk中,一般都会包含一些敏感资源,比如配置文件等,可以进行一定的安全处理,让逆向者不能获取到对应资源。

3.2.1 资源动态加载

跟代码动态加载类似,将原资源进行加密,使用时动态加载。

3.2.1 网络加载

将资源不放在包里,使用时动态网络下载,会有一定的流量成本。

4.针对性安全处理

4.1 jadx针对性处理

jadx在进行apk解析时,实际上使用的是smali,aapt,apksig,dexlib等工具进行apk解析的。jadx下载下来后,这些工具清晰可见的是一些jar包,直接用jadx查看jar包代码,可以看到这些工具解析原理。
所以,针对性的对原包处理,让这些工具不能正常生效,即可让jadx无法正常阅读apk。

4.1.1 代码处理

经自研,实现了jadx代码解析屏蔽,jadx查看代码都是【Method not decompiled】
jadx代码安全

4.1.2 资源处理

jadx使用appt进行资源解析。
经自研,实现了jadx资源解析屏蔽,jadx查看apk资源无法正确分析apk资源。

jadx资源安全

4.1.3 清单安全

jadx解析的清单里包含了很多apk关键信息。
经自研,实现了jadx解析清单屏蔽。
jadx清单安全

4.1.4 签名安全

保护应用的签名信息不外漏,也是非常重要的。
经自研,实现了jadx签名信息解析屏蔽。

jadx-签名安全

4.2 apktool反编译防护

apktool能解包apk拿到很多apk敏感信息,防apktool反编译非常重要。
经自研,实现了apktool解包屏蔽。

apktool-解包屏蔽

5.其他安全防护

上述3和4中是针对性的防护处理,正常的apk开发阶段都可进行,
还有一些其他安全处理,比如代码冗余,资源冗余,资源混淆,资源md5更改等。

6.综合通用加固实现

想对一个apk实现上述的各种安全处理,处理在开发阶段就设计好实现,还能在apk导出后,对apk直接进行处理。市面上大多安全加固工具都是如此。

因为三方成熟的加固方案,一般都是大公司开发,免费的版本没有这么齐全的安全处理,全一点的都很贵,所以自己研究实现了一套加固工具。

6.1 加固工具效果

6.1.1 原包信息隐藏

加固后,原包代码,资源,so,清单,签名的等信息全部隐藏。

6.1.2 冗余信息添加

加固后,每次处理都会加入不同的冗余信息,增加逆向者的逆向分析难度。
冗余信息包括:冗余代码,冗余资源,冗余so,冗余清单。

6.1.3 jadx和apktool防护

加固后,jadx和apktool无法轻易解析apk。

6.2 加固处理流程

6.2.1 加固处理所需时间

经优化,对一个apk进行加固处理最快1分钟内就能搞定。包越复杂,所需时间越多。

6.2.2 加固流程简化

经优化,只需进行简单设置,就能快速处理apk。

6.2.3 加固兼容

工具已维护3年+,有大量的用户使用,兼容性佳。
Android系统支持Android8.0+。
unity,flutter等三方引擎导出的apk兼容。
小米,三星,华为等各种机型都兼容。

7.工具地址

免费工具地址

http://www.jsqmd.com/news/1244015/

相关文章:

  • 【单片机毕业设计推荐】基于 STM32 的水质水温监测与声光报警系统设计,基于 STM32 的水体多参数实时检测装置开发(011003)
  • LZHAM Codec完全指南:如何实现比LZMA快8倍的无损数据压缩与解压
  • 2026年7月欧米茄温州官方客户服务热线及售后网点地址最新指引 - 欧米茄服务中心
  • 上门取件怎么选快递公司?揭秘5折寄件真相,避开隐形消费陷阱 - 快递物流资讯
  • 上海亨得利名表维修保养地址与售后服务中心权威公示(2026年7月最新) - 亨得利官方
  • 【RT-DETR涨点改进】CVPR 2026 | 独家Conv与频域改进篇| 引入SSFModule选择性空间频率模块,助力无人机航拍、遥感影像小目标检测、实例分割、目标跟踪任务,有效涨点
  • 怎么把视频口播转成文字稿?2026免费语音转写教程 - 工具测试专家
  • 清远除甲醛公司实地走访测评:从资质到售后全维度拆解 - 环保除醛知识库
  • 中药零食哪家好:衡身堂本草润养 - 晚香时候
  • AgentScopeJava 2.0.0正式发布,生产级AI架构落地
  • 前后端分离架构
  • 输入5-35V,输出电流1-3A,布局线路实现升压,升降压
  • 终极指南:如何用QtScrcpy将手机游戏变成电脑端游体验
  • 洛谷 P2709:[模板] 莫队 / 小 B 的询问 ← 莫队算法
  • 2026年7月卡萨帝空调售后服务电话24小时全新专属热线升级公示最新公告 - 家电技术百科
  • 2026 年当下,岫岩满族自治比较好的翅片管源头厂家全面解析与选购指南,揭秘飞行器效率的秘密:这小管子到底有多关键? - 行业严选官
  • 视频内容转文字软件哪个好用?2026三款工具对比 - 工具测试专家
  • 武汉各区空调维修师傅名录|24小时报修电话|简单到家 - 简单到家
  • Spring Lemon完全指南:构建企业级Spring Boot Web应用的终极工具
  • 真力时太原2026年7月最新官方服务网点地址与客户热线通知 - 亨得利钟表维修中心
  • 微软开源MarkItDown:AI时代的多格式文档转换神器
  • AI客户生命周期管理落地失败真相(92%企业踩中的3个算法陷阱)
  • Label Studio免费开源数据标注工具:AI模型训练的完美数据管家
  • RPCS3完整指南:如何在现代PC上完美运行PS3游戏
  • 劳力士养护手表专业保养与维修服务指南权威公示(2026年7月最新) - 劳力士服务中心
  • 2026 最新|抖音小店一件代发完整操作流程,新手直接照做(抖掌柜) - 电商分享
  • 深圳长途搬家搬厂:长途搬厂+办公家具运输报价标准,企业预算规划参考 - szxybj
  • fastapi: 给docs文档添加用户名密码验证
  • 2026年7月麦克维尔空调售后服务电话24小时全新专属热线升级公示最新说明 - 家电技术百科
  • 广州新房除甲醛哪家正规?本地实地走访三家品牌横评 - 环保除醛知识库