首页 > 代码库 > 将文件从程序集中复原
将文件从程序集中复原
1、场景:
发到客户那的程序中使用的一个C++的库需要被替换,而该库在使用了前使用了md5进行检验防止其它伪装的库将其替换,因而替换时要算目标库的
md5,并把使用该库的另一个库也换掉。
2、涉及技术:
做一个离线补丁包去升级程序,并将库文件集成到其中,程序运行时再将其释放出来。
3、解决方法:
将目标库当成资源添加到工程中,并在需要时调用它写入文件
1 private bool GetFileFromAssembly(String fileName, String targetFilePath) 2 { 3 byte[] bs = null; 4 String fileNameWithoutExtension = fileName.Substring(0, fileName.Length - 4); 5 MemoryStream ms = null; 6 FileStream fs = null; 7 8 try 9 {10 bs = (byte[])Properties.Resources.ResourceManager.GetObject(fileNameWithoutExtension);11 ms = new MemoryStream(bs);12 fs = new FileStream(targetFilePath, FileMode.Create);13 ms.WriteTo(fs);14 }15 catch (System.Exception ex)16 {17 return false;18 }19 finally20 {21 ms.Close();22 fs.Close();23 }24 return true;25 }
4、相关程序:
将文件从程序集中复原
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。