[LISP]lisp程序j具有注册授权功能模块
<P>初学liSP编程,编了一个lisp程序注册功能的模块,里边好多的语句都是明经网友的,深表感谢<BR>现将源程序拿出来共享。程序编的可能罗唆一些,望老鸟不要见笑,恳请指点。</P><P>在C:\langjs目录下存储一个key.txt文件<BR>将对话框文件zhuc.dcl拷贝到AUTOCAD搜索支持的目录<BR>在你想要保护的lisp程序插入一句:<BR>(jiany)<BR>加载并运行程序。</P>
<P>当想要保护的程序执行到(jiany)时<BR>程序打开C:\langjs\key.txt并取得里边存储的授权码,<BR>检验其和硬盘序列号之间的算法关系是否成立,(我的程序中只是简单的判断相等,可以改复杂一些)<BR>如果正确,则继续执行lisp程序<BR>如不成立<BR>则弹出注册对话框,输入正确的授权码,才能继续执行lisp程序,如授权码不正确,则退出。<BR>同时将正确的授权码存储在C:\langjs\key.txt中,以便下次进行检验</P>
<P>如果想要改变key.txt存储路径和算法请自己在程序中修改。<BR></P> langjs 发表于 2006-10-25 13:24
比较感兴趣加密算法和获取本机信息码,现在只是知道怎么获取硬盘SN码,根据这个SN怎么计算出注册码呢?用的是什么算法比较好? cabinsummer 发表于 2012-4-14 17:19
开源是趋势,但是对于无德之人,还是防一下为好
C版有好的保护措施吗,我也想学这个授权写法 感谢分享,提供了实现的思路。
规格
<P>没传上来?</P>;;;********************************************************
检验授权码程序
(defun jiany()
(setq f (open "C:\\langjs\\key.txt""r"))
(setq fee2 (read-line f))
(close f)
(getyp)
(if (/= fee1 fee2) ;;;这里是检验算法
(zhuc)
(prin1)
)
)
;;;对话框驱动程序
(defun zhuc()
(setq dcl_id (load_dialog "zhuc.dcl"))
(new_dialog "zhuc" dcl_id)
(getyp)
(set_tile "c01"fee1)
(action_tile "c03" "(gsouqm) (done_dialog 1)")
(setq bb (start_dialog))
(cond ((= bb 1)(wsouqm ))
(t (exit))
)
(prin1)
)
(defun gsouqm()
(setq ppp(get_tile "c02"))
(prin1)
)
(defun wsouqm ()
(setq f (open "C:\\langjs\\key.txt" "w"))
(write-line ppp f)
(close f)
(jiany)
(prin1)
)
;;;获得硬盘虚拟序列号程序
(defun getyp ( / FILSYS driveobj)
(vl-load-com)
(setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
(if (/= (vlax-invoke-method FILSYS "DriveExists" "D") :vlax-false)
(progn
(setq driveobj (vlax-invoke-method FILSYS "GetDrive" "D"))
(vlax-get-property driveobj "SerialNumber")
)
nil
)
(setq fee1 (itoa (vlax-get-property driveobj "SerialNumber")))
)
对话框文件
zhuc:dialog{
label="注册信息";
spacer_1;
:text {label=" 软件注册";}
:edit_box{label="机器码";key="c01";edit_width=30;}
:edit_box{label="授权码";key="c02";edit_width=30;}
spacer_1;
:row{
:text {label=" ";}
:button {label="注册";key="c03";
width=12;
fixed_width=true;
}
cancel_button;
:text {label="";}
}
}
授权码是怎么获得的呢 ??
[LISP]
授权码是怎样算?!。。。。。。。。。 顶起 <p>好東西~</p><p>頂一下</p> dnnlog发表于2006-10-27 8:26:00static/image/common/back.gif授权码是怎样算?!。。。。。。。。。
<p>就是硬盘分区 D 的序列号</p> 一句话破解: (defun <span class="Apple-style-span" style="font-size: 12px; line-height: 21px; color: rgb(68, 68, 68); font-family: Monaco, Consolas, 'Lucida Console', 'Courier New', serif; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">zhuc () () </span>)