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四个创始人名字的首字母貌似是真的?
大家可以试试,评论区留言!