托管代码逆向(.NET / Java / 脚本)
SkillWeb & browsing托管代码逆向网关。编排:识别运行时 → 反编译 → 去混淆 → 恶意场景转 [[re-malware]]。 子技能:[[re-dotnet]] [[re-java]] [[re-script-deob]] [[re-wasm]] [[re-ai-triage]] → [[re-ai-model]] [[re-blockchain]] [[re-python]]、[[re-browser-ext]]、[[re-electron]]、[[re-javacard]]。 触发词:.NET、dnSpy、ILSpy、Java、jar、字节码、PowerShell混淆、VBA宏、JS去混淆、托管代码、managed code。
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 托管代码逆向(.NET / Java / 脚本) skill
What this skill tells your AI
The instructions your AI receives, as published by dslsdzc/rev-skills in .claude/skills/re-managed/SKILL.md and read by ahel’s review.
完整工作流
- 识别运行时(不先判型就反编译是最大浪费):
- PE 文件:
file输出含 "Mono/.Net assembly"、PE 可选头数据目录第 15 项(COM Descriptor / CLI header)非零、导入mscoree.dll→ .NET 程序集 → [[re-dotnet]](能力:bytecode-parser) - jar/war/class:
unzip -p app.jar META-INF/MANIFEST.MF见Main-Class、class 文件魔数CAFEBABE→ Java 字节码 → [[re-java]](能力:bytecode-parser) - 脚本/宏:shebang(
#!/usr/bin/pwsh)、-EncodedCommand/IEX(PowerShell)、OLE 文档(file显示 "Composite Document")内嵌 VBA、eval(/fromCharCode(JavaScript)→ [[re-script-deob]](能力:deobfuscation) - 拿不准先 [[re-triage]](能力:
triage) 初勘(file/hash/熵/strings),不要凭扩展名猜
- PE 文件:
- 反编译:按识别结果走 [[re-dotnet]](能力:
bytecode-parser) / [[re-java]](能力:bytecode-parser) / [[re-script-deob]](能力:deobfuscation),先把目标逻辑还原成可读代码 - 去混淆:各原子技能内含对应方案——de4dot(ConfuserEx/SmartAssembly)、混淆识别 + 字符串解密(ProGuard/Allatori)、逐层解码(脚本/宏);混杂原生组件(native stub / JNI)的反混淆转 [[re-deobfuscate]](能力:
deobfuscation) - 恶意场景(钓鱼宏、下载器脚本、恶意 .NET/Java 样本):转 [[re-malware]](能力:
malware-behavior、document-malware、evasion-analysis、key-extraction、threat-intel) 网关——默认沙箱 → 行为分析 → C2/协议 → IOC/报告;反编译还原结果作为静态证据回传给 [[re-malware]](能力:malware-behavior、document-malware、evasion-analysis、key-extraction、threat-intel) 使用
何时用哪个原子技能(选择树)
按运行时分支:
- PE 且确认 .NET 元数据(CLI header / mscoree) → [[re-dotnet]](能力:
bytecode-parser;dnSpy/ILSpy 反编译、de4dot 去混淆) - jar / war / class(Java 字节码) → [[re-java]](能力:
bytecode-parser;CFR/JD-GUI、javap、加固脱壳) - .ps1 / .docm / .xlsm / .js / .jse / .hta(脚本或宏) → [[re-script-deob]](能力:
deobfuscation;逐层解码,动态执行默认沙箱) - Python 打包样本(.exe 含 PyInstaller/PyArmor 特征 / .pyc / python 打包) → [[re-python]](能力:
bytecode-parser;pyinstxtractor 解包、PyArmor-Unpacker、pyc 反编译;纯脚本混淆转 [[re-script-deob]](能力:deobfuscation)) - .wasm / WebAssembly 模块(网页/Node 侧载荷) → [[re-wasm]](能力:
web-assembly;WABT 解析 section、wasm-decompile 反编译、DevTools/wasmtime 动态) - AI 模型相关 → [[re-ai-triage]](能力:
triage) 分流:模型文件(.onnx/.safetensors/.pt)→ [[re-ai-model]](能力:ai-model-analysis;格式识别、权重提取、文件级水印;未知 pkl 默认隔离);仅 API → [[re-ai-attack]](能力:ai-model-analysis;行为层评估,guard 授权前置) - EVM 合约字节码(.bin / hex) → [[re-blockchain]](能力:
blockchain-analysis;ABI 恢复、panoramix 反编译、漏洞分析) - 浏览器扩展(crx/xpi/zip 扩展文件) → [[re-browser-ext]](能力:
browser-extension;权限审计/恶意行为/混淆还原) - Electron 打包应用(resources/app.asar) → [[re-electron]](能力:
electron-analysis;asar 解包、V8 字节码边界、CDP 动态调试) - Java Card / SIM(CAP 文件) → [[re-javacard]](能力:
bytecode-parser;12 组件解析、process(APDU) 分派还原) - Android DEX → 不是本网关——转 [[re-mobile]](能力:
dex-parser、jni-analysis、frida-instrumentation、mobile-forensics;[[re-apk]](能力:dex-parser)),其中含 Java 原生逻辑再回 [[re-java]](能力:bytecode-parser) - 仅脚本调用 native 下载的 PE → 动态侧跟 [[re-malware]](能力:
malware-behavior、document-malware、evasion-analysis、key-extraction、threat-intel),静态侧回 [[re-binary-core]](能力:decompilation、debugging、memory-dump、elf-parser、pe-parser、macho-parser)
跨域联合
- .NET/Java 恶意样本:[[re-malware]] → 本网关(dotnet / java 反编译还原)→ 回 [[re-malware]](行为验证 + IOC)
- 恶意脚本/宏:[[re-malware]] → [[re-sandbox]](动态)→ [[re-script-deob]](静态还原载荷)
- 底座 [[re-binary-core]]:初勘([[re-triage]])、混合程序原生部分(格式解析 / [[re-ghidra]] 反编译)、混淆深层还原([[re-deobfuscate]])
- 本网关被 [[re-analyze]] 的 triage「.NET/Java/脚本样本」路径调用
- "代码在数据里"分支:AI 模型([[re-ai-triage]] → [[re-ai-model]] 文件层 / [[re-ai-attack]] 行为层;内嵌代码转 [[re-binary-core]])、EVM 合约字节码([[re-blockchain]],漏洞侧衔接 [[re-vuln]])
常见坑与陷阱
- 凭扩展名/导入猜运行时:PE 导入
mscoree.dll未必是纯托管(混合模式 / 混淆器伪装),Jar 可能内嵌 native 库——先按工作流第 1 步确认(CLI header / manifest / 魔数)再选技能 - .NET 自包含单文件 / Java fat jar 不解包直接分析:单文件把 IL + 运行库捆进 native host,fat jar 的类在
BOOT-INF/lib——先解包([[re-dotnet]] / [[re-java]] 有对应步骤),否则反编译产物空/乱 - 混淆层数估计不足:还原一层发现还有一层是常态——逐层验证,每层存档,别试图一步到位
- 动态执行不上沙箱:脚本/宏/VBA 可能下载器、可能持久化——一切动态执行默认沙箱([[re-analyze/platform-tips]] 最高原则),静态解码可免
- 加固与混淆混淆:Java 加固(Virbox 等)是"壳",de4dot 管不了——先判"壳还是混淆",壳走 [[re-anti-analysis]] 思路(先脱后反)
- Bytenode 字节码绑定 ABI:现象——宿主 Node 加载 JSC 失败;原因——Bytenode 字节码绑定特定 V8/Node ABI;对策——用样本自带 Electron 的 RunAsNode 模式(
ELECTRON_RUN_AS_NODE=1)执行,不启动业务 GUI - 注册面 ≠ 执行面:现象——枚举 handler 无法证明数据流;原因——注册存在不等于路径执行;对策——先枚举 IPC/preload 注册面,再对高风险 handler 用 mock fixture 调用并捕获副作用(URL 接收/下载/解压/spawn 参数),形成证据闭环
- 更新链五元组取证:现象——更新流程证据不全;原因——链路节点分散;对策——按
source URL → downloader → archive path → extractor → executable每个节点保存哈希与时间戳 - 签名状态分四态:现象——双签名 DLL 判断含糊;原因——各签名状态可能不同;对策——
signtool verify /pa /all /v逐签名检查(存在性/有效期/时间戳/信任验证分开报告) - 静态能力 ≠ 已执行:现象——native 字符串/导入显示高权限能力;原因——导入是线索不是证据;对策——能力描述结合 xref/调用链,报告分栏「条件性能力」与「已观察行为」 (来源:reverse-skill field-journal,MIT)
Signals
- GitHub stars
- 57
- Forks
- 8
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
re-managed- Source
- github.com/dslsdzc/rev-skills