C# 用于微软 .NET 的开发。我们可以使用尝试使用 IDA 对其反汇编,然而你只能收到一个无情的 Sorry, the current file is not decompilable。C# 反编译需要一个专门工具。

Note

Unity 同样使用 C#。对于使用 Mono 作为脚本后端 (Scripting Backend) 的 Unity 游戏,可以使用下面介绍的 C# 反编译工具对 Assembly-CSharp.dll 反编译,即可得到源码。

dnSpy

dnSpy 是一个调试器和 .NET 程序集编辑器。它提供了和 Visual Studio 类似的界面,并且有官方中文!

我们关心的特性有这几个:

  • 调试 .NET Framework、.NET 和 Unity 游戏程序集,无需源代码
  • 所有元数据都可以编辑
  • 使用 IntelliSense 编辑 C# 或 Visual Basic 中的方法和类,无需源代码
  • 在 C# 或 Visual Basic 中添加新的方法、类或成员
Note

所以没有用反逆向机制的 C# 或 .NET 程序是很容易被破解的……

原始的 dnSpy 已经在 2020 年归档,现在仍在活跃的是分支版本 dnSpyEx

dnSpy 采用和 VS 类似的文件组织架构,导入的文件显示在 “程序集资源管理器” 中

dnSpy截图

一个文件被划分为以下部分(从上到下):

  • PE
  • 类型引用
  • 引用
  • 类 ({})

我们主要关注的是 {} 下的那些方法。

如果你需要全局查找字符串,请使用 “搜索程序集” 功能,并选择搜索 “数字 / 字符串”。它可以在工具栏最右端、“编辑” 菜单中找到,或者按快捷键 Ctrl + Shift + K


©2025-Present Watermelonabc | 萌 ICP 备 20251229 号

Powered by Hexo & Stellar 1.33.1 & Vercel & HUAWEI Cloud
您的访问数据将由 Vercel 和自托管的 Umami 进行隐私优先分析,以优化未来的访问体验

本博客总访问量:capoo-2

| 开往-友链接力 | 异次元之旅

中文独立博客列表 | 博客录 随机博客

AI 参与指数(IIIA)2 级

猫猫🐱 发表了 61 篇文章 · 总计 255.8k 字