在dotPeek中反编译.NET Framework v4.5可执行文件"非.NET程序集文件"但可执行文件运行正常

Hel*_*Che 6 .net c# decompiling ilspy dotpeek

客户端已经与他们之前的开发人员烧毁了桥梁,我正在尝试从他们的工资单可执行文件的剩余部分中提取源代码,不幸的是,作为一个Web开发人员,我对.NET框架没有多少经验.

编辑:我们的客户合法拥有该软件,但没有要求源代码,开发人员没有回应我们的通信.我在SO上提出这个问题的意图不是为了法律建议(我们有人处理),而是用于反编译的任何选项.

我之前成功地使用JetBrains dotPeek反编译了可执行文件,但是它们都运行了.Net Framework v2.0/v4.5框架.我正在使用的客户端工资单可执行文件,.Net Core v4.5这是dotPeek,ILSpy或其他C#反编译软件无法识别的,我作为.NET程序集文件运行.

经过一番研究,我相信.Net Core最近是开源的......但是我不确定如何继续进行反编译过程,或者在这一点上是否可行.有什么建议?

注意:我会接受一个答案:"不可能反编译,但你先尝试过X,Y,Z吗?".我需要让客户知道是否可以完成,因为我们的运行时间很紧.

我做了一些澄清:program.exe在dotPeek中打开,右键单击属性给我这个:

在此输入图像描述

它声称"不是.NET程序集文件",但我可以运行可执行文件.

编辑:是否有可能从可执行文件中提取更多信息,以便我可以缩小另一种方法进行反编译?

我怀疑.NET反编译器不会在这里提供帮助.

Jam*_*cey 5

开发人员在开发网站上询问了合法的编程问题,并且应该得到有根据的回应.不需要的法律建议.反编译dll有很多正当理由.

当dotnetpeak建议使用".Net Core v4.5"开发文件并且没有MVID时,它会建议该文件缺少CLR头.

如果您将文件反编译回程序集,您可能会发现该文件是在VB6中开发的识别标记.

找到一个好的VB6反编译器,你可能能够解决该程序没有太大的问题.遗憾的是,您无法将vb6完全反编译回源代码,但您可以很好地理解应用程序的构造方式.


Bal*_*kas 0

.net core .net 的开源版本,目前正在进行中。你可以在微软公共github页面corefx上看到每天的进展

我对问题中.net core 的含义有点困惑,但根据我的理解,还没有最终的 .net core 4.5,即使它肯定可用但不完整,为什么有人会在生产代码中使用它?

欲了解更多信息,请阅读这篇博文

  • 我没有,但你的回答根本没有意义。 (2认同)