前言
最近刚好需要用Xray做插件扫描,结果发现自己高级版过期了,然后在网上眼花缭乱找了一圈,发现在MacOS上面存在不少问题,同时也很担心这些盗版来源可能加入后门,所以自己对这块进行了一些调研和分析工作并分享出来。当然,如果在自己能力范围能付费,建议还是支持正版,安全可靠。
正版 Xray
官方下载地址:
https://github.com/chaitin/xray/releases
通过这个网址我们可以下载到官方原版的可执行程序,如我自己需要的xray_darwin_amd64。
wget https://github.com/chaitin/xray/releases/download/1.9.11/xray_darwin_amd64.zip
下载好之后放一边,后面我们需要拿原版程序来BinDiff检查Cracked程序是否存在可疑后门。
第三方 Xray
项目地址:
https://github.com/NHPT/Xray_Cracked
我观察了他的一些提交记录和Github情况,说实话我是不敢直接用的,平时着急的话也是放在容器沙箱运行(真正解决黑客工具后门的问题,但也有弊端,以后有机会也会拿出来说一下自己的落地方案和实际遇到的问题)。
不过我看到作者 README 给出了Crack方案,原理比较简单,那么只需要对比程序的变化指令是否如作者所说即可知道后门是否存在了。
BinDiff
wget https://github.com/NHPT/Xray_Cracked/releases/download/v1.9.11/xray_darwin_amd64
chmod 755 xray_darwin_amd64
# 程序用upx压缩过,需要解压
upx -d xray_darwin_amd64
利用 Hex Friend 或者其他工具都是OK的
发现确实如作者所说,如果有license找到关键的验证破解其实很简单,不需要逆向算法写注册机的话,Patch是最简单的方式了。
1.addr: 0xf92a27 8C -> 87
2.addr: 0x1041d05 85 -> 84
直接载入Ghidra、IDA
Patch1: JL 改成 JL条件取反,但是 Ghidra 这里没反编译出来,这应该是没识别为指令的问题。
Patch 2: JNZ -> JZ 也是改了跳转的条件
可以看到这样子的操作并不会产生任何的后门行为。
思维发散
其他系统版本对应的可执行程序你也可以这样子分析,甚至相同指令集的情况可以写一个patch的工具,这里就不继续展开了,自由发挥吧!
关于使用方面,记得下载lic放在xray的相同目录下,要不然是无法运行的。
文末结语
公众号的文章还是一如既往的简单,但是长期关注公众号的小伙伴可能会发现我发的东西原创性很高,至于为什么,原因很简单因为我前期遇到问题的时候已经在网上搜索一遍(包括国内外,付费资源除外)没有找到满意的解决方案才去自己动手解决的。
因为安全其实有很多要学的东西,更多艰深的知识需要很多时间去啃(专注、自律、习惯,最后才是热爱),然而随着年龄的增长,学习能力的速降,让我再也不是那个曾经什么都要抓的全栈少年,我推崇的思想就是简单的东西,够用就好,珍惜时间,热爱生活,技术只是生活的一部分而已。
原文始发于微信公众号(一个不正经的黑客):[必学] 轻松一招下载纯净无后门最新版Xray
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论