2008年12月6日星期六

Lisp程序加密工具----程序转换

  • 程序名称:TYJIAMI.FAS<下载地址>
  • 命令名: TYJM
  • 程序功能:在设计开发LISP程序时,为了便于调试和日后阅读,变量名应尽量表达一定的含义,在程序中也要加上一些说明。而在程序发布的时候,为了防止别人破解,应去掉注释,并把变量名改成无特定意义的字符串。
  • 在AutoCAD命令行键入命令后,弹出如下对话框,选择欲进行转换的文件,如图中选择了C:\TODAY目录下的TYJIAMI.LSP。

  • 点击OPEN后,即可自动生成一个完成了转换的文件。
  • 文件名是在原来的文件名前面添加了"NEW-",如TYJIAMI.LSP转化后生成NEW-TYJIAMI.LSP,新文件存放的位置和原来的文件相同。
  • 同时,在AutoCAD命令行中会列出转换前程序中的函数名,转换后它们将分别用TY1、TY2、TY3.....代替。
  • 转换前后,命令名不变,即转换前是TYJM,转换后仍然是TYJM。

    下面是转换前TYJIAMI.LSP的片断:

    ;;加密程序;
    ;;1--去掉程序中的注释--OK
    ;;2--将程序中的变量名转换成无意义字串--OK
    ;;3--加入注册码
    ;;4--转换成PFS文件
    ;;5--加入相关文件,如DCL文件,生成XL文件
    ;;;
    (DEFUN c:tyjm (/)
    ;;置换表中指定位置的元素
    (DEFUN sub_replace (a n l / i l1)
    (SETQ l1 '()
    i 0
    )
    (WHILE (<>

    下面是转换后NEW-TYJIAMI.LSP里对应的片段:
    ( DEFUN c:tyjm ( / )
    ( DEFUN sub_replace ( TY1 TY2 TY3 / i TY4 )
    ( SETQ TY4 ' ( )
    i 0
    )
    ( WHILE ( <>


    两者的区别显而易见。


  • 0 评论:

    Template Designed by Douglas Bowman - Updated to New Blogger by: Blogger Team
    Modified for 3-Column Layout by Hoctro