sicky111 发表于 2014-6-7 10:14
楼主放源码上来学习下啊。
论坛这类主题很多的,都是源码
- ;;-----------------------------------------------------------------------------------
- ;;2012-7-26 soly2006 调试成功!简单加密,目的是要用也要问别人,不问也要花些时间来破
- ;;理解所有为代码付出的优秀人才!
- ;;如果看到有你代码的影子,请不要见怪。
- ;;正式版应增加:
- ;;1、补齐已注册码与申请码一致;
- ;;2、求余要每机不同;
- ;;3、没必要用DCL,又不是经常用到,何必考虑人机界面;
- ;;4、用法:在命令后面加上(rere)就是。
- ;;5、再奉劝你,多用中文
- ;;-----------------------------------------------------------------------------------
- ;;;(defun rere( / 已注册码 注册码 输入注册码)
- (defun c:tt( / 已注册码 注册码 输入注册码)
- (setq 已注册码 (vl-registry-read "HKEY_CURRENT_USER\\Software\\solycad" "SN"))
- (setq cpusn (cpu))
- (setq 注册码 (strcat (加密字串 (substr cpusn 2 4) ) (加密字串 (substr cpusn 7 4) )))
- (princ (strcat " 你要给别人的注册码为:" 注册码 "\n")) ;显示已注册码 便于调试,给程序不要有这条啊,
- (if (/= 已注册码 注册码)
- (progn
- (setq 已注册码 注册码)
- (princ (strcat " 申请码为: " "\n\n" cpusn))
- (setq 输入注册码 (getstring "\n请输入已注册码:"))
- (if (/= 已注册码 输入注册码)
- (progn
- (alert "请输入正确的已注册码")
- (exit)
- )
- (progn
- (vl-registry-write "HKEY_CURRENT_USER\\Software\\solycad" "SN" 输入注册码)
- (princ "注册成功!")
- )
- )
- )
- (alert " \n 已注册")
- )
- (princ)
- )
- ;;------------------------CPU--------------------------------
- ;;不明出处
- (defun CPU (/ Vlist VObj lcom lExecQuery item)
- (vl-load-com)
- (setq Vlist '())
- (if (setq VObj (vlax-create-object "wbemscripting.swbemlocator"))
- (progn
- (SETQ lcom (VLAX-INVOKE
- VObj 'ConnectServer "."
- "\\root\\cimv2" "" ""
- "" "" 128 nil
- ) ;_ 结束VLAX-INVOKE
- ) ;_ 结束SETQ
- (setq lExecQuery
- (vlax-invoke
- lcom
- 'ExecQuery
- ;;"Select * From Win32_BIOS"
- "Select * from Win32_Processor"
- ) ;_ 结束vlax-invoke
- ) ;_ 结束setq
- (vlax-for item lExecQuery
- (setq Vlist (vlax-get item 'ProcessorId) ;_ 结束cons
- ) ;_ 结束setq
- ) ;_ 结束vlax-for
- (vlax-release-object lExecQuery)
- (vlax-release-object lcom)
- (vlax-release-object Vobj)
- )
- )
- Vlist
- )
- ;; --------------------字串分解----------------------------------
- (defun 字串分解 (字串 / i k s lst)
- (setq i 0 k (chr 160))
- (while (/= "" (setq s (substr 字串 (setq i (1+ i)) 1)))
- (if (< s k)
- (setq lst (cons s lst))
- (setq lst (cons (substr 字串 i 2) lst)
- i (1+ i))
- )
- )(reverse lst)
- )
- ;;-------------------------加密字串---------------------------------------------
- (defun 加密字串(字串 / 字串表 串)
- (setq 串 字串)
- (setq 字串表 (字串分解 串))
- (setq 串 (apply 'strcat (mapcar '(lambda (X) (加密字符 X)) 字串表)))
- )
- ;;-----------------------------加密字符------------------------------------------------
- ;;精华所在:密=字符+字符对5求余
- (defun 加密字符(字符 )
- (chr (+ (ascii 字符) (rem (ascii 字符) 5)))
- )
|