Initial import of IC.Rebuild
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 原版 DLL 参考核对
|
||||
|
||||
日期:2026-10-11。用户提供 `IC/I-Ching-GL.dll`,原件保留未修改。
|
||||
|
||||
## 文件与依赖
|
||||
|
||||
- 大小:5,811,712 字节。
|
||||
- 程序集:`I-Ching-GL, Version=0.1.6.6`。
|
||||
- SHA256:`DA648072A2CE0856B4884A332EFAC063FC8F0E03236D7D4DBC9334BF0B2A2AA8`。
|
||||
- 引用:System.Runtime 10.0.0.0、Dalamud 15.0.3.6、FFXIVClientStructs 7.56.2.9458、ECommons 3.2.1.17。
|
||||
- 本机重建工程所用 FFXIVClientStructs 程序集为 7.56.2.9136。两者构建版本不同,不能直接将 DLL 的结构假设视为当前运行库已验证布局。
|
||||
|
||||
使用本机 Mono.Cecil 静态读取文件,没有通过 Assembly.Load 加载原版,没有执行模块初始化器或原版插件逻辑。
|
||||
|
||||
## 可核实的接口
|
||||
|
||||
| 对应功能 | DLL 元数据 | 与现有资料的关系 |
|
||||
| --- | --- | --- |
|
||||
| 14 目标半径 | ActorRadiusDetour / 委托:float(ulong, byte) | 与 IC/CombatHook.cs 的签名一致;不能据签名确定过滤对象或加值方式 |
|
||||
| 9 高度偏移 | YMove 的普通、战斗路径均为 IntPtr(UIntPtr, IntPtr, uint) | 与现有两条移动路径的参数形状一致;不能据此确认字节偏移或是否恢复原值 |
|
||||
| 16 突进无位移 | 旧入口委托:ulong(ulong, byte, ulong, float, IntPtr) | 与旧 .cs 一致;重建工程已基于当前原生入口及用户测试改用共用六参数入口,不退回旧入口 |
|
||||
| 8 状态处理 | StatusCheckDetour(StatusManager*);GL 包处理为 void(uint, StatusEffectList*, bool, bool) | GL 委托比非 GL 多一个布尔参数;与旧 .cs 一致,仍未提供可读取的原生签名值或可靠方法体 |
|
||||
|
||||
## 方法体读取限制
|
||||
|
||||
本次选择目标半径、YMove、位移屏蔽、状态处理及状态结构中的 21 个方法:18 个读取方法体抛错,3 个得到明显可疑的 IL/长度。例:YMove.SafeAreaCheckPlus 被读为仅 3 字节,起始为缺少入栈操作的 ldelem.i1;StatusCheck.Dispose 的声明代码长度被读为 1,038,335,658 字节。模块初始化器含混淆标识调用。
|
||||
|
||||
这些现象与方法体保护或混淆相符,但尚未确定具体保护方案,亦不能仅由此排除文件损坏。不能将这些结果当作已成功反编译出的逻辑。尤其不能声称该 DLL 已证明 14 的真实半径公式、16461 的落点计算,或 9 的 UI 应用方式。
|
||||
|
||||
## 状态结构仍存在的矛盾
|
||||
|
||||
元数据再次确认旧 .cs 的声明:StatusEffectList.EntryData 在偏移 20,固定缓冲区为 240 字节;StatusEffectListEntry 声明 Size=8、Pack=1,但 SourceID 为偏移 8 的 uint,字段末端达到 12。这属于声明大小和字段范围不一致的证据,不能当作游戏网络布局。
|
||||
|
||||
旧 .cs 另外创建 30 项 Span;这个数量来自源码,DLL 的 get_Entries 方法体未成功读取,不能宣称本次已从 DLL 核实。仍须取得当前原生包长度和布局依据后才启用 8。
|
||||
|
||||
## 对重建工程的处理
|
||||
|
||||
将此文件登记为额外参考,用于后续接口与依赖交叉核对。本次没有基于不可读取的方法体修改运行逻辑,没有替换已部署 0.1.5。14 的当前修正继续等待 16461 游戏内复测;9 保持用户明确要求的“生效/回到 0”交互。
|
||||
|
||||
结构化证据保存在 `2026-10-11-original-dll-metadata.json`。可复现命令(工作区根目录):
|
||||
|
||||
```powershell
|
||||
./IC.Rebuild/Tools/ManagedAudit/Audit.ps1 -AssemblyPath './IC/I-Ching-GL.dll' -OutputPath './IC.Rebuild/diagnostics/2026-10-11-original-dll-metadata.json'
|
||||
```
|
||||
Reference in New Issue
Block a user