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

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

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

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