V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sm1314
V2EX  ›  Android

腾讯乐固加固的 App 被反编译了,有其他好的方案么?

  •  
  •   sm1314 · 2018-10-14 20:03:03 +08:00 · 20734 次点击
    这是一个创建于 2236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人有个 70 多万安装量的 App,使用了 proguard 混淆+腾讯乐固免费版( 18 年 5 月 20 号的版本)加固。
    今天发现被别人反编译然后改了好多功能重新打包发布到一个论坛了。

    所以请教一下各位大神,有什么更好的加固方案么? 最重要是防止二次打包的==。
    50 条回复    2020-08-11 21:33:45 +08:00
    liuminghao233
        1
    liuminghao233  
       2018-10-14 20:22:25 +08:00 via iPhone
    混一些 c/c++的东西进去
    weilaixx
        2
    weilaixx  
       2018-10-14 20:36:23 +08:00 via Android
    用乐固收费版
    dorothyREN
        3
    dorothyREN  
       2018-10-14 20:41:48 +08:00
    免费版不行就试试收费版吧
    bkmi
        4
    bkmi  
       2018-10-14 20:44:20 +08:00
    大部分加固也就只能防小白, apk 要在手机上跑, 必然要先解密, 所以用类似 xposed, 甚至是自编译 ROM 还是能把 dex dump 出来
    Laobai
        5
    Laobai  
       2018-10-14 20:46:31 +08:00 via Android
    试试 360 的……
    y1shan
        6
    y1shan  
       2018-10-14 20:55:47 +08:00
    70 万的量不能上个收费的?
    sm1314
        7
    sm1314  
    OP
       2018-10-14 20:59:54 +08:00
    @bkmi 所以解决方案呢。。。
    sm1314
        8
    sm1314  
    OP
       2018-10-14 21:00:40 +08:00
    @liuminghao233 有 jni 代码的
    sm1314
        9
    sm1314  
    OP
       2018-10-14 21:01:14 +08:00
    @Laobai 360 被破了换的乐固。。。
    lraining
        10
    lraining  
       2018-10-14 21:02:53 +08:00 via Android
    一般来说这样的论坛页脚都附有版权问题联系方式,联系版主要求删除侵权链接就行了,毕竟他们也怕惹上法律上的麻烦。
    bkmi
        11
    bkmi  
       2018-10-14 21:19:32 +08:00
    @bkmi 其实没有太好的办法, 只能多搞几种检测方式, 加大重打包运行的难度, 多种方式检测签名, 包名啥的, 也可以耍点阴的, 检测到之后不马上退出, 过个几次或者几天再让它闪退, 或者让一些主要功能用不了, 提示用户盗版等等.
    sm1314
        12
    sm1314  
    OP
       2018-10-14 21:26:14 +08:00
    @bkmi 之前太信任第三方加固了,签名都没监测。。。看来还是得靠自己啊
    DeweyReed
        13
    DeweyReed  
       2018-10-14 21:39:04 +08:00
    D....Dexguard?
    ssack9
        14
    ssack9  
       2018-10-14 21:49:37 +08:00 via iPhone
    用个收费版差不多加一下就行了,完全防破解是不可能的,PC 上像 VmP 那么牛叉的虚拟机都被人破解了。多注重自己的业务逻辑吧。
    cxl008
        15
    cxl008  
       2018-10-14 21:50:49 +08:00
    好奇是啥 app
    panda
        16
    panda  
       2018-10-14 21:54:34 +08:00 via Android
    微信都有修改版,所以无解。
    nicevar
        17
    nicevar  
       2018-10-14 22:03:03 +08:00
    完全防住太难了,签名+服务端校验,闲得蛋疼可以多重校验
    so 自己写 loader 机制,太费劲了,要考虑工作量是否值得
    zwh2698
        18
    zwh2698  
       2018-10-14 22:08:08 +08:00 via Android
    你主要想保密什么?你想想 PC 上的程序加密比 android 上难度大吧,让很大一部分人没办法就行了。
    byteli
        19
    byteli  
       2018-10-14 22:43:19 +08:00 via Android
    乐固我记得出新版本了,可以去试试。还有他们提供的专业版,针对 so 更多好像
    sm1314
        20
    sm1314  
    OP
       2018-10-14 22:43:25 +08:00
    @DeweyReed 看起来很靠谱啊,感觉混淆做的好就不用加固了 ==。
    bkmi
        21
    bkmi  
       2018-10-14 23:03:09 +08:00 via Android
    @panda 微信仅做了混淆,但是肯定是做检测的,而且检测的力度不小,但是每次封号都是小范围的预警,还算仁慈了
    inframe
        22
    inframe  
       2018-10-14 23:23:26 +08:00 via iPhone
    合适的方法是做服务化,这样就算反编译也就那个 client 被获得而已
    AX5N
        23
    AX5N  
       2018-10-15 00:21:38 +08:00
    同好奇是什么 app,同赞成做成服务
    Goolge
        24
    Goolge  
       2018-10-15 00:27:15 +08:00
    道高一尺 魔高一丈 楼主很强啊 日活多少啊
    ooooo
        25
    ooooo  
       2018-10-15 01:05:08 +08:00
    @cxl008 对啊没看什么 app 啦,就行 V2EX 的 app ,重新打包啥的没啥影响,楼主的是付费的 app?
    xuanbg
        26
    xuanbg  
       2018-10-15 07:47:38 +08:00
    破了就破了吧,客户端没有秘密。你想保密的东西请在服务端实现。
    LokiSharp
        27
    LokiSharp  
       2018-10-15 08:28:26 +08:00
    52pojie 么?联系一下版主就会帮你下架的
    NicholasYX
        28
    NicholasYX  
       2018-10-15 08:32:21 +08:00 via iPhone
    上收费版的试试?
    小人防不住,君子不用防
    zyp0921
        29
    zyp0921  
       2018-10-15 08:47:11 +08:00
    吾爱破解大神多吗?
    icylogic
        30
    icylogic  
       2018-10-15 08:47:26 +08:00 via iPhone
    我以前好奇一个手游的逻辑,直接 dump 内存的(当然没有做什么重新打包的事),反正你总得加载……
    LeeSeoung
        31
    LeeSeoung  
       2018-10-15 09:13:34 +08:00
    所有 app 理论上都可以被破解,就看破解难度跟收益的关系了,免费版的破解难度肯定比不上收费版的,所以想增加破解难度上收费版的。
    mmdsun
        32
    mmdsun  
       2018-10-15 09:14:07 +08:00 via Android
    360 加固
    cxl008
        33
    cxl008  
       2018-10-15 09:20:02 +08:00
    上收费版吧,可单聊。。。免费你给做个梆梆的商业版试试?
    liberize
        34
    liberize  
       2018-10-15 09:57:58 +08:00   ❤️ 1
    现在常见的加固都有现成的破解了,推荐以下两个办法:
    1. proguard 混淆自定义字典,用 O0o 和 Iil1 等的组合(尽量长一点),让反编译的看瞎眼
    2. 在 native 层做校验,校验 apk 的签名或 dex 的 hash
    两个可以一起用,我还在 native 层加了一些变态的反调试、编译时内存加密等等,至今没听说有破解的
    bzzhou
        35
    bzzhou  
       2018-10-15 10:00:14 +08:00
    加上认证机制,把一些功能逻辑放到服务端就 ok 了吧
    liberize
        36
    liberize  
       2018-10-15 10:02:26 +08:00
    @panda 微信都没怎么混淆,也没有强制校验,改起来不要太容易
    其实微信现在主要是通过封号来打击修改版
    lsj8924
        37
    lsj8924  
       2018-10-15 12:30:35 +08:00
    vmp,se 的壳子强不强,也就防一防小白。吾爱破解,看雪上的大神早就操的不想操了。就是看看有没有人想搞你的东西,想搞还真防不住大神。
    sm1314
        38
    sm1314  
    OP
       2018-10-15 15:14:26 +08:00
    @cxl008 之前联系过梆梆,好像商业版要好几万。。。
    sm1314
        39
    sm1314  
    OP
       2018-10-15 15:29:29 +08:00
    @liberize 自定义字典长姿势了! native 层校验 dex 的 hash 是不是要先生成 apk 呢,还有大佬你除了自己的方法用没用第三方的加固?
    houskii
        40
    houskii  
       2018-10-15 17:13:14 +08:00
    @sm1314 自定义字典用 0oO1il 这种算比较基础的吧,更凶残的是上混合小语种,什么阿语印地语马来西亚语里面选一些长的差不多的生成字典给你揉一起……
    liberize
        41
    liberize  
       2018-10-15 19:05:48 +08:00 via Android
    @sm1314 要的,没有,各大厂商的加固貌似都有人破解
    另外忘了说,native 代码的校验不能单独放到一个库里
    hanguofu
        42
    hanguofu  
       2018-10-15 19:45:27 +08:00 via Android
    @liberize
    请问大神编译时内存加密是用了什么编译器选项还是工具呢?
    alfchin
        43
    alfchin  
       2018-10-15 23:32:58 +08:00 via iPhone
    @liberize 对的,大厂的加密大部分都是批量的,破解有利可图。
    之前有一种防破解,是程序内部自带验证功能,当验证不通过的时候逐步修改本程序的功能,使其逐步失效。这种破解发布的时候很难发现,用几天后就炸了
    liberize
        44
    liberize  
       2018-10-16 09:26:45 +08:00
    @hanguofu 可以用 c++ 模板 + constexpr,好处是方便,缺点是只能做简单的加密 /混淆,可用于混淆一些敏感字符串或内存数据(比如哈希值),类似于这种:
    https://github.com/adamyaxley/Obfuscate
    对于一些非常敏感的数据,还是尽量放服务端,这种恐怕只能防住一些低水平的破解者
    cxl008
        45
    cxl008  
       2018-10-16 09:39:59 +08:00
    @sm1314 麻花疼 Mjg3NzgxODU=
    maokabc
        46
    maokabc  
       2018-10-16 11:28:58 +08:00 via Android
    @liberize 再给你 dex 混淆一次就行,没多少用
    liberize
        47
    liberize  
       2018-10-16 12:36:48 +08:00 via Android
    @maokabc 前提是能回编译,现在的 jadx 之类遇到微信这种大一点的 apk,反编译出来一堆错误,只能看看
    brick713
        48
    brick713  
       2018-10-16 14:28:09 +08:00
    试试梆梆?付费的会好好很多。
    xiner
        49
    xiner  
       2020-08-06 18:00:08 +08:00
    APP 防反编译,几维安全通过对应用程序进行加密保护,可有效防 APP 在运营推广过程中被破解、防止二次打包、盗版、或进行 app 反编译等破坏。
    APP 防反编译: https://www.kiwisec.com/
    lihaohua90
        50
    lihaohua90  
       2020-08-11 21:33:45 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 03:24 · PVG 11:24 · LAX 19:24 · JFK 22:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.