2016-03-14 77 views
3

所以我需要对DLL文件做一个非常简单的更改。如何重新编译IL

我已经用反射器成功地将dll文件导出到IL语言,并且找到了我需要做的改变(它只是改变一个URL)。因此,如果我在记事本中进行更改并保存,那么很容易,但现在我无法弄清楚如何将它重新构建到DLL文件中。我试图将它导出到一个可以工作的C#项目,但是构建它给了我很多错误。

VS不想打开它,因为导出到IL不提供项目文件。

+4

你试过ilasm吗? – holtavolt

+0

好问题;) – Coding4Fun

+0

Reflexil.net也许 – Kalten

回答

1

想通了,完美的作品: 编译:使用记事本反汇编file.dll /out:file.il 编辑 重新编译:ILASM file.il/DLL /折叠/ NOLOGO/noautoinherit

..当然,你可以使用自己喜欢的反编译工具,如VS或dotpeek很好地查看代码,然后找到它在肮脏的IL版本编辑它。

0

我用Telerik JustDecompile。从一个DLL我可以创建我的项目(右键单击程序集/创建项目c#/ vb或IL),我打开VS,我改变,我重新编译。

测试它!

2

就像VisualStudio附带ildasm一样,它也附带ilasm。所以,你应该能够做到:

ILASM/DLL myapp.il

+0

是的,只是试过,问题是dll转储产生7个文件(其中只有一个是.il文件),所以我找不到一种方法将它们全部导入到单个dll文件中。 –