我同意休的观点,我参与了一个商业产品,我们做了一些简单的检查。我们接到电话说它不工作,很快就发现它被复制到了另一台电脑上。
与SWL210搜索一样,这里也有一些关于保护代码的冗长讨论,使用FAS一些简单的方法检查序列号,检查PC硬盘ID,将代码埋在注册表中,安装时它会覆盖代码,因此只需一次安装。网络IP地址每台电脑都是唯一的,其中一些方法需要用户输入,就像Autocad的安装一样,这可能意味着可能需要一封电子邮件或一个电话。
几乎忘记了我们的产品有多个lisp,所以我们只是简单地通过批处理文件使用旧的fashoined DOS将保护例程添加到现有代码中,然后制作客户版本,然后使用Autocad再次制作FAS文件,这可以编写脚本。
复制加密。lsp+文件1。lsp c:\客户\文件1。lsp
样品
- ; this version works with Win 7
- ; by lee-mac oct 2011
- (defun HDSerial ( / wmi srv drv ser )
- (vl-catch-all-apply
- (function
- (lambda ( )
- (if
- (setq wmi (vlax-create-object "WbemScripting.SWbemLocator")
- srv (vlax-invoke wmi 'connectserver nil nil nil nil nil nil nil nil)
- drv (vlax-invoke srv 'execquery "Select SerialNumber from Win32_DiskDrive")
- )
- (vlax-for item drv
- (vlax-for prop (vlax-get item 'Properties_)
- (if (eq "SERIALNUMBER" (strcase (vlax-get prop 'name)))
- (setq ser (vl-string-trim " " (vlax-get prop 'value)))
- )
- )
- )
- )
- )
- )
- )
- (if drv (vlax-release-object drv))
- (if srv (vlax-release-object srv))
- (if wmi (vlax-release-object wmi))
- ser
- )
|