V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zizhu
V2EX  ›  程序员

有了 AI, js 混淆已经意义不大了,完全可以让 AI 重新实现可读性

  •  
  •   zizhu · 2 天前 · 4408 次点击

    我实验的是一个埋点工具( umami ) 的脚本,只有不到两百行,逻辑比较简单,但效果是真的有,太长了就不贴对话记录了,也没有复杂的 prompt ,就是 "帮我把这段代码转成有正确命名的代码 xxxxxxx", 用的 claude-3.7-sonnet 。

    36 条回复    2025-03-09 18:03:52 +08:00
    Rickkkkkkk
        1
    Rickkkkkkk  
       2 天前
    还真是
    lbw
        2
    lbw  
       2 天前
    js 混淆的意义难道不是降低传输体积吗?本身混淆过程就没有加密的流程
    liudewa
        3
    liudewa  
       2 天前
    @lbw #2 体积不是压缩吗
    kkk9
        4
    kkk9  
       2 天前   ❤️ 1
    那就朝 wasm 发展咯,全部封装进去,跟安卓 dex 加壳一样
    zizhu
        5
    zizhu  
    OP
       2 天前
    @lbw
    @liudewa
    正如 #3 所说,体积对应的是压缩,虽然混淆确的压缩效果也很好。只是以后不太能指望靠混淆能防住修改源码了。
    Shatyuka
        6
    Shatyuka  
       2 天前
    应该 WebAssembly ,还能 OLLVM
    paopjian
        7
    paopjian  
       2 天前   ❤️ 1
    deepseek v3 的时候就用他们来帮我反压缩 js 代码了, 比豆包好用多了, 那会的思考还是英文
    Torpedo
        8
    Torpedo  
       2 天前
    混淆主要是为了压缩。隐藏逻辑单纯混淆意义不大
    antipro
        9
    antipro  
       2 天前 via Android
    会不会有一天连汇编也能反推回去
    iorilu
        10
    iorilu  
       2 天前
    @Torpedo 咋没有, 很多复杂功能尤其浏览器插件, 就是靠这个防止别人复制的

    真轻松完全解码, 你看别人搞一个插件, 一句话就复制一个了

    当然了, 这个也不远了就是
    lp4298707
        11
    lp4298707  
       2 天前
    啊哈,你给我提供了一个更方便逆向小程序的思路
    kneo
        12
    kneo  
       2 天前 via Android
    你也知道只有几百行。
    zizhu
        13
    zizhu  
    OP
       2 天前
    @kneo 我只是举例,几千行的应该也可以的啊,你试过了不行吗?
    yyf1234
        14
    yyf1234  
       2 天前 via iPhone
    你这种混淆顶多叫 uglyjs ,你让 ai 还原 ast 试试
    shakukansp
        15
    shakukansp  
       2 天前
    @zizhu ? 不是有最大输入限制?
    Zenyet
        16
    Zenyet  
       2 天前
    还真是+1 ,挺好的,看到混淆的头晕
    zizhu
        17
    zizhu  
    OP
       2 天前
    @shakukansp
    @kneo
    我用 vue 源码( https://unpkg.com/[email protected]/dist/vue.global.prod.js )试了下,生成到八百行的时候确实就卡住了,可能是到了上限。
    但这个问题吧,说不定有大佬能用更好的配置,那就不是问题了
    ychost
        18
    ychost  
       2 天前
    现在甚至把网页截图给它,都能噼里啪啦画出来了,自己在改吧改吧差不多就能用了
    opengps
        19
    opengps  
       2 天前
    js 作为前端暴露的代码,本来加密只是增加难度,ai 辅助加速可视代码完全是正常现象
    wyntalgeer
        20
    wyntalgeer  
       2 天前
    感谢前端同学们造轮子的劲头,继续努力!
    Gress
        21
    Gress  
       2 天前
    一个几 2.5M 的混淆 js 文件怎么让 AI 反混淆?
    Donaldo
        22
    Donaldo  
       2 天前
    @antipro #9 这个难度小很多
    killadm
        23
    killadm  
       2 天前 via Android
    @antipro 实际上 ida 反汇编出来的关键代码扔给 ai ,ai 就可以按你要求的需要输出,做个注册机出来。
    感觉大模型上下文足够大的时候完全可以扔给他整个反编译项目,让他重新写一个。
    Blanke
        24
    Blanke  
       2 天前
    那叫混淆?试试还原 ollvm vmp 的 js 代码?爬虫圈一直都有很多人尝试这块,复杂点的现阶段 ai 没啥用
    w5HRW8wDw5H6cS9Z
        25
    w5HRW8wDw5H6cS9Z  
       2 天前
    不到 200 行,直接[js 美化]( https://beautifier.io/)后再扔给 AI ,差不多就能猜出来了吧。
    gentlemanChen
        26
    gentlemanChen  
       2 天前 via Android
    用英语单词其实更好解释
    1. Minimize 减少体积,大家认为的混淆,其实是计算机不需要可读性,把变量名什么的缩短,去空格等操作
    2. Compress 压缩也是减少体积,但是可以基于上面再减少体积,比如 我们经常看到 gzip 后多少体积这样
    erikk0
        27
    erikk0  
       2 天前 via iPhone
    主要还是为了压缩体积,要加密的话起码得分配一个公钥
    ksc010
        28
    ksc010  
       2 天前
    @antipro 已经有 AI 工具将 python 编译文件还原代码的工具了
    当然之前也有非 AI 的工具
    iorilu
        29
    iorilu  
       2 天前
    @ksc010 啥工具呢, 关键看做到什么程度
    ShadowPower
        30
    ShadowPower  
       2 天前
    我一年前就用 GPT4 ,将汇编和 IDA Pro 反编译的 C++,还原出直接可用的源码,效果已经超出我的预料了
    kenberkeley
        31
    kenberkeley  
       1 天前 via iPhone
    用上 Closure Complier 会好很多。
    wolffcat
        32
    wolffcat  
       1 天前 via Android
    最多是辅助,不可能取代人,你搞一个 webpack 还原试试
    ksc010
        33
    ksc010  
       1 天前
    @iorilu pyLingual 据说 100% 没测试过
    lawyi
        34
    lawyi  
       1 天前
    很好的想法
    Chuckle
        35
    Chuckle  
       8 小时 37 分钟前
    @zizhu #17 这个文件也没混淆,只是压缩了变量、格式而已,扔进 vscode 里右键格式化比 ai 快多了
    roycestevie6761
        36
    roycestevie6761  
       6 小时 37 分钟前
    这不是 javascript code formatter 吗,跟混淆有什么关系。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1521 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:41 · PVG 00:41 · LAX 09:41 · JFK 12:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.