制作一个“编译器”/二进制编辑器来修改我的 .NET 应用程序

本文关键字:编译器 编辑器 二进制 修改 我的 应用程序 NET 一个 | 更新日期: 2023-09-27 18:31:27

这就是我要完成的:

我有两个应用程序。一个是客户端应用程序,另一个是编译器。客户端使用加密,出于安全原因,我希望用户能够运行"编译器"应用程序,该应用程序将在已编译的二进制文件中对安全密钥进行硬编码,因此每个客户端都有自己的加密密钥存储在其中。这甚至可能吗,或者解决方案会很疯狂?谢谢。

制作一个“编译器”/二进制编辑器来修改我的 .NET 应用程序

当然,

您所说的只是重写 MSIL 代码。 Microsoft一直使用代码协定执行此操作。 这是一篇解释如何: http://msdn.microsoft.com/en-us/magazine/cc188743.aspx

另一个例子:http://www.codeproject.com/Articles/20565/Assembly-Manipulation-and-C-VB-NET-Code-Injection

如果程序集已强签名,则无法对其进行修改。不能将修改后的 .net 程序集保存回磁盘。但是,您可以构建汇编(如 Kevin 所说)以便能够在运行时修改加载到内存中的代码。它不会影响磁盘上的映像,并且每次启动应用程序时都会运行修改。