今天在看到 一个小软件,考勤用的 attendancesheet_v_1_2,只有一个exe文件,绿色的随便考到哪里都可以运行。
顺手反编译后发现,他将需要的dll也放入到资源文件了,在启动的时候自动加载:
代码如下:
复制代码 代码如下:
internal static class program
{
// methods
[stathread]
private static void main()
{
application.enablevisualstyles();
application.setcompatibletextrenderingdefault(false);
appdomain.currentdomain.assemblyresolve += delegate (object sender, resolveeventargs senderargs) {
assembly executingassembly = assembly.getexecutingassembly();
string name = new assemblyname(executingassembly.fullname).name;
string str2 = new assemblyname(senderargs.name).name;
string str3 = name + "." + str2 + ".dll";
using (stream stream = executingassembly.getmanifestresourcestream(str3))
{
byte[] buffer = new byte[stream.length];
stream.read(buffer, 0, buffer.length);
return assembly.load(buffer);
}
};
application.run(new 考勤表生成工具());
}
}
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论