由于微信内存注入,注入器与dll是分开的。现想把其打包在一起,以免dll文件被人直接拿去用。
思考
刚开始是想把dll引用到注入器代码里,但是dll引用不进去 ,可能是有所混淆。
后面百度了一番,把dll当作资源加进去,并要把生成操作改成嵌入式资源(未验证此处是否可忽略)。
当程序一加载释放dll资源到指定的位置。
步骤
- 创建Resources文件夹,并把dll拷贝进去
- 右击项目,资源,添加其他文件,并dll添加进去
- 点击dll修改生成操作为嵌入式资源
- 修改代码,释放dll到相应位置
释放到c:\\windows\system32
会dll被另一进程使用,后面只能释放到用户的公共数据存放那边//释放dll string path = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); if (!File.Exists(path + @"\wxidAndGroupName.dll")) { byte[] Save = global::L000WeChatDllInjector.Properties.Resources.wxidAndGroupName; FileStream fsObj = new FileStream(path + @"\wxidAndGroupName.dll", FileMode.CreateNew); fsObj.Write(Save, 0, Save.Length); fsObj.Close(); //现在到系统目录中找一下释放的资源.dll吧 }
总结
此方法释放dll还是隐患,如果用户知道此dll释放位置,就前功尽弃。。。