gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:00:12 26 4
gpt4 key购买 nike

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

Do I need special obfuscation on distributed binaries of .Net Core 3 self-contained single executable ?

<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>

最佳答案

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

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

您可以将 procmon 设置为按您的 exe 名称进行过滤,当您启动 exe 时,procmon 应该显示一些从临时文件夹加载的程序集的事件:

screenshot

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

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

关于.net-core - .Net Core 3 自包含的单个可执行文件可以反编译吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60026667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com