问题描述
- 跪求大神帮忙,关于对dll动态链接库加密的问题
-
我们在搞一个项目,写了好多个dll文件,现在老板要求对dll文件进行加密,使得这个dll文件只能在特定的电脑上打开,转存,不能被别的电脑随便打开。。。。跪求那个好心的大神给点意见。。
解决方案
不需要对dll加密,你的dll调用的时候传一个序列号,你的dll内部获得主板id,网卡mac或者磁盘卷标等,按照一个加密算法算出序列号,和输入的比较,确认正确才执行,否则丢出错误。
你的序列号放在你的主程序中,这样别人就算拷贝了你的程序,因为机器环境不同,无非执行。
解决方案二:
dll是可以加载到内存后再使用的,所以你就把dll当做普通文件一样,对这个文件加密,不能直接使用,你的程序启动时,先把他加载到内存,然后按照规则解密成正常的内存数据,然后使用
dll加载到内存使用的具体方法,你去搜一下吧
解决方案三:
https://github.com/fancycode/MemoryModule,这个东西好像可以加载dll到内存
解决方案四:
把dll作为资源加载到exe中。然后exe加载的时候先读取资源
时间: 2024-10-26 06:01:44