无法反编译.NET构建的可执行文件

时间:2012-01-31 10:12:22

标签: c# .net

我有一个需要.NET Framework运行的可执行文件;我使用了反射器和一些流行的反编译器,但无法读取可执行文件;

这是使用Resource Hacker获得的清单;

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

有人可以告诉我用于反编译此程序集或可执行文件的适当工具吗?它需要.NET才能运行。谢谢。 我将它用于教育目的。

3 个答案:

答案 0 :(得分:10)

听起来可执行文件可能已经被反编译(保护)了.NET反分析/反射工具,如Reflector,ILSpy,dotPeek等。

有多种工具可以执行此类保护,包括Babel.NETDotfuscator

您可以尝试de4dot,它可以“反混淆”使用多种工具保护的.NET程序集,包括Crypto Obfuscator,Dotfuscator,NET Reactor和SmartAssembly。

答案 1 :(得分:3)

这是一个clickonce应用程序。

首先,您需要提取内容(如果'.app'是CAB或ZIP,请不要回忆)。 然后使用Reflector或您最喜欢的反编译器。

答案 2 :(得分:-1)

如果Reflector无法对其进行反编译,则必须使用代码混淆工具(例如SmartAssemblyDotfuscator)对其进行模糊处理。

在这种情况下,无法反编译应用程序。