前几天我在 捡了一台 HR650X -- 附加折腾日记 里面提到, 我发现我的服务器的 BIOS 是个 Debug Build, 里面有一些嵌入的调试信息和 debug print. 由于最近逆向是我的老本行 (你别问为什么), 我就用我的神秘逆向工具平台把这个 BIOS 给统统逆了. 不过吧… 你要说有什么有趣的发现, 我还没那么多时间去看 (实在是太多了), 我也不好说到底逆向有多么成功, 但是 Anyway, 还是写一篇短文介绍一下.
This article discusses QLogic QL45xxx series 100GbE NICs, with capability to breakout into 2x50GbE or 4x25GbE. It covers the OEM parts, firmware and cross flashing between different models in the series.
Related parts (QLogic/Generic subsystem):
| Model | VenID | DevID | SubVen | SubDev |
|---|---|---|---|---|
| FastLinQ QL45211H 25GbE | 1077 | 1656 | 1077 | E4F6 |
| FastLinQ QL45212H 25GbE | 1077 | 1656 | 1077 | E4F7 |
| FastLinQ QL45262H 25GbE | 1077 | 1656 | 1077 | E4FB |
| FastLinQ QL45000 Series 25GbE | 1077 | 1656 | 1077 | E4F8 |
| FastLinQ QL45611H 100GbE | 1077 | 1644 | 1077 | E4F8 |
| FastLinQ QL45631H 100GbE | 1077 | 1644 | 1077 | 0025 |
| Cisco QL45631HOCU 100GbE QSFP28 OCP | 1077 | 1644 | 1137 | 024E |
| Oracle QL45651HLCU 100GbE | 1077 | 1644 | 1077 | 0048 |
| QLogic single port 100GbE PCIe NIC | 1077 | 1644 | 1137 | 0257 |
HPE OEM subsystem (SubVen 1590):
| Model | VenID | DevID | SubVen | SubDev |
|---|---|---|---|---|
| HPE Ethernet 4x25Gb 620QSFP28 | 1077 | 1656 | 1590 | 00CF |
| HPE Synergy 6810C 25/50Gb 2-port | 1077 | 1654 | 1590 | 0223 |
| FastLinQ QL45000 Series 100GbE | 1077 | 1644 | 1590 | 00F6 |
The article is split into two main parts: a story, and a guide. The story covers how I get familiar with the cross-flashing process, and the guide aims to provide a precise, step-by-step instruction for cross-flashing QLogic QL45xxx series NICs. The guide is based on the experience gained from the story, and is intended to help others who want to perform similar cross-flashing tasks.
DISCLAIMER: Cross flashing firmware can be risky (and involves soldering the EEPROM chip), and, if done incorrectly, can brick / permanently damage the device (especially when you’re not good at soldering). MAKE REALLY SURE THAT YOU UNDERSTAND THE RISKS, AND I AM NOT RESPONSIBLE FOR ANY DAMAGE THAT MAY OCCUR.
本篇探讨了如何结合 LLM 辅助的逆向工程技术, 在 Linux 上通过 GDB 调试微信, 从而在命令行中获取微信消息的内容.
这几天 OpenClaw 实在是有点火, 正好提到可以接入企业微信, 我就萌生了一个把机器人接入企业微信的想法 (其实科服的其他老人应该有这个想法很久了). 调研一番之后发现 sb 企业微信的机器人没办法获取群聊的消息内容, 我于是整了点花活. 一部分的前置工作在 在 Linux 上通过 GDB 在命令行中获取微信消息 这篇文章里, 这篇文章主要是软件工程系统的需求构思和设计.
这学期选了数据库系统概论, 大作业是写一个不是很简单的数据库系统. 学期初的时候别人都警告我这门课的大作业很硬, 要至少留出完整的 2 周时间写. 于是我当时下定决心要大战数据库. 结果过了两个星期, 我发现这学期我比我想象的要忙得多, 完全没时间写… 于是我萌生了用 Agent 写大作业的想法. 我用了大概 3~4 天的时间让 Agent 把大作业写完了, 过程不算特别顺利, 但是总体上还算成功. 这篇文章来记录一下怎么回事.
TL, DR: Web browsers send Sec-Fetch-Mode: navigate header when accessing a page, while curl does not. With STATIC_FILES bindings in Cloudflare Workers:
1 | "assets": { "directory": "./public/", "not_found_handling": "404-page", "binding": "STATIC_FILES" } |
Cloudflare will directly serve static files with Sec-Fetch-Mode: navigate present and return 404 if file not found, without invoking the Worker script. Without this header, Cloudflare will invoke the Worker script, which may return 200.
The solution: add "run_worker_first": ["/Ajax.gpg*"] to ask Cloudflare to always invoke the Worker script first for matching paths.
最近课题组里面要用 QCAT 分析一些从手机里面采集出来的高通基带的数据. 这个 “重任” (其实当时我们并不觉得这是什么重任, 毕竟就是个用 QCAT 导出数据的活) 落到了我头上. 于是我用一个小数据样本开始折腾 QCAT 导出. 在小样本上, 导出还算顺利; 但最终当我们需要在所有 (~300GB) 的 log 中导出数据的时候, 我们遇到了显著的问题, 无法一次性打开这些文件 (QCAT 会慢的要死, 打开所有的文件可能需要半个小时? 但是谁知道 QCAT 到底有没有动, 是不是直接就死掉了), 需要一个一个完成. 既然如此, 写脚本就是必要的了. 于是我和 QCAT 的脚本斗争了两三天, 气得要死; 在和学长讲应该如何使用的时候, 学长表示,
你这应该记录下来, 不然过个几个月就又没有人知道该咋整了.
故作此.
我们用到过很多种 VPN (和混淆) 的手段. WireGuard, Tinc, OpenVPN, SSLVPN, VMess, VLESS, Xray… 它们各自有各自的优势, 但又或多或少都有一些问题. 为了一些独特 (感觉并不独特) 的需求和一些人炫技的小心思 (反正不是我就对了), 我们提出了 QUICAP - 一个基于 QUIC 隧道的, 采用 PKI 系统鉴权的, 可以方便地进行修改和混淆的, 可以同时启用或选用二层隧道 / 三层隧道或应用层代理的, 能够自动优化路由以应对拓扑变更的网状 VPN 方案.
We have utilized a variety of VPN and obfuscation solutions, including WireGuard, Tinc, OpenVPN, SSLVPN, VMess, VLESS, and Xray. Each offers distinct advantages but also presents certain limitations. To address specific requirements and enhance flexibility, we introduce QUICAP—a mesh VPN solution built on QUIC tunneling, featuring PKI-based authentication. QUICAP is designed for easy modification and obfuscation, supports both Layer 2 and Layer 3 tunneling as well as application-layer proxying, and can automatically optimize routing in response to network topology changes.
前两天试图上线机房里面的两台 R630 服务器, 惊奇地发现这两台的 License 都是 Express, 没有 Remote Console. 那么怎么才能搞到 Enterprise License 呢? 官方已经停止支持了, 买不到了. 打开淘宝, 上面有卖的, 但是总觉得买了会被坑. 遂上网查了查, 得到了一些方法. (侵删)
Docker, 一个常见的容器化手段. 之前, 我很想把一切服务都 Dockerize, 这样方便维护. 不过当时学长有过一些吐槽, “我遇到的 docker 的问题比 lxc 多多了,只是现在坑早就有人给你填上了”. 我当时是不信的, 后来不得不信, 因为我自己也遇到了一坨 Docker 有关的坑. 最近, 又有 小 朋友被 Docker 坑了, 遂决定写一篇博客, 讲一讲使用 Docker 需要注意什么.