pioneerman2k1/AOL7-Retro-Server

GitHub: pioneerman2k1/AOL7-Retro-Server

一个用Python编写的服务器模拟器,让复古的AOL 7.0客户端通过逆向工程绕过安全验证,重现在线功能。

Stars: 0 | Forks: 0

# output one line. 基于 Python 的服务器模拟器,专为复古的 AOL 7.0 客户端(2001年)设计,支持私有的 P3 隧道协议并绕过其内部安全机制。 📖 关于项目 本项目旨在通过逆向工程服务器端基础设施,让 AOL 7.0 客户端重现生机。与通过 OSCAR 协议直接通信的标准 AIM 客户端不同,主要的 AOL 客户端使用了一种经过重度加密的专有封装协议,称为 P3。 多年来,AOL 7.0 客户端一直卡在“握手”或“验证密码”阶段,因为其特定的 P3 机制以及客户端内部的 RSA/RC4 安全引擎(sec.cct)完全没有文档记录。本项目成功实现了 P3 握手、带内复用,并积极绕过了客户端加密令牌验证,使客户端能够完全转换到在线状态。 本项目严格用于教育和历史保存目的。 🚀 当前状态 (v0.7.0 “安全机制已绕过”) 我们已成功逆向工程了整个连接和认证流程。服务器架构现在支持: ✅ 双服务器架构:登录服务器(端口 5190)与 BOS 服务器(端口 5194)之间的无缝切换。 ✅ 带内代理隧道:完美处理现有 P3 套接字上通道 0x11 握手的透明代理。 ✅ 序列号修补:实时重写 LCG 序列,防止客户端丢包。 ✅ 会话初始化与服务列表:成功响应 TYPE=0xA0 请求,初始化客户端的内部服务结构。 🔥 安全验证绕过:使用动态 DLL 注入器(inject.py / axxxxc.xxx)实时修补客户端内存(FUN_6xxxxxxx),强制其返回 true(XX 0X 00 00 00 XX),从而完全绕过 RSA/RC4 令牌完整性检查。 🛠 技术洞察 AOL 7.0 客户端严重依赖状态,并使用一种众所周知难以模拟的异步安全验证机制。 1. 带内切换 (通道 0x11) 在从认证阶段过渡到 BOS (基础 OSCAR 服务) 阶段时,客户端不会打开新的 TCP 套接字。相反,它通过通道 0x11 在现有隧道内复用一个新连接。我们的代理拦截这个带内挑战,提取新的动态会话种子,并将其传递给 BOS 服务器以保持 RC4 流的完美同步。 2. 绕过 sec.cct (令牌绕过) 客户端需要一个加密令牌才能继续。我们没有破解这个有 20 年历史的私钥,而是开发了一个基于 C 的存根 (axxxxc.xxx),并将其注入到 waol.exe 中。它会等待安全引擎加载,定位验证例程,并将硬编码的返回 true 汇编补丁直接写入内存 (RAM)。然后,服务器向客户端提供一个静态的备用令牌,客户端现在会无条件接受它。 💻 入门指南 前置条件 Python 3.x GCC (MinGW),用于编译 C 存根(已编译为 aolsec.cct) AOL 7.0 客户端(英文或德文版本),安装在虚拟机或复古机器上。 🗺 路线图 [x] 协议分析与 CRC 逆向 [x] 稳定的 P3 握手与身份镜像 [x] 状态机推进(认证 -> 在线) [x] 实现带内 BOS 切换(通道 0x11) [x] 绕过客户端安全与令牌验证 (sec.cct) [x] 实现发现响应与服务列表协商 [ ] 实现完整的 CSL (通用服务层) 处理 [ ] 解析封装在 P3 中的标准 OSCAR SNACs [ ] 基础注册 FDO (表单定义对象) [ ] 显示欢迎屏幕与好友列表 🤝 贡献 欢迎贡献!如果你对 P3 协议、FDO 字节码或封装在 P3 中的 OSCAR SNACs 有了解,请开启一个 issue 或提交一个 pull request。 🏆 鸣谢与致谢 社区:感谢逆向工程社区对基础 OSCAR 协议的文档化工作。 ⚠️ 免责声明 本项目是一项独立工作,与 AOL、Verizon、Yahoo 或其子公司无关、未获其认可、也无任何关联。所有商标属于其各自所有者。本软件“按原样”提供,仅用于存档和教育目的。
标签:AOL7客户端, P3隧道协议, Python编程, RSA/RC4, 云资产清单, 内存修补技术, 内核驱动, 加密算法实现, 动态DLL注入, 协议实现, 复古软件, 安全机制绕过, 客户端模拟, 教育性项目, 服务器模拟, 网络协议, 网络编程, 软件 preservation, 逆向工具, 逆向工程