温馨提示:本文翻译自stackoverflow.com,查看原文请点击:obfuscation - Can .Net Core 3 self-contained single executable be decompiled?
.net-core obfuscation decompiling ilspy

obfuscation - .Net Core 3自包含的单个可执行文件可以反编译吗?

发布于 2020-04-12 11:29:49

我尝试使用Dotpeek和ILSpy.Net进行反编译(我自己的代码),但失败了。

我是否需要对.Net Core 3 自包含的单个可执行文件的分布式二进制文件进行特殊的混淆

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <PublishTrimmed>true</PublishTrimmed>
    <PublishReadyToRun>true</PublishReadyToRun>
    <PublishSingleFile>true</PublishSingleFile>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>
</Project>

查看更多

提问者
Abhijeet
被浏览
307
Eren Ersönmez 2020-02-27 18:54

单文件exe实际上是非托管包装,ILSpy不支持对此进行反编译。但是,当您运行exe时,它会将其内容解包到temp文件夹中。因此,您可以在那里找到托管的dll并使用ILSpy对其进行反编译。

要查找临时文件夹,可以使用任何工具来显示进程加载的程序集的位置。SysInternals Process Monitor(procmon)是一个不错的选择。

您可以设置procmon来按您的exe名称进行过滤,并且在启动exe时,procmon应该显示一些有关从temp文件夹加载的程序集的事件:

屏幕截图

您可以浏览到该文件夹​​并在其中找到托管的dll。您可以从该位置使用ILSpy进行反编译。

我写了一个博客文章:https : //eersonmez.blogspot.com/2020/02/ilspy-decompiling-net-core-self.html