如何防止 apk 被反编译,感觉混淆用处不大,请教下大家有啥好方法吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DrSpencerReid
V2EX    Android

如何防止 apk 被反编译,感觉混淆用处不大,请教下大家有啥好方法吗?

  •  
  •   DrSpencerReid 2019-06-18 14:45:06 +08:00 16298 次点击
    这是一个创建于 2315 天前的主题,其中的信息可能已经有所发展或是发生改变。
    29 条回复    2019-06-21 19:05:17 +08:00
    stephonhu
        1
    stephonhu  
       2019-06-18 14:58:02 +08:00
    加固,聊胜于无
    有钱买企业级的,反正我司也没用过,不知道好不好[手动狗头]
    Shouldong
        2
    Shouldong  
       2019-06-18 15:06:41 +08:00
    一般的混淆用处不大,但是混淆成 '",‘”, 这种真的有点用。。。
    DrSpencerReid
        3
    DrSpencerReid  
    OP
       2019-06-18 15:09:15 +08:00
    @stephonhu 太惨了,买企业级的吧
    DrSpencerReid
        4
    DrSpencerReid  
    OP
       2019-06-18 15:10:37 +08:00
    @Shouldong 可以让反编译的人眼瞎。。
    yemoluo
        5
    yemoluo  
       2019-06-18 15:32:20 +08:00
    了胜于无

    加强参数校验

    比如逆天的 拼多多,有一个 anti_content 字段,它的构成,爬虫的劝退着
    lvsemi1
        6
    lvsemi1  
       2019-06-18 15:36:02 +08:00
    真干这行的字节码都看,混淆不混淆也就多点时间成本
    lihongming
        7
    lihongming  
       2019-06-18 15:36:06 +08:00 via iPhone
    用那个把变量名和方法名都混淆成 1li!|组合的混淆器,防不住也烦死他
    nonprocoder
        8
    nonprocoder  
       2019-06-18 15:37:54 +08:00
    先想想真的有必要混淆吗
    Jirajine
        9
    Jirajine  
       2019-06-18 15:43:24 +08:00 via Android
    混淆是比较有用的。除非你的软件是 Adobe 那种涉程度不然没人真的去搞你。一般都是些脚本小子拿工具瞎弄,不好弄谁费那个劲,还如直接买。
    另外不要加固,一来加固除非高价买企业级不然脱个壳相当容易,二来某些无良公司( tx,360 )的加固就是给你的应用挂马,你的应用变流氓并且还要用你的签名为它背书。
    lowett
        10
    lowett  
       2019-06-18 15:44:15 +08:00   1
    只能增加破解的难度,从 app 上是防不住的

    最近在学些这块的东西。
    结论只有一个:只要你的 app 值得破解,任何防破解手段都是无效,时间长短而已。
    DrSpencerReid
        11
    DrSpencerReid  
    OP
       2019-06-18 15:51:17 +08:00
    @Jirajine 本来想直接买企业级加固的,听你一说感觉像是花钱求着别人来搞自己。
    pkookp8
        12
    pkookp8  
       2019-06-18 15:51:52 +08:00 via Android
    从另一个思路考虑,定时向服务器检验数据合法性和 id ?
    hyyou2010
        13
    hyyou2010  
       2019-06-18 15:56:48 +08:00
    很麻烦的,很不推荐。做成 so 可能有点用。

    最佳是把核心的东西放服务器上,客户端就一个操作界面。
    AndroidEngineer
        14
    AndroidEngineer  
       2019-06-18 16:13:12 +08:00
    @hyyou2010 so 库用 ida 一样逆向
    superalsrk
        15
    superalsrk  
       2019-06-18 16:15:42 +08:00
    核心签名核心业务放到 so 里, 可以参考 抖音那种 libcms.so 用 ollvm 混淆一下, 虽然 IDA 也能看, 但是难了数量级, 直接劝退只会用 AK 的水货
    DrSpencerReid
        16
    DrSpencerReid  
    OP
       2019-06-18 16:21:00 +08:00
    @superalsrk 这个是增加难度系数的好方法,我打算试试。谢谢
    0Zed
        17
    0Zed  
       2019-06-18 16:31:03 +08:00
    增强 app 与服务器之间的各种校验 +1
    littiefish
        18
    littiefish  
       2019-06-18 17:37:28 +08:00 via iPhone
    @pkookp8 工具类的我一般禁网,不联网不让用的直接舍弃。貌似还没有哪个 APP 是必须使用的
    WordTian
        19
    WordTian  
       2019-06-18 17:41:19 +08:00 via Android
    @AndroidEngineer 并不,so 可以加壳的
    lollipop43
        20
    lollipop43  
       2019-06-18 18:08:54 +08:00
    If it runs, it can be cracked.
    语出我的大学老师
    unclemcz
        21
    unclemcz  
       2019-06-18 18:39:26 +08:00 via Android
    核心算法放 so,数据放云,证书双向验证,然后证书密钥都放 so,可以防 99.9%了应该。
    sampeng
        22
    sampeng  
       2019-06-18 18:46:54 +08:00 via iPhone
    @unclemcz 补充那 0.01 。自己做硬件。
    akira
        23
    akira  
       2019-06-18 18:51:20 +08:00
    混淆 可以挡住 90%以上的人了
    menyakun
        24
    menyakun  
       2019-06-18 19:36:25 +08:00
    用 C++写关键逻辑,xjb 继承,这样逆向汇编就不太好搞了
    u823tg
        25
    u823tg  
       2019-06-18 21:46:13 +08:00
    @WordTian 加壳也能托,说实话都是增加破解难度而已。
    tpkxywxd
        26
    tpkxywxd  
       2019-06-18 22:21:07 +08:00
    @lowett 哈哈,真相了
    qwwuyu
        27
    qwwuyu  
       2019-06-19 18:42:01 +08:00
    如果能做到这个 apk(MT 管理器 未加固)的混淆程度,不知道有几个能看懂的..我是完全看不懂
    DrSpencerReid
        28
    DrSpencerReid  
    OP
       2019-06-21 15:48:04 +08:00
    @akira 有点防君子不防小人的感觉
    akira
        29
    akira  
       2019-06-21 19:05:17 +08:00
    @DrSpencerReid 小人的话 你怎么都防不了的 都是加大成本而已
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4371 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 01:04 PVG 09:04 LAX 18:04 JFK 21:04
    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