{
  "added_at": "2026-11-06",
  "additional_evidence_urls": [
    "https://github.com/de4dot/de4dot/tree/b7d5728fc0c82fb0ad758e3a4c0fbb70368a4853",
    "https://github.com/de4dot/de4dot/blob/b7d5728fc0c82fb0ad758e3a4c0fbb70368a4853/COPYING"
  ],
  "category": "dotnet",
  "description_en": "Open-source .NET deobfuscator and unpacker that tries to restore a packed and obfuscated assembly to almost its original form. Depending on the obfuscator, it decrypts strings, constants, methods, resources and embedded assemblies statically or dynamically, removes proxy methods, junk classes and tamper-detection and anti-debug code, devirtualizes virtualized code, deobfuscates control flow and renames symbols to readable names; it can also just detect which obfuscator was used. The README lists 19 supported obfuscators and packers, among them Dotfuscator, .NET Reactor, Eazfuscator.NET and SmartAssembly.",
  "description_zh": "开源的 .NET 反混淆与脱壳工具，尝试把加壳、混淆过的程序集恢复到接近原始的状态。视混淆器而定，它能以静态或动态方式解密字符串、常量、方法、资源和内嵌程序集，移除代理方法、垃圾类以及防篡改和反调试代码，还原被虚拟化的代码和被打乱的控制流，并把符号重命名为可读名称；也可以只检测程序集使用了哪种混淆器。README 列出 19 种受支持的混淆器和加壳工具，包括 Dotfuscator、.NET Reactor、Eazfuscator.NET 和 SmartAssembly。",
  "entry_url": "https://awesomerea.org/resources/de4dot/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/de4dot/",
  "evidence_url": "https://github.com/de4dot/de4dot/blob/b7d5728fc0c82fb0ad758e3a4c0fbb70368a4853/README.md",
  "group": "tools",
  "id": "de4dot",
  "json_url": "https://awesomerea.org/resources/de4dot/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/de4dot/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/de4dot/index.md",
  "name": "de4dot",
  "name_zh": "de4dot .NET 反混淆与脱壳工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "limits",
    "license"
  ],
  "requirements": [
    "The repository was archived on GitHub after its last commit on 2020-08-29 and has no GitHub releases; the README points to CI builds for binaries. Source builds use the .NET Framework or .NET Core solution and need dnlib, which de4dot uses to read and write assemblies.",
    "Original symbol names usually cannot be restored, and XAML is not renamed, so WPF or Silverlight assemblies may need --dont-rename. The README offers no support and says newer obfuscator versions may require updating de4dot yourself.",
    "For some obfuscators, and for dynamic string decryption, it loads the assembly and its dependencies into memory and executes them, so the README advises a safe sandbox for suspected malware.",
    "GPL-3.0 (COPYING); bundled libraries such as dnlib, SharpZipLib, QuickLZ and LZMA keep their own license files."
  ],
  "requirements_zh": [
    "该仓库在 2020-08-29 最后一次提交后已在 GitHub 上归档，没有 GitHub 发布版本；README 指引用户从 CI 构建获取二进制文件。从源码构建可使用 .NET Framework 或 .NET Core 解决方案，并需要 de4dot 用于读写程序集的 dnlib 库。",
    "原始符号名通常无法恢复，XAML 也不会被重命名，因此 WPF 或 Silverlight 程序集可能需要加 --dont-rename 参数。README 声明不提供支持，并表示遇到新版混淆器时可能需要自行更新 de4dot。",
    "处理部分混淆器以及进行动态字符串解密时，它会把程序集及其依赖加载到内存中执行，因此 README 建议在安全的沙箱环境中处理疑似恶意软件。",
    "采用 GPL-3.0 许可（COPYING）；dnlib、SharpZipLib、QuickLZ 和 LZMA 等随附库各有其许可证文件。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/de4dot/de4dot",
  "verification": "source-reviewed",
  "verified_at": "2026-11-05"
}
