• 每个托管的DLL里面都包含了.Net四位创始人名字的首字母BSJB是真的吗?
  • 发布于 2个月前
  • 201 热度
    0 评论
据说每个托管的DLL里面都包含了.Net四位创始人名字的首字母BSJB,看下到底是不是真的。用以下代码检测下,托管DLL里面是否包含了.Net四位创始人名字的首字母。
static void Main(string[] args)
{
   // 堆代码 duidaima.com
   string Path="你的托管DLL路径";//比如E:\\Visual Studio Project\\Test\\Test\\bin\\x64\\Debug\\net7.0\\Test.dll
   FileStream filestream = File.OpenRead(Path);
   byte[] b = new byte[2048];
   int n = filestream.Read(b);
   Console.WriteLine(new UTF8Encoding(true).GetString(b).Substring(new UTF8Encoding(true).GetString(b).IndexOf("BSJB"), 4));
   Console.ReadLine();
}
以上代码首先搜索一个托管的DLL二进制里面是否包含了字符串BSJB,如果包含了,就从包含的位置开始取四字节,然后把它打印出来。注意这个byte数组,如果你的代码比较多,可以把byte数组长度增加一倍,比如4096,不然搜索的字符串可能不在范围内。

可以看到它确实包含了BSJB这个字符串。测试了下其它的托管DLL,都无一例外的包含了这个字符串,看来这个托管DLL里面包含.Net四个创始人名字的首字母貌似是真的?

大家可以试试,评论区留言!

用户评论