领导布置了一个关于 APK 加固的任务,我目前的思路是将一部分代码抽成 dex 文件加密,使用时解密完通过字节流加载 dex。卡在 dex 不落地加载上了,求大神提供下思路或者有更好的加固方案也可以提出来
1 hkitdog 2019-09-04 07:44:30 +08:00 via iPhone 类抽取加固?,但在 apk 运行时 dump 出 inscode 然后 patch 到 dump 出的 dex 文件里面,,还是可以脱... |
![]() | 3 linhua 2019-09-04 08:25:17 +08:00 ![]() |
![]() | 4 LeeSeoung 2019-09-04 09:42:33 +08:00 直接买现成方案加固吧。。你能想到的大厂商都帮你想好了。。N 年前的大厂商做过把核心代码放进 so,运行时动态解密加载。。 |
![]() | 5 LeeSeoung 2019-09-04 10:26:57 +08:00 看完楼上那篇了。。讲的很详细,楼主可以参考下。。 |
6 xingda920813 2019-09-04 11:26:31 +08:00 |
7 forrstvxu 2019-09-04 11:36:04 +08:00 360 的加固保有免费的可以用哇 |
![]() | 10 ice000 OP @forrestvxu 360 的加固产品有黑历史,不敢用 |
![]() | 11 ice000 OP @xingda920813 API 有限制 |
12 xingda920813 2019-09-04 12:57:43 +08:00 @ice000 InMemoryDexClassLoader API 有什么限制? |
![]() | 13 ice000 OP @xingda920813 Added in API level 26 |
14 HangoX 2019-09-04 13:59:22 +08:00 放弃吧,加固这个东西太影响运行效率了。你在内存中我直接 dump 就好了,还不如直接用 c 写,然后混淆 |
![]() | 15 no1xsyzy 2019-09-04 15:39:16 +08:00 设计个词法反人眼、语法反直觉、但语义就是 Java 的语言 写个 JVM 下的该垃圾语言解释器 写个 Java 编译到这个该垃圾语言的编译器 能挡住 99% 的人 同理可扩展到其他任何语言 就好像机器语言和 C 语言的关系( |
![]() | 16 walkfish 2019-09-04 18:23:10 +08:00 用方舟编译器啊,直接二进制文件 |
![]() | 17 ice000 OP @HangoX 一般项目混淆就足够了,手头这个项目几乎能预料到他们拿来 APK 第一件事就是研究怎么破解~~用 c 写也是一个办法 |
![]() | 20 wjh3936 2019-09-05 10:08:03 +08:00 360 有啥黑历史嘛……好奇 |
21 forrestvxu 2019-09-05 10:23:13 +08:00 @HangoX 这位同学说得对~单纯的内存加载已经过时了,现在脱壳工具一大堆。如果你完整的加载到内存,dump 出来就行了,哪怕不完整加载,也有修复手段~ |
![]() | 22 ice000 OP |