sm1314
V2EX  ›  Android

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

  •  
  •   sm1314 · Oct 14, 2018 · 26347 views
    This topic created in 2944 days ago, the information mentioned may be changed or developed.
    本人有个 70 多万安装量的 App,使用了 proguard 混淆+腾讯乐固免费版( 18 年 5 月 20 号的版本)加固。
    今天发现被别人反编译然后改了好多功能重新打包发布到一个论坛了。

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