242. 逆向分析 Claude Desktop,寻找支持 Linux 的途径
他们做了什么
一位为 Claude Desktop 维护 Linux 重打包脚本的作者,从 Windows 安装包中提取出应用压缩过的 JavaScript,用 prettier 格式化。然后 Claude 通读了大约 17 万行代码,重命名了混淆过的符号,并记录了架构。一位贡献者找到了 x64 虚拟机镜像的地址,作者下载并检查了那个镜像。
结果如何
它发现了一个仅限 macOS 的 Swift 插件在驱动一个 Linux 虚拟机,虚拟机内部用了 bubblewrap 和 seccomp。它列出了三条支持 Linux 的路径:给插件打桩、加入 bubblewrap,或者运行 Firecracker。不过什么都还没实现。
需要知道
压缩后的符号名每次发布都会变,所以要重新追踪代码模式,而不是在这篇文章里按名字搜索(分析基于 1.1.799 版本)。
你可以这样尝试
通过检查 [应用或程序] 压缩或编译后的代码来逆向分析它,弄清楚某个功能是如何实现的、或者为什么它只支持某个平台,然后把你的发现写下来,包括涉及的各个架构层次。给出一份清晰的技术总结和一条可行的改进路径,但不要修改或再分发原始软件。
评论
0分享你对这一章的想法