明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3427|回复: 6

怎么把CPU序列号替换硬盘序列号!

[复制链接]
发表于 2012-5-28 21:59 | 显示全部楼层 |阅读模式
本帖最后由 9701519 于 2012-5-28 23:49 编辑
  1. (defun UseLimit  (/ FIND_SERIALNUMBER regNumber num regnum reg_path *error*)
  2.   (defun *error* (msg / ent count)
  3.     (princ)
  4.   )
  5.   (defun FIND_SERIALNUMBER (DRIVE / FILSYS VAL)
  6.     (setq FILSYS (vlax-create-object "Scripting.FileSystemObject"))
  7.     ;;(vlax-dump-object FILSYS t)
  8.     (setq VAL (vlax-invoke FILSYS "GetDrive" DRIVE))
  9.     ;;(vlax-dump-object VAL t)
  10.     (setq VAL (vl-catch-all-apply
  11.     'vlax-get
  12.     (list VAL "SerialNumber")
  13.         )
  14.     )
  15.     (vlax-release-object FILSYS)
  16.     (if  (vl-catch-all-error-p VAL)
  17.       (setq VAL NIL)
  18.       VAL
  19.     )
  20.   )

  21.   (setq reg_path "HKEY_CURRENT_USER\\Software\\VB and VBA Program Settings\\temp")
  22.   (setq regNumber (vl-registry-read reg_path "注册码"))
  23.   (if (/= regNumber
  24.    (itoa
  25.         (/ (atoi (rtos (atoi (rtos (FIND_SERIALNUMBER "C:"))))) 3);;;注册码=申请码/2
  26.    )
  27.       )
  28.     (progn
  29.       (alert
  30.   (strcat
  31.     "请注册!")
  32.       )
  33.       (setq num (rtos (FIND_SERIALNUMBER "C:")))
  34.       (setq regnum (itoa (/ (atoi (rtos (atoi num))) 3)));;;注册码=申请码/2
  35.       (textscr)
  36.       (princ
  37.   (strcat "您的申请码为: " num)
  38.       )
  39.       (setq regNumber (getstring "\n请输入注册码:"))
  40.       (if (/= regNumber regnum)
  41.   (progn
  42.     (alert "注册码无效!")
  43.     (exit)
  44.   )
  45.   (progn
  46.     (vl-registry-write reg_path "注册码" regnum)
  47.     (alert "您已成功注册!")
  48.   )
  49.       )
  50.       T
  51.     )
  52.   )
  53.   (princ)
  54. )


  55. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  56. ;;;(vl-load-com)
  57. ;;;(vl-load-all "Register")
  58. ;;;(UseLimit)

  59. ;;;请在任何LSP文件中加入以上三行即可,注意一定要放在最前面!!!
  60. ;;;只支持AutoCAD2000及以上的版本
  61. ;;;Register.fas文件必须放在AutoCAD的支持路径下
  62. ;;;如Register.fas文件不在AutoCAD支持路径,请自行指定路径
  63. ;;;如(vl-load-all "C:/Program Files/AutoCAD 2004/Support/Register")
  64. ;;;现在的加密方式为
  65. ;;;获取物理磁盘C的序列号进行除2取整运算
  66. ;;;所以注册码=取整(申请码/2)
  67. ;;;如申请码为1550011861,则注册码=1550011861/2=775005930.5,去掉小数
  68. ;;;注册码则为775005930,即可注册成功
CPU序列号代码如下:
  1. (defun cpuid (/ str)
  2.    (setq str
  3.    "Set objSWbemObject = GetObject("winmgmts:Win32_Processor.DeviceID='cpu0'")
  4.    ret = objSWbemObject.ProcessorId
  5.    'msgbox "首枚CPU序列号:" & ret" )
  6.    (if (not *wsc)(setq *wsc (vlax-create-object "ScriptControl")))
  7.    (vlax-put *wsc 'language "vbs")
  8.    (vlax-invoke *wsc 'ExecuteStatement str)
  9.    (vlax-invoke *wsc 'eval "ret")
  10.     (vlax-release-object FILSYS)
  11.     (if  (vl-catch-all-error-p VAL)
  12.       (setq VAL NIL)
  13.       VAL
  14.     )
  15.   )



该贴已经同步到 9701519的微博

点评

对操作系统有和要求?WINXP WIN7 WIN10 都可以吗?  发表于 2019-7-11 10:52
发表于 2012-7-12 22:47 | 显示全部楼层
同求,觉得高手可能几分钟
发表于 2014-3-3 16:32 | 显示全部楼层
顶一下~~~~
发表于 2014-3-3 20:23 | 显示全部楼层
不明白到底要干什么。是想将CPU的序列号改成硬盘序列号呢?还是加密程序原来读的是硬盘序列号,想改用读CPU序列号。
发表于 2018-2-16 19:14 | 显示全部楼层
CPU的序列号怎么提取呀
发表于 2018-2-22 17:18 | 显示全部楼层
如果没猜错的话,这个获得的是磁盘序列号而不是硬盘序列号,重新格式化就变了。硬盘或者CPU序列号是硬件级别的信息,LISP没事不会把手伸到硬件领域去吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 17:04 , Processed in 5.576228 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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