找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1116|回复: 5

[LISP函数]:程序加密问题?

[复制链接]
发表于 2006-5-28 18:43:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请问在LISP程序里能否读取机器码,或硬盘序号等,
然后通过一个算法产生一个序号,
再通过这个序号判断程序可否运行?
请指教..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2006-5-28 20:26:16 | 显示全部楼层
硬盘序号

  1.   [FONT=courier new]
  2. ;|
  3. 函数名: VxGetDriveInfos
  4. 功  能: 返回选择磁盘信息
  5. Copyright:   ?001 MENZI ENGINEERING GmbH, Switzerland
  6. 参数[类型]:
  7.    Drv = 盘符, 如. "C" 或 "C:" [字串]
  8. 返回值[类型]:
  9.   磁盘信息 '(TotalSize FreeSpace DriveType FileSystem SerialNumber ShareName VolumeName) [表]
  10. 说明:
  11.   - TotalSize (kB) [实数] 磁盘空间或 network share.
  12.   - FreeSpace (kB) [REAL] 空闲空间 or network share.
  13.   - DriveType [INT]
  14.      0 = "Unknown"
  15.      1 = "Removable"
  16.      2 = "Fixed"
  17.      3 = "Network"
  18.      4 = "CD-ROM"
  19.      5 = "RAM Disk"
  20.   - FileSystem [STR]  磁盘系统格式, 如. "FAT", "NTFS", "CDFS".
  21.   - SerialNumber [INT] Returns the serial number used to uniquely identify a disk volume.
  22.   - ShareName [STR]  Returns the network share name (UNC) for the specified drive. If it's
  23.                      not a network drive, ShareName returns a zero-length string ("").
  24.   - VolumeName [STR] 卷标
  25.      0 The drive doesn't exist.
  26.      1 The drive is not ready. For removable-media drives and CD-ROM drives,
  27.      VxGetDriveInfos returns -1 when the appropriate media is not inserted
  28.      or not ready for access.
  29. 注意: 需要 ScrRun.dll.
  30. |;

  31. ;(defun VxGetDriveInfos (Drv / DrvObj FilSys RetVal)
  32. (defun V (Drv / DrvObj FilSys RetVal)
  33.   (setq    FilSys (vlax-create-object "Scripting.FileSystemObject")
  34.     RetVal (cond
  35.          ((= (vlax-invoke FilSys "DriveExists" Drv) 0) 0)
  36.          ((setq DrvObj (vlax-invoke FilSys "GetDrive" Drv))
  37.           (cond
  38.             ((= (vlax-get DrvObj "IsReady") 0) -1)
  39.             ((list
  40.                (/ (vlax-get DrvObj "TotalSize") 1000.0)
  41.                (/ (vlax-get DrvObj "FreeSpace") 1000.0)
  42.                (vlax-get DrvObj "DriveType")
  43.                (vlax-get DrvObj "FileSystem")
  44.                (vlax-get DrvObj "SerialNumber")
  45.                (vlax-get DrvObj "ShareName")
  46.                (vlax-get DrvObj "VolumeName")
  47.              )
  48.             )
  49.           )
  50.          )
  51.            )
  52.   )
  53.   (if DrvObj
  54.     (vlax-release-object DrvObj)
  55.   )
  56.   (vlax-release-object FilSys)
  57.   RetVal
  58. )

  59.   [/FONT]

建议用Boole,lsh,等函数做变换
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-28 20:44:53 | 显示全部楼层
获取网卡号
  1. ;;Test OK with XP
  2. ;;Use WMI to Get Networkadapter MAC.
  3. ;;Author :  eachy [eachy@xdcad.net]
  4. ;;Web    :  [url]http://www.xdcad.net[/url]
  5. ;;2005.11.22
  6. (defun xdl-MACAddress (/ mac WMIobj serv lox sn)
  7.   (vl-load-com)
  8.   (setq mac '())
  9.   (if (SETQ WMIobj (VLAX-CREATE-OBJECT "wbemScripting.SwbemLocator"))
  10.     (progn
  11.       (SETQ serv (VLAX-INVOKE
  12.                    WMIobj     'ConnectServer            "."
  13.                    "\\root\\cimv2"         ""            ""
  14.                    ""              ""         128            nil
  15.                   )
  16.       )
  17.       (setq lox        (vlax-invoke
  18.                   serv
  19.                   'ExecQuery
  20.                   "Select * From Win32_NetworkAdapter "
  21.                 )
  22.       )
  23.       (vlax-for        item lox
  24.         (if (and (= (vlax-get item 'NetConnectionID) "本地连接") ;_中文系统
  25.                  (not
  26.                    (member (setq sn (vlax-get item 'MACAddress)) mac)
  27.                  )
  28.             )
  29.           (setq mac (cons sn mac))
  30.         )
  31.       )
  32.       (mapcar 'vlax-release-object (list lox serv WMIobj))
  33.     )
  34.   )
  35.   (reverse mac)
  36. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-28 22:02:35 | 显示全部楼层
谢了,这函数我找了很久,
谢谢支持.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-29 20:02:17 | 显示全部楼层
请问大家是怎么学会这个 vlax-create-object 之类的函数的啊,
我怎么学都不知道啊 (汗,连门都不晓得在哪里)......
请大家指点指点一下,
谢谢,,,,,,,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-11 19:38:24 | 显示全部楼层
我都看不明白了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-22 10:07 , Processed in 0.228498 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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