这有可能吗?有免费的工具吗?

评论

您尝试过github.com/aerror2/ILSpy-For-MacOSX还是tirania.org/blog/archive/2011/Feb-04.html。

我做到了,但是在我构建项目并使用Mono运行.exe之后,出现错误。我得到了:未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例。如果将来没有更简便的解决方案,我将来可能会调试该项目以查找问题。 :)

它取决于原始可执行文件的复杂性,但是通常,调试器是解决问题的方法。

#1 楼

最好的免费工具是ILSpy,但它可以在Windows上运行。这为您提供了有限的选项列表:


创建Windows虚拟机(使用virtualbox或vmware player)并在其中运行它
在Mac上安装WINE,以允许您运行.exe文件。
获取用于Mac的Visual Studio并使用ikdasm
,如果您感觉很硬,请在反汇编程序中打开它;)

我自己是IT专家对于第一个解决方案。简要检查一下,然后试试吧!

评论


对于第3点,没有称为ildasm的工具。 VS for Mac随附的工具称为ikdasm或monodis

–PawełŁukasik
17年5月21日在5:44

提醒一下!我纠正了。

–克里斯·齐卡洛斯(Chris Tsiakalos)
17年5月21日在8:23

#2 楼

Visual Studio for Mac可以完成这项工作。只需单击File / Open,然后选择所需的executable or library。它将打开Assembly Browser窗口。

如果需要更详细的代码,请将Visibility更改为All members,将语言更改为C#







评论


但是这种方式不会给您代码。仅方法的签名。

–PawełŁukasik
19年2月13日在21:39

@PawełŁukasik是的,你可以做的,只是看我更新的帖子。

–甘达雷斯
19年2月14日在22:20

对。我的错。

–PawełŁukasik
19年2月14日在22:24

#3 楼

您可以使用Jetbrains的Rider。它有30天的免费试用期。


打开Rider并打开或创建C#项目
向.exe文件添加依赖项(自然,这也适用于.exe文件。 dll)。




在项目的类中,导入包并键入要检查的类。




对类名称执行Command + click或Command + B触发Rider的反编译选项。如有必要请确认。

缺点是我们必须对要反编译的每个类重复步骤4。

评论


看来您太快了。点4不完整,缺少5。

–PawełŁukasik
18年3月13日在8:10