乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: pixel8er

[编程交流] 你能保护LISP例程吗

[复制链接]

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

28

主题

124

帖子

96

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-6 07:06:16 | 显示全部楼层
谢谢irneb和msasu
我刚刚下载了protect和kelvinator。今晚我会看看Mac版本是否可以加载FAS和VLX文件。
当做
保罗
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:11:50 | 显示全部楼层
 
这是真的,但在解析所有变量都被命名为Kelvinator风格(即“HK#@H%”)的代码时,这非常烦人。这将使另一群好奇的人退出比赛。
 
当做
米尔恰
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 07:12:20 | 显示全部楼层
仅供参考-诚然,我选择不参与零售拷贝(RC)版本,但是,当我测试AutoCAD 2011的Mac(代号Sledgehammer)时,LISP功能得到了支持。。。只是没有VLIDE。
 
这是我在RC之前的最终Beta调查中遇到的主要投诉之一。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

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

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:20:42 | 显示全部楼层
一个很好的解决方案是BigAl,但这仍然需要您知道运行该软件的计算机序列。。。蛋糕上的糖霜是要有一个标准程序,当在一台机器上加载和运行时,它将不会在另一台机器上加载/运行。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:25:41 | 显示全部楼层
Irné就是一个很好的例子,谢谢。
 
最好不要打电话/发电子邮件索要激活码,但我认为这是必要的,不需要使用自修改代码(使用VLX/FAS是不可能的)。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 07:31:18 | 显示全部楼层
 
林奇
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 14:55 , Processed in 0.535334 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表