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

231 天前
 zizhu

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

6093 次点击
所在节点    程序员
38 条回复
Gress
231 天前
一个几 2.5M 的混淆 js 文件怎么让 AI 反混淆?
Donaldo
231 天前
@antipro #9 这个难度小很多
killadm
231 天前
@antipro 实际上 ida 反汇编出来的关键代码扔给 ai ,ai 就可以按你要求的需要输出,做个注册机出来。
感觉大模型上下文足够大的时候完全可以扔给他整个反编译项目,让他重新写一个。
Blanke
231 天前
那叫混淆?试试还原 ollvm vmp 的 js 代码?爬虫圈一直都有很多人尝试这块,复杂点的现阶段 ai 没啥用
w5HRW8wDw5H6cS9Z
231 天前
不到 200 行,直接[js 美化]( https://beautifier.io/)后再扔给 AI ,差不多就能猜出来了吧。
gentlemanChen
231 天前
用英语单词其实更好解释
1. Minimize 减少体积,大家认为的混淆,其实是计算机不需要可读性,把变量名什么的缩短,去空格等操作
2. Compress 压缩也是减少体积,但是可以基于上面再减少体积,比如 我们经常看到 gzip 后多少体积这样
erikk0
231 天前
主要还是为了压缩体积,要加密的话起码得分配一个公钥
ksc010
231 天前
@antipro 已经有 AI 工具将 python 编译文件还原代码的工具了
当然之前也有非 AI 的工具
iorilu
231 天前
@ksc010 啥工具呢, 关键看做到什么程度
ShadowPower
231 天前
我一年前就用 GPT4 ,将汇编和 IDA Pro 反编译的 C++,还原出直接可用的源码,效果已经超出我的预料了
kenberkeley
230 天前
用上 Closure Complier 会好很多。
wolffcat
230 天前
最多是辅助,不可能取代人,你搞一个 webpack 还原试试
ksc010
230 天前
@iorilu pyLingual 据说 100% 没测试过
lawyi
230 天前
很好的想法
Chuckle
229 天前
@zizhu #17 这个文件也没混淆,只是压缩了变量、格式而已,扔进 vscode 里右键格式化比 ai 快多了
roycestevie6761
229 天前
这不是 javascript code formatter 吗,跟混淆有什么关系。。。。
zizhu
228 天前
@Chuckle 要的不是格式化,要的是变量重命名,把 a 、b 、c 这样的变量名还原成有准确异意义的词组,这个只能 AI 做
Chuckle
228 天前
@zizhu #37 工程化的产物和源码是两套东西,webpack 构建 20 分钟,一半都是各种公共库和框架,ai 把变量名弄好点没意义,逆向还得靠一步步调试和经验,没有 ai 之前压缩混淆更多也只是为了前端性能指标。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1116708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX