问题描述
我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢!
解决方案
解决方案二:
可以嵌入,然后临时释放,用完在删除
解决方案三:
引用楼主vc_learner的回复:
我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢!
临时释放?要放到硬盘吗?如果这样,客户还是可以获得这个DLL
解决方案四:
引用1楼wanghui0380的回复:
可以嵌入,然后临时释放,用完在删除
临时释放?要放到硬盘吗?如果这样,客户还是可以获得这个DLL
解决方案五:
一般是释放到系统临时文件夹里,系统临时文件一般没人看,当然你释放的时候,可以不命名为dll,直接释放为System.IO.Path.GetRandomFileName一个随机文件(甚至可以不用带后缀),然后使用loadLibrary加载他基本上不用担心什么,因为系统临时文件夹没人看,里面一大坨一大坨不知道是什么的玩意,除非你的客户也懂行知道用FileMonitor去跟踪文件调用,当然会用FileMonitor滴的人,你在防都没啥用
解决方案六:
这里有一篇http://stackoverflow.com/questions/14158846/load-library-module-from-memory从steam里面load滴,不过我没有测试过这种代码,理论上如果自己分配内存,并创建hand,同时写入也可以,不过我没什么兴趣测试这样的“危险”代码
时间: 2024-11-30 13:28:59