我想为我的服务器提供某种保护,以防有人访问服务器并试图窃取服务器可执行文件。因此,如果黑客未能找到真正的服务器可执行文件,他将转储服务器进程。
保护 像这样:
我将有一个服务器加载器应用程序,服务器本身编译为 .net 程序集
服务器机器几乎不会有这个程序集,我会将它写入 CD-R 并在加载程序应用程序启动时插入它,它读取程序集字节从 CD-R,然后从该程序集加载并创建所需的类,这将导致主服务器应用程序启动。
然后我从驱动器中取出 CD-R。
byte[] raw_assembly = File.ReadAllBytes("E:\\server.dll");
Assembly ass = Assembly.Load(raw_assembly);
Type myclass = ass.GetType("Server.Form1");
object o = Activator.CreateInstance(myclass);
Application.Run((Form)o);
raw_assembly.Clear(); //pseudo Clear... no matter how, just delete from memory