明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 22008|回复: 60

[LISP]lisp程序j具有注册授权功能模块

    [复制链接]
发表于 2006-10-25 13:00 | 显示全部楼层 |阅读模式

初学liSP编程,编了一个lisp程序注册功能的模块,里边好多的语句都是明经网友的,深表感谢
现将源程序拿出来共享。程序编的可能罗唆一些,望老鸟不要见笑,恳请指点。

在C:\langjs目录下存储一个key.txt文件
将对话框文件zhuc.dcl拷贝到AutoCAD搜索支持的目录
在你想要保护的lisp程序插入一句:
(jiany)
加载并运行程序。

当想要保护的程序执行到(jiany)时
程序打开C:\langjs\key.txt并取得里边存储的授权码,
检验其和硬盘序列号之间的算法关系是否成立,(我的程序中只是简单的判断相等,可以改复杂一些)
如果正确,则继续执行lisp程序
如不成立
则弹出注册对话框,输入正确的授权码,才能继续执行lisp程序,如授权码不正确,则退出。
同时将正确的授权码存储在C:\langjs\key.txt中,以便下次进行检验

如果想要改变key.txt存储路径和算法请自己在程序中修改。

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-11-25 21:34 | 显示全部楼层

比较感兴趣加密算法和获取本机信息码,现在只是知道怎么获取硬盘SN码,根据这个SN怎么计算出注册码呢?用的是什么算法比较好?
发表于 2018-5-31 10:26 | 显示全部楼层
cabinsummer 发表于 2012-4-14 17:19
开源是趋势,但是对于无德之人,还是防一下为好

C版有好的保护措施吗,我也想学这个授权写法
发表于 2021-1-5 21:48 | 显示全部楼层
感谢分享,提供了实现的思路。
 楼主| 发表于 2006-10-25 13:23 | 显示全部楼层

规格

没传上来?

 楼主| 发表于 2006-10-25 13:24 | 显示全部楼层
  1. ;;;********************************************************
  2. 检验授权码程序
  3. (defun jiany()
  4.    (setq f (open "C:\\langjs\\key.txt"  "r"))
  5.    (setq fee2 (read-line f))
  6.    (close f)
  7.    (getyp)
  8. (if (/= fee1 fee2)   ;;;这里是检验算法
  9. (zhuc)
  10. (prin1)
  11. )
  12. )
  13. ;;;对话框驱动程序
  14. (defun zhuc()
  15.   (setq dcl_id (load_dialog "zhuc.dcl"))
  16.    (new_dialog "zhuc" dcl_id)
  17.    (getyp)
  18.    (set_tile "c01"  fee1)
  19.    (action_tile "c03" "(gsouqm) (done_dialog 1)")
  20.    (setq bb (start_dialog))
  21.    (cond ((= bb 1)(wsouqm ))
  22.          (t (exit))
  23.    )
  24. (prin1)
  25. )
  26. (defun gsouqm()
  27.    (setq ppp  (get_tile "c02"))
  28.    (prin1)
  29. )
  30. (defun wsouqm ()
  31.    (setq f (open "C:\\langjs\\key.txt" "w"))   
  32.    (write-line ppp f)
  33.    (close f)
  34.    (jiany)
  35.    (prin1)
  36. )
  37. ;;;获得硬盘虚拟序列号程序
  38. (defun getyp ( / FILSYS driveobj)
  39.     (vl-load-com)
  40.     (setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
  41.     (if (/= (vlax-invoke-method FILSYS "DriveExists" "D") :vlax-false)
  42.         (progn
  43.            (setq driveobj (vlax-invoke-method FILSYS "GetDrive" "D"))
  44.            (vlax-get-property driveobj "SerialNumber")
  45.         )
  46.         nil
  47.     )
  48. (setq fee1 (itoa (vlax-get-property driveobj "SerialNumber")))
  49. )


 楼主| 发表于 2006-10-25 13:25 | 显示全部楼层
对话框文件
  1. zhuc:dialog{
  2. label="注册信息";
  3. spacer_1;
  4. :text {label="                软件注册";}
  5. :edit_box{label="机器码";key="c01";edit_width=30;}
  6. :edit_box{label="授权码";key="c02";edit_width=30;}
  7. spacer_1;
  8. :row{
  9. :text {label="       ";}
  10. :button {label="注册";key="c03";
  11. width=12;
  12. fixed_width=true;
  13. }
  14. cancel_button;
  15. :text {label="  ";}
  16. }
  17.   
  18. }
发表于 2006-10-25 18:06 | 显示全部楼层
授权码是怎么获得的呢 ??
发表于 2006-10-27 08:26 | 显示全部楼层

[LISP]

授权码是怎样算?!。。。。。。。。。
发表于 2010-8-11 11:01 | 显示全部楼层
顶起
发表于 2010-8-11 12:46 | 显示全部楼层

好東西~

頂一下

发表于 2010-8-11 15:42 | 显示全部楼层
dnnlog发表于2006-10-27 8:26:00授权码是怎样算?!。。。。。。。。。

就是硬盘分区 D 的序列号

发表于 2010-8-12 14:36 | 显示全部楼层
一句话破解:  (defun  zhuc () () 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 00:58 , Processed in 0.210631 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表