MSasu 发表于 2022-7-6 07:02:59

如果决定像@irneb建议的那样也使用Kelvinator,不要忘记检查工具附带的受保护符号列表,并添加所有不存在的内置函数(如果我记得很清楚,默认情况下不包括DCL相关函数)。如果未能做到这一点,代码将被视为AutoLISP解释器无法读取。
 
当做
米尔恰

pixel8er 发表于 2022-7-6 07:06:16

谢谢irneb和msasu
我刚刚下载了protect和kelvinator。今晚我会看看Mac版本是否可以加载FAS和VLX文件。
当做
保罗

MSasu 发表于 2022-7-6 07:11:50

 
这是真的,但在解析所有变量都被命名为Kelvinator风格(即“HK#@H%”)的代码时,这非常烦人。这将使另一群好奇的人退出比赛。
 
当做
米尔恰

BlackBox 发表于 2022-7-6 07:12:20

仅供参考-诚然,我选择不参与零售拷贝(RC)版本,但是,当我测试AutoCAD 2011的Mac(代号Sledgehammer)时,LISP功能得到了支持。。。只是没有VLIDE。
 
这是我在RC之前的最终Beta调查中遇到的主要投诉之一。

BIGAL 发表于 2022-7-6 07:17:22

只是一个建议,如果你能保护你的代码,在其中埋一些东西,如序列号检查智能是pc bios或注册表的东西,保护它是没有好处的,如果有人可以复制它并使用它。mac和pc lisp版本之间曾经有细微的区别,但基本上我现在可以在任何一个版本上运行。
 
一个真实的故事!!!在一台新电脑上安装手机通话软件是行不通的。几个问题后来解决了,他试图在另一家公司的电脑上安装电话通话软件,却没有向我们支付他在试图盗版时被抓到的特权。
 
首先,将此添加到非常lisp中
(setq run (getvar "_pkser"))
(if (or (= run "440-123456789")(= run "440-123456780"))
(princ "\nSecurity check passed")
(progn
(princ "\nYou have tried to run my software on a non authorised machine")
(princ "\nPlease contact me123 456 789")
(/e)
)
)

Lee Mac 发表于 2022-7-6 07:20:42

一个很好的解决方案是BigAl,但这仍然需要您知道运行该软件的计算机序列。。。蛋糕上的糖霜是要有一个标准程序,当在一台机器上加载和运行时,它将不会在另一台机器上加载/运行。

irneb 发表于 2022-7-6 07:22:57

是的,我从R10开始使用的一个插件有这样的功能:你用ACad的序列号给他们打电话,他们给你一个文本字符串,你需要“激活”它。这在安装时被保存到某个文件中。基本上,他们所做的是使用C++编译的EXP(ARX之前的东西),它将读取该文件并将其与序列号的一些算法散列进行比较。只有2匹配,插件才能工作。他们将散列放入编译后的东西中,使其尽可能难以中断,然后还将几个关键函数包括在同一个EXP中,这样即使您“取消”保护其LSP文件,其中大多数仍然无法运行。
 
这是我遇到的“第一批”激活系统之一。在我看来,这是最“安全”的方法,可以让你的程序只为合法客户运行。唯一的“问题”是需要为每个版本的ACad编译EXP/ARX文件,但这并非不可能。无论如何,这里有一个Lisp版本可以工作:
当然,这需要在一个FAS(至少)中,否则每个人都可以看到这个CalcHash发生了什么。顺便说一句,你需要自己修改哪些代码——至少要将代码更改为其他随机生成的列表。我只是用这个来生成那个列表:
然后简单地使用它来检查它是否被激活:
无论如何,这可能超出了OP的范围(可能不是,可能这实际上是预期的)。

Lee Mac 发表于 2022-7-6 07:25:41

Irné就是一个很好的例子,谢谢。
 
最好不要打电话/发电子邮件索要激活码,但我认为这是必要的,不需要使用自修改代码(使用VLX/FAS是不可能的)。

irneb 发表于 2022-7-6 07:29:12

好的,你可以有一些网页(可能是PHP)返回计算出的激活码。然后,您需要将该页面(带有一些用于发送序列号和其他的参数)读入lisp(这是最难的部分),然后它可以像往常一样去保存激活码。这里的好处是,用户可以像AutoCAD一样“自动”激活它,但PHP(或任何东西)可以保存该信息,然后您可以稍后为其计费。也许可以进一步制作一个两层激活系统,第一个自动生成的代码是有时间限制的。在这段时间之后,它再次读取php,只有在收到付款或用户以其他方式对新安装进行了说明的情况下,才会返回新代码。
 
不过,你可能需要使用一些ActiveX来获得阅读计算过的网页的方法!大多数程序使用这种类型的激活系统,可能不是2层,而是有时间限制的共享软件,然后需要激活码。
 
不久前,我在AUGI上做了一些类似时间限制的共享软件的事情,尽管我现在似乎记不住正确的搜索关键字

BlackBox 发表于 2022-7-6 07:31:18

 
林奇
页: 1 [2]
查看完整版本: 你能保护LISP例程吗