嘿,我在学习 c# 时已经在 .net 中进行了一些反编译,所以它有助于我查看代码,因为它有很大帮助。但最近我遇到了一些我知道是 .net 但在反射器中显示为非 .net 程序集的程序。这是名为:Proxy Multiply 的程序示例。
我不想做任何非法的事情或其他事情。只是想学习。我试图用谷歌搜索,但我无法取得任何好的结果。谢谢这里是图片的链接。
嘿,我在学习 c# 时已经在 .net 中进行了一些反编译,所以它有助于我查看代码,因为它有很大帮助。但最近我遇到了一些我知道是 .net 但在反射器中显示为非 .net 程序集的程序。这是名为:Proxy Multiply 的程序示例。
我不想做任何非法的事情或其他事情。只是想学习。我试图用谷歌搜索,但我无法取得任何好的结果。谢谢这里是图片的链接。
我之前对 dot net reflector 也有同样的问题,尝试JetBrains dotPeek 1.0 版反编译(此应用程序将显示混淆的代码)
- 将 .NET 1.0-4.5 程序集反编译为 C#
- 支持 .dll、.exe、.zip、.vsix、.nupkg 和 .winmd 文件
- 快速跳转到类型、程序集、符号或类型成员
- 轻松导航到符号声明,
- 实现、派生符号和基本符号等
- 准确搜索符号用法
- 具有搜索结果的高级呈现
- 继承链概述
- 支持从源服务器下载代码
- 语法高亮
- 完整的键盘支持
- dotPeek 是免费的!
有许多 .Net 代码保护替代方案,即obfuscate
IL 代码,因此它们不会太多暴露于 IL 反汇编程序应用程序。
许多保护程序修改了 Exe(PE Header info),.Net exe 包含一些额外的元数据,有助于反汇编程序识别它。
下载这个小应用程序,它可能会告诉你更多关于 exe 的信息。
PEiD 是一个直观的应用程序,它依靠其用户友好的界面来检测 PE 可执行文件中的加壳程序、加密程序和编译器——它的检测率高于其他类似工具,因为该应用程序在 PE 文件中打包了 600 多个不同的签名。
PEiD 带有三种不同的扫描方法,每种方法都适用于不同的目的。Normal 会在其入口点扫描用户指定的 PE 文件以查找其所有包含的签名。所谓的深度模式具有更高的检测率,因为它扫描文件的入口点包含部分,而硬核模式扫描整个文件以查找所有记录的签名。
.Net Reactor
或Themida
仅仅因为它是 .NET 并不意味着您可以像那样反编译它。他们可能使用了ILMerge。这并不是说这是不可能的,但它需要更多的工作。