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