请教大神, APK 如何实现 dex 不落地加载?

2019-09-04 07:18:24 +08:00
 ice000

领导布置了一个关于 APK 加固的任务,我目前的思路是将一部分代码抽成 dex 文件加密,使用时解密完通过字节流加载 dex。卡在 dex 不落地加载上了,求大神提供下思路或者有更好的加固方案也可以提出来

12590 次点击
所在节点    Android
22 条回复
hkitdog
2019-09-04 07:44:30 +08:00
类抽取加固?,但在 apk 运行时 dump 出 inscode 然后 patch 到 dump 出的 dex 文件里面,,还是可以脱...
ice000
2019-09-04 08:20:05 +08:00
@hkitdog 能挡住 80%的人就不错啦,防是防不住的
linhua
2019-09-04 08:25:17 +08:00
LeeSeoung
2019-09-04 09:42:33 +08:00
直接买现成方案加固吧。。你能想到的大厂商都帮你想好了。。N 年前的大厂商做过把核心代码放进 so,运行时动态解密加载。。
LeeSeoung
2019-09-04 10:26:57 +08:00
看完楼上那篇了。。讲的很详细,楼主可以参考下。。
xingda920813
2019-09-04 11:26:31 +08:00
forrestvxu
2019-09-04 11:36:04 +08:00
360 的加固保有免费的可以用哇
ice000
2019-09-04 11:45:27 +08:00
@linhua 多谢
ice000
2019-09-04 12:28:21 +08:00
@LeeSeoung 想找个带源码的方案,查问题也方便一些。由于 APK 写的比较杂,用腾讯的乐固加固后加载不出某些插件
ice000
2019-09-04 12:29:07 +08:00
@forrestvxu 360 的加固产品有黑历史,不敢用
ice000
2019-09-04 12:29:29 +08:00
@xingda920813 API 有限制
xingda920813
2019-09-04 12:57:43 +08:00
@ice000 InMemoryDexClassLoader API 有什么限制?
ice000
2019-09-04 13:02:37 +08:00
@xingda920813 Added in API level 26
HangoX
2019-09-04 13:59:22 +08:00
放弃吧,加固这个东西太影响运行效率了。你在内存中我直接 dump 就好了,还不如直接用 c 写,然后混淆
no1xsyzy
2019-09-04 15:39:16 +08:00
设计个词法反人眼、语法反直觉、但语义就是 Java 的语言
写个 JVM 下的该垃圾语言解释器
写个 Java 编译到这个该垃圾语言的编译器
能挡住 99% 的人
同理可扩展到其他任何语言
就好像机器语言和 C 语言的关系(
walkfish
2019-09-04 18:23:10 +08:00
用方舟编译器啊,直接二进制文件
ice000
2019-09-05 07:20:03 +08:00
@HangoX 一般项目混淆就足够了,手头这个项目几乎能预料到他们拿来 APK 第一件事就是研究怎么破解~~用 c 写也是一个办法
ice000
2019-09-05 07:20:25 +08:00
@no1xsyzy 大佬大佬
ice000
2019-09-05 07:21:41 +08:00
@walkfish 螃蟹留给别人先吃吧
wjh3936
2019-09-05 10:08:03 +08:00
360 有啥黑历史嘛……好奇

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/597710

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX