请教大神, APK 如何实现 dex 不落地加载? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ice000
V2EX    Android

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

  •  
  •   ice000 2019-09-04 07:18:24 +08:00 via Android 15733 次点击
    这是一个创建于 2236 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    22 条回复    2019-09-05 12:19:55 +08:00
    hkitdog
        1
    hkitdog  
       2019-09-04 07:44:30 +08:00 via iPhone
    类抽取加固?,但在 apk 运行时 dump 出 inscode 然后 patch 到 dump 出的 dex 文件里面,,还是可以脱...
    ice000
        2
    ice000  
    OP
       2019-09-04 08:20:05 +08:00 via Android   1
    @hkitdog 能挡住 80%的人就不错啦,防是防不住的
    linhua
        3
    linhua  
       2019-09-04 08:25:17 +08:00   1
    LeeSeoung
        4
    LeeSeoung  
       2019-09-04 09:42:33 +08:00
    直接买现成方案加固吧。。你能想到的大厂商都帮你想好了。。N 年前的大厂商做过把核心代码放进 so,运行时动态解密加载。。
    LeeSeoung
        5
    LeeSeoung  
       2019-09-04 10:26:57 +08:00
    看完楼上那篇了。。讲的很详细,楼主可以参考下。。
    forrestvxu
        7
    forrstvxu  
       2019-09-04 11:36:04 +08:00
    360 的加固保有免费的可以用哇
    ice000
        8
    ice000  
    OP
       2019-09-04 11:45:27 +08:00
    @linhua 多谢
    ice000
        9
    ice000  
    OP
       2019-09-04 12:28:21 +08:00
    @LeeSeoung 想找个带源码的方案,查问题也方便一些。由于 APK 写的比较杂,用腾讯的乐固加固后加载不出某些插件
    ice000
        10
    ice000  
    OP
       2019-09-04 12:29:07 +08:00
    @forrestvxu 360 的加固产品有黑历史,不敢用
    ice000
        11
    ice000  
    OP
       2019-09-04 12:29:29 +08:00
    @xingda920813 API 有限制
    xingda920813
        12
    xingda920813  
       2019-09-04 12:57:43 +08:00
    @ice000 InMemoryDexClassLoader API 有什么限制?
    ice000
        13
    ice000  
    OP
       2019-09-04 13:02:37 +08:00
    @xingda920813 Added in API level 26
    HangoX
        14
    HangoX  
       2019-09-04 13:59:22 +08:00
    放弃吧,加固这个东西太影响运行效率了。你在内存中我直接 dump 就好了,还不如直接用 c 写,然后混淆
    no1xsyzy
        15
    no1xsyzy  
       2019-09-04 15:39:16 +08:00
    设计个词法反人眼、语法反直觉、但语义就是 Java 的语言
    写个 JVM 下的该垃圾语言解释器
    写个 Java 编译到这个该垃圾语言的编译器
    能挡住 99% 的人
    同理可扩展到其他任何语言
    就好像机器语言和 C 语言的关系(
    walkfish
        16
    walkfish  
       2019-09-04 18:23:10 +08:00
    用方舟编译器啊,直接二进制文件
    ice000
        17
    ice000  
    OP
       2019-09-05 07:20:03 +08:00 via Android
    @HangoX 一般项目混淆就足够了,手头这个项目几乎能预料到他们拿来 APK 第一件事就是研究怎么破解~~用 c 写也是一个办法
    ice000
        18
    ice000  
    OP
       2019-09-05 07:20:25 +08:00 via Android
    @no1xsyzy 大佬大佬
    ice000
        19
    ice000  
    OP
       2019-09-05 07:21:41 +08:00 via Android
    @walkfish 螃蟹留给别人先吃吧
    wjh3936
        20
    wjh3936  
       2019-09-05 10:08:03 +08:00
    360 有啥黑历史嘛……好奇
    forrestvxu
        21
    forrestvxu  
       2019-09-05 10:23:13 +08:00
    @HangoX 这位同学说得对~单纯的内存加载已经过时了,现在脱壳工具一大堆。如果你完整的加载到内存,dump 出来就行了,哪怕不完整加载,也有修复手段~
    ice000
        22
    ice000  
    OP
       2019-09-05 12:19:55 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2369 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:57 PVG 08:57 LAX 17:57 JFK 20:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86