关于前端代码逻辑的保护, sablejs 你值得拥有 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zyEros
V2EX    浏览器

关于前端代码逻辑的保护, sablejs 你值得拥有

  •  
  •   zyEros 2021-06-08 16:32:28 +08:00 4584 次点击
    这是一个创建于 1633 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果按照提升破解成本的目标,自定义字节码执行是一条很靠谱的路径,有需要的可以参考: https://github.com/sablejs/sablejs

    12 条回复    2021-06-08 20:48:06 +08:00
    yushiro
        1
    yushiro  
       2021-06-08 17:16:54 +08:00 via iPhone
    不知道能都和 jq 之类的第三方库兼容
    iikebug
        2
    iikebug  
       2021-06-08 17:36:41 +08:00
    前端搞代码保护都是虚的, 重要逻辑放 wasm 搞搞就好了
    newmlp
        3
    newmlp  
       2021-06-08 17:45:12 +08:00
    保护逻辑有毛用,直接找到输入输出,黑箱调用就行了,干嘛要搞清楚里面的逻辑
    zyEros
        4
    zyEros  
    OP
       2021-06-08 18:07:35 +08:00 via Android
    @newmlp 有点想当然了,你可以看看这个 https://github.com/sablejs/sablejs/issues/10
    zyEros
        5
    zyEros  
    OP
       2021-06-08 18:08:53 +08:00 via Android
    @iikebug 一个道理,但是 wasm 要去调用外部 DOM BOM 的逻辑太透明
    zyEros
        6
    zyEros  
    OP
       2021-06-08 18:12:29 +08:00 via Android
    @yushiro 他也沙盒的作用
    no1xsyzy
        7
    no1xsyzy  
       2021-06-08 19:33:52 +08:00   1
    @zyEros 看了下你这 issue10,很明显调用外部也是近乎透明的。只要破解者传给你的全都是被包装过的
    wraps(wrapped) => (...args) => {debuggr; let result=wrapped(...args); debugger; return result}
    别的不管,任何需要调用环境的加密,直接覆盖你的 preamble 就行了。

    而且 vm 形式理论上可以任意进行状态回归( deepcopy 一下),而且边界清晰得多,实际上当黑箱用比混淆过的代码更方便了。

    更不用说,你认为应当减少与外界的交互?正确的方法是拿大量无效的外界交互去干扰。

    就好比你分发 bin 也应当默认 strace 存在比较好。大部分应用重写、甚至写得更好真不是什么难事儿。所谓要『保护』的东西其实根本就不存在,保护了个寂寞。
    3dwelcome
        8
    3dwelcome  
       2021-06-08 19:47:41 +08:00
    我一直想吐槽,楼主来 V2 宣传过几次了,可 github 代码又不开源。。
    3dwelcome
        9
    3dwelcome  
       2021-06-08 19:53:01 +08:00
    还有讨论到前端加密,V2 一直挺激烈的。

    我个人感悟就是,用程序代码生成一个一次性的虚拟机,关键逻辑只执行一次性代码,这样相对而言安全一些。

    让黑客无法静态调试,依赖虚拟机运行的逻辑代码,也是服务器按需下载。下次请求的虚拟机指令就变了,下载逻辑代码自然也会变。
    matrix67
        10
    matrix67  
       2021-06-08 20:36:49 +08:00
    @3dwelcome #9 可是又有啥前端业务能够那么重要要保护,不是数据最重要么,,,,
    zyEros
        11
    zyEros  
    OP
       2021-06-08 20:45:51 +08:00 via Android
    @no1xsyzy 之后会产出一个人机识别产品,会有代码还原及 hack 的活动,到时候有现金奖励,欢迎参与
    zyEros
        12
    zyEros  
    OP
       2021-06-08 20:48:06 +08:00 via Android
    @3dwelcome 是的,实际上商用版 opcode 会变化
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3475 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 05:03 PVG 13:03 LAX 21:03 JFK 00:03
    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