用途:ilspy-cli 是用于 .NET 程序集反编译与分析的命令行工具,由 Rust 编写并调用 ILSpy(ICSharpCode.Decompiler),可将 .NET IL 字节码还原为 C# 源码。二进制名为 ilspy。
架构与要求:Rust CLI 通过 netcorehost FFI 在进程内加载 C# 桥接 DLL(IlSpyBridge.dll),数据以 JSON 经 FFI 交换;无服务或守护进程,每条命令加载程序集、执行后退出。需要 .NET 8 运行时;构建桥接 DLL 时另需 .NET 8 SDK。
主要能力:detect 可分类 .NET 与原生二进制并给出推荐工具;list types / list methods 可列举类型与方法并支持过滤;decompile 支持整程序集、单类型或单方法反编译(--method 需配合 --type);search 以正则搜索反编译后的 C# 源码;info 输出程序集信息;doctor 做健康检查。全局标志有 --json、--pretty、--compact、-v/--verbose。
典型用法:ilspy detect FILE;ilspy list types ASSEMBLY --filter Crypto;ilspy decompile ASSEMBLY --type MyNamespace.MyClass --method DoWork;ilspy search ASSEMBLY "password|secret"。大程序集建议先 info 看类型数量,再做针对性反编译,避免整体反编译。
适用场景:分析 .NET 程序集、排查加密与网络相关代码、与 ghidra-cli 配合处理混合代码库。
限制:仅面向 .NET,原生二进制需改用 ghidra;缺失 .NET 8 运行时时可能报 dotnet not found;桥接 DLL 缺失或加载失败需 cargo build、设置 ILSPY_BRIDGE_DIR 或运行 ilspy doctor 诊断。本工具不涉及收费信息,资料未提供价格与平台授权细节。