TH1/Tools/ObfuscatedExceptionDecoder_README.md
2026-05-18 16:35:31 +08:00

52 lines
1.7 KiB
Markdown

# OPS Exception Decoder
外部异常反混淆工具,直接放在 `Tools` 目录使用,不需要放进 Unity。
## 图形界面
双击:
```bat
Tools\ObfuscatedExceptionDecoder.bat
```
工具会自动读取同目录的 `OPSFile.txt`。把后台异常消息或堆栈贴到左侧,点 `Convert`,右侧会输出反混淆结果和命中摘要。
默认模式会保留混淆名并在后面加注释,例如:
```text
fu [Type: Logic.InputLogic]: 房主广播失败
blu [Method: Logic.PlayerLogic.StartNextTurn(RuntimeData.MapData,RuntimeData.PlayerData)]: 发送给房主失败
```
如果想得到更干净的文本,可以把模式切到 `Replace`
## 命令行
推荐给 Codex/命令行排查用的快捷入口:
```powershell
pwsh -NoProfile -ExecutionPolicy Bypass -File Tools\DecodeOnlineError.ps1 -Text "异常消息 fu: 房主广播失败"
```
中文日志建议用 `-Text``-InputPath`,可以避开不同终端之间的管道编码问题。
原始工具入口:
```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Tools\ObfuscatedExceptionDecoder.ps1 -NoGui -Text "异常消息 fu: 房主广播失败"
```
批量转换文件:
```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Tools\ObfuscatedExceptionDecoder.ps1 -NoGui -InputPath crash.txt -OutputPath decoded_crash.txt
```
常用参数:
- `-Mode Annotate`:保留混淆名并注释原名,默认。
- `-Mode Replace`:直接替换成原名。
- `-IncludeOneCharNames` / `-AggressiveShortNames`:更激进地转换极短名称;可能误伤 `to` / `in` 这类普通英文,默认关闭。
- `-MappingPath Tools\OPSFile.txt`:指定其他映射文件。