.net Reactor之license限指定设备使用
上一篇(https://www.cnblogs.com/s313139232/p/9908400.html)中记录了.net Reactor对dll文件的混淆。这篇的内容在其基础上扩展。
.net Reactor可以在混淆dll、exe文件时,在其内部增加各种Lock限制dll、exe文件的使用。不过大多数时候是通过license证书来完成限制的。
原理:在dll文件目录中添加一个.license文件。当该证书文件不存在或环境不满足证书文件要求时时,dll文件无法使用。
步骤:
1.按照上一篇内容设置需要加密的文件路径和加密项。
2.选择Settings选项卡,在Lock Settings里设置Run Without License File(无许可证文件运行)为False
3.在License Manager选项卡中Master Key中的Save按钮,注意:这个Key是我们的私钥,它与程序是一对一的,所以一定要保护好它。将来生成许可证时要用到
4.单击菜单中Tools->Hardware id tool generator,它能够取得机器ID生成器(HID.exe)。运行它可得到一个记录着机器ID的文本文件(HardwareID.txt)
5.选择License Manager选项卡中的Master Key中的Open按钮,打开之前保存好的私钥文件
6.展开License File Settings->Lock Hardware Lock,单击Hardware ID并输入
7.设置好后点击Actions》Protect生成混淆后的dll文件,并完成dll文件替换。
8.则现在该安装包就只能在HardwareID.txt所记录的设备运行。其他设备运行会报错。我部署的是一个网站项目。将其关键的dll限制混淆后。运行报链接已重置或以下错误,并发现应用程序池已关闭。
如果是混淆exe文件,在打开exe文件错误时会出现提示框。
钻研不易,转载请注明出处。