WWW.YOUINFO.SITE
标签聚合 cracker

/tag/cracker

LinuxDo 最新话题 · 2026-05-17 10:12:57+08:00 · tech

用到的项目 G站/crazypeace/VLESS-cracker 1. 搭一个正常工作的 Caddy 提供HTTPS服务 这里以域名 域名点康姆 为例 DNS域名解析设置 略 Caddyfile 域名点康姆 { tls [email protected] encode gzip reverse_proxy https://遵守论坛准则 { header_up Host {upstream_hostport} } } 2. 搭建一个正常工作的 Reality服务端, 特别地, "偷"证书的域名是由第1步中Caddy提供HTTP服务 这里以域名 域名点康姆 为例 curl -LO G站/crazypeace/xray-vless-reality/raw/main/install.sh || wget -O ${_##*/} $_ && bash install.sh 4 8443 域名点康姆 3. 在Docker中搭一个 Reality服务端, 使用宿主机的 Reality服务端 同样的内核和配置文件 docker run -d \ --name reality-server \ --network bridge \ -v /usr/local/bin/xray:/usr/local/bin/xray:ro \ -v /usr/local/etc/xray/config.json:/usr/local/etc/xray/config.json:ro \ ghcr.io/xtls/xray-core:latest 查询 Docker 的IP地址 docker ps -q | xargs docker inspect -f '{{.Name}} -> {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 4. 运行 Reality客户端 对接Docker中的服务端 reality-client.json { "log": { "loglevel": "warning" }, "inbounds": [ { "port": 1080, "listen": "127.0.0.1", "protocol": "socks", "settings": { "auth": "noauth", "udp": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] } } ], "outbounds": [ { "protocol": "vless", "settings": { "vnext": [ { "address": "172.17.0.2", //***按实际情况修改 "port": 8443, "users": [ { "id": "2046c4dc-aed9-3e35-b047-e858a827181c", //***按实际情况修改 "flow": "xtls-rprx-vision", "encryption": "none" } ] } ] }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "serverName": "域名点康姆", "publicKey": "-WQvFYoH9cv3DDdEY5lPU1kj1DW7w9HgtApO7edwEmw", //***按实际情况修改 "shortId": "71790f91e17fa641", //***按实际情况修改 "spiderX": "/" } }, "tcpSettings": { "header": { "type": "none" } } } ] } 运行 Reality客户端 /usr/local/bin/xray run -config /root/VLESS-cracker/reality-client.json 5. 启动POC程序 ./vless-cracker-v1 \ -i docker0 \ -f "tcp port 8443 and host 172.17.0.1 and host 172.17.0.2" \ -P characteristic.txt \ -l info 6. 发起Reality数据包 用 curl 调用Reality客户端生成的 socks 代理. 这样 Reality客户端 会发起Reality数据包 curl -x socks://127.0.0.1:1080 google.com 7. 分析日志 将打印的日志, 复制粘贴到 vless-analyzer.html 这个日志分析工具保存在 G站/crazypeace/VLESS-cracker/blob/main/vless-analyzer.html 8. 探针文件说明 characteristic.txt 是原作者的7个探针 probes-1-10.txt probes-11-20.txt probes-21-30.txt 是 issue 29 的30个探针. 其中, 第5, 18, 30号探针情况特殊, 需要单独测试. 在 probes-*-*.txt 文件中, 对应的位置填充了数据占位. 也就是说, 当你使用 probes-1-10.txt probes-11-20.txt probes-21-30.txt 进行测试时, 并没有按issue29作者的构思正确地实施 第5, 18, 30号探针 probe-5-16385.txt 用原poc程序, 会因为探针体积大报错"probe file ‘probe-5-16385.txt’ line 1 is too long" 需要使用 probe-5-poc 程序. 在程序中调整了 #define MAX_PROBE_BYTES 32768 ./probe-5-poc \ -i docker0 \ -f "tcp port 8443 and host 172.17.0.1 and host 172.17.0.2" \ -P probe-5-16385.txt \ -l info 编译 probe-5-poc 的方法 gcc -O2 -o probe-5-poc probe-5-mimo.c -lpcap -lpthread probe-18.txt 需要使用 probe-18-poc 程序. 在程序中调整了逻辑顺序, 将探针添加到 “client-hello” 的前面, 再合并一起发送. ./probe-18-poc \ -i docker0 \ -f "tcp port 8443 and host 172.17.0.1 and host 172.17.0.2" \ -P probe-18.txt \ -l info 编译 probe-18-poc 的方法 gcc -O2 -o probe-18-poc probe-18-mimo.c -lpcap -lpthread probe-30.txt 单独测试即可 ./vless-cracker-v1 \ -i docker0 \ -f "tcp port 8443 and host 172.17.0.1 and host 172.17.0.2" \ -P probe-30.txt \ -l info 以上操作流程同时保存在 G站/crazypeace/VLESS-cracker/blob/main/如果Reality"偷"证书的域名是由Caddy提供HTTP服务-操作记录.md 9. 测试结果 原作者的7个探针 issue29 作者的30个探针 1-4, 6-10 11-17, 19-20 21-29 可以看到两轮测试的状态相同, 仅有字节数区别 以上测试日志保存在 G站/crazypeace/VLESS-cracker/blob/main/reality-caddy/characteristic.log G站/crazypeace/VLESS-cracker/blob/main/reality-caddy/probes-1-10.log G站/crazypeace/VLESS-cracker/blob/main/reality-caddy/probes-11-20.log G站/crazypeace/VLESS-cracker/blob/main/reality-caddy/probes-21-30.log 1 个帖子 - 1 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-05-13 16:15:38+08:00 · tech

装一个能操作你的VPS的agent 用你自己最熟悉的方法. 我这里以 hermes 为例, 有官方提供免费白嫖的 qwen-3.6-plus 搭一个能运行的Reality服务端 用你自己最熟悉的方法. 检查这个Reality服务端能正常工作 略 在 Docker 里面部署一个 宿主机上运行的Reality服务端的复制. 宿主机上运行的 Reality 服务端不要改动. Docker 里面这个Reality服务端不要监听宿主机的外网, 只能在宿主机 内部使用. 跟你的agent讲上面这些话即可. 根据Docker 里的Reality服务端的配置文件, 在宿主机运行一个Reality客户端. 检查这个Docker 里的Reality服务端能正常工作 跟你的agent讲上面这些话即可. 把 https://github.com/Anonymous376c1d0cf28/VLESS-cracker 拉到本地, 分析一下代码 跟你的agent讲上面这些话即可. 根据现在 宿主机运行Reality客户端 - Docker里运行Reality服务端 的这个环境, 验证这个POC 跟你的agent讲上面这些话即可. 你的agent应该给你一份 A/B 对比报告. 略 用这个页面的探针 进一步 测试 https://github.com/Anonymous376c1d0cf28/VLESS-cracker/issues/29 跟你的agent讲上面这些话即可. 你的agent应该向你回报类似这样的内容 • A轮完成: 29/29 • A超时: 1 • B轮完成: 27/29 • B超时: 2(未完成) A/B 差异分析 22个差异中,20个只是1-2字节响应大小波动(4152↔️4154),属于同一二进制的正常噪音。真正有意义的差异: #12 • 探针: #12 • A轮: TO(4130) • B轮: TO(4130) • 说明: 两轮都超时 — 稳定特征 #19 • 探针: #19 • A轮: FIN(4129) • B轮: FIN(4130) • 说明: 大小差1字节 #22 • 探针: #22 • A轮: FIN(4128) • B轮: FIN(4130) • 说明: 大小差2字节 #28 • 探针: #28 • A轮: ALERT(4153) • B轮: MISSING • 说明: B轮卡住未完成 #29 • 探针: #29 • A轮: ALERT(4153) • B轮: MISSING • 说明: B轮卡住未完成 如果你还有额外的VPS, 也可以从外部进行测试. 如下: 从你现在的VPS-A 给你的另一台VPS-B 添加密钥登录 略 SSH登录到 VPS-B; 用户 root; 我已经添加好了密钥登录 ; 做这样的测试: 把Reality客户端 和 POC测试程序复制到 VPS-B; 测试 现在这个宿主机的 Reality 服务端 跟你的agent讲上面这些话即可. 你的agent应该向你回报类似这样的内容 A/B 轮对比结果 Round 1(原始重放): 29/29 探针全部有结果 — 27 个 ALERT,2 个 TIMEOUT(#8, #12) Round 2(随机 session ID): 29/29 探针全部有结果 — 25 个 ALERT,3 个 FIN(#18, #19, #22),1 个 TIMEOUT(#12) #8 内外长度倒挂 • 探针: #8 内外长度倒挂 • Round 1: TIMEOUT (5182) • Round 2: ALERT (5204) • 差异: ✗ #18 CCS 在 ClientHello 前 • 探针: #18 CCS 在 ClientHello 前 • Round 1: ALERT (5205) • Round 2: FIN (5181) • 差异: ✗ #19 未定义 Alert 级别 • 探针: #19 未定义 Alert 级别 • Round 1: ALERT (5205) • Round 2: FIN (5181) • 差异: ✗ #22 超长 Alert 附加数据 • 探针: #22 超长 Alert 附加数据 • Round 1: ALERT (5205) • Round 2: FIN (5181) • 差异: ✗ 差分结论:4 个探针 A≠B 后记 我的水平有限, 只能在自然语言层面进行逻辑推演, 底层操作必须依赖agent和模型. 我用的模型不是SOTA, 智能水平有限, 不排除模型给我虚构了测试报告的可能性. 欢迎大家提出改进建议. 1 个帖子 - 1 位参与者 阅读完整话题