alisp文件加密测试.LSP

(2012-02-26 17:02:35)

标签:

四柱液压机

娱乐

alisp文件加密测试.LSP

最后修改时间: ;|alisp文件加密的探索AutoLISP保护文件的格式

AutoCAD虽然没有提供加密、解密AutoLISP的工具软件,但其本身却可以接收两种格式的LISP文件.一种是保护格式的;另一种是文本格式的.读入文件后,AutoCAD首先会作出判断,一旦确定文件是保护格式的,则在加载该程序前,自动将加密文件代码予以还原,然后再读入命令解释器.下面我们来看看AutoLISP保护格式文件的格式.起始地址及终止地址(Bytes)

功能 0-29 保护文件的标识字符串计30Bytes,为"AutoCAD PROTECTED

LISP file\0x0D\0x0A\0x1A". 30 密码字符,只有一个字节. 31及以后

已加密的程序码.注意:前30个字节用户不得改动; 第30位是密码字母,龙门液压机,用户可以任意给定,譬如字母'A';

第31位起可由附录程序经过加密计算后写入文件.**加密与解密的原理**

加密与解密的一个重要工具是"按位异或(^)运算".其作用是判断两运算量相应位的值是否"相异",若为异,则为1,否则为0.即:0^0=0;0^1=1;1^0=1;1^1=0.因其具有双向转换、还原的能力,四柱三梁,故在密码学上得到广泛应用.让我们来看看:

A|01000001 8|00111000 ^y|01111001 ^A|01000001 8|00111000

y|01111001上式中0x41='A'、0x79='y'、0x38='8',

'A'^'y'='8';'8'^'A'='y';'y'^'8'='A'. 可以看出按位异或运算具有双向转换、还原的能力.

AutoCAD在加密、解密时,除了运用上述方法外,四柱液压机,另外还使用了一个技巧,就是移位运算,

将被转换字符的8个位全部左移一位,相当于将该整数乘以2,若最高位是1(移位后>256),

则将溢出位1移至最末位,否则用0代替末位,这样就保证了加密码与原代码一一对应.我们假设用函数F表示这一运算过程.----字符0x96,二进制为10010110,则F(0x96)=F(10010110)=00101101=0x2D.----我们用下面两个算式,三梁四柱油压机,来说明加密、解密的具体过程,式中各符号的意义:A0->B=A^B;A-B=F(A)^B;A/B=F(A)^B;各字符均以16进制表示,假设密码字母是'A'(0x41).原始程序码为:(PRINC)加密过程如下:----(princ)

-> 28 70 72 69 6E 63 29 具体过程为: 1、0x41^0x28=0x69;

(按位异或) 2、F(0x69)=0xD2; (移位运算) 3、0xD2^0x70=0xA2; (按位异或)

2、F(0xA2)=0x45; (移位运算) 3、0x45^0x72=0x37;结果(69 A2 37 07 60 A3

6E)解密过程如下:----41->

69-A2-37-76-0A-36-ED-hh(依次类推)----287072696E6329结果(PRINC)具体过程为:1、0x41^0x69=0x28;(字符'(')2、F(0x69)=0xD2;3、0xD2^0xA2=0x70;(字符'p')hh|功能:定义函数,实现

左移一位操作;|;;测试:(setq lst (vl-string->list

"(princ)lst 65)|;(defun F+ (INT / TMP) ;;先转换成二进制

(setq TMP (DEG->BIN INT)) ;;补齐为 8 位(while

(< (strlen TMP) 8) (setq TMP (strcat

"0" TMP)) ) ;;将首位移动到末位 (setq TMP

(strcat (substr TMP 2 7) (substr TMP 1 1))) ;;返回

(BIN->DEG TMP)功能:仿autolisp加密文本(defun ++++ (LST

KEYSCI / LST1 N TMP) (setq LST1 foreach N LST (progn 异或操作 (setq TMP

(boole 6 KEYSCI N)) (setq LST1 (cons TMP LST1)计算下一个 密匙 (setq KEYSCI

(F+ TMP)返回 ;;(vl-list->string (reverse LST1))

(reverse LST1)解密;;; (defun ---- (LST KEYSCI / LST1 N TMP) (setq

LST1 foreach N LST (progn 异或操作 (setq TMP (boole 6 KEYSCI N)) (setq

LST1 (cons TMP LST1)计算下一个 秘匙 (setq KEYSCI (F+ N)返回

;;(vl-list->string (reverse LST1)) (reverse

LST1)defun C:TT1 (/ STR LST FF N) ;; (setq STR

"(PRINC

\"OK\")") (setq

LST (vl-string->list STR)) (setq LST (++++ LST 65))

;;写入文件 (setq FF (open

"d:\\test\\test.txt"

"w")) (foreach N LST (write-char

N FF) ) (close FF) (princ)defun C:TT2 (/ LST FF TMP N) (setq LST

'()) ;;读文件 (setq FF (open

"d:\\test\\test.txt"

"r")) (while (setq TMP (read-char

FF)) (setq LST (cons TMP LST)) ) (close FF) ;; (setq LST (----

(reverse LST) 65)) (princ (vl-list->string LST))

(princ)加入文件头(defun C:TT3 (/ LST FF TMP N I) (setq LST '()) ;;读文件

(setq FF (open

"d:\\test\\test.txt"

"r")) (while (setq TMP (read-char

FF)) (setq LST (cons TMP LST)) ) (close FF) ;;写入文件 (if (setq FF

(open "d:\\test\\test.lsp"

"w")) (progn ;;写入文件头 (foreach N

(vl-string->list "AutoCAD PROTECTED

LISP file") (write-char N FF) ) (write-char 13 FF)

(write-char 10 FF) (write-char 26 FF) ;;写入 (write-char 65 FF)

;;写入文件内容 (setq STR "(alert

\"测试成功\")(PRINC

\"OK\")") (setq

LST (vl-string->list STR)) (setq LST (++++ LST 65))

(foreach N LST (write-char N

FF)princ)十进制转化为二进制;;;例如:(deg->bin 3)

返回"11";;;

(deg->bin 5)

返回"101"(defun

DEG->BIN (INT / A B) (if (< INT 1)

"0" (if (= INT 1)

"1" (progn (setq A (/ INT 2) B (-

INT (* A 2)) ) (strcat (DEG->BIN A) (itoa

B)二进制转化为十进制;;;例如:(bin->deg

"11") 返回 3;;;

(deg->bin "101")

返回 5(defun BIN->DEG (STR) (if (<=

(strlen STR) 1) (if (= STR "1") 1

0 ) (if (= (substr STR 1 1) "1")

(+ (expt 2 (- (strlen STR) 1)) (BIN->DEG (substr STR

2)) ) (BIN->DEG (substr STR 2)) ) ))

分享:

喜欢

0

赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

中望lisp加密_alisp文件加密测试.LSP相关推荐

  1. Android中的ClassLoader与dex文件加密实现分析

    Android中的ClassLoader BaseDexClassLoader Dex类加载器的基类,包含Dex类加载器之间通用功能的实现. DexClassLoader A class loader ...

  2. openssl md5算法 —— Linux下(字符串加密、文件加密)

    理解openssl md5: OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. OpenSSL被曝出现 ...

  3. Android 加密之文件加密(FBE)

    一:加密简介: 加密是使用对称加密密钥对 Android 设备上的所有用户数据进行编码的过程.设备经过加密后,所有由用户创建的数据在存入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程 ...

  4. win11系统txt文件怎么加密 windows11txt文件加密的解决方法

    Win11系统txt文件怎么加密?Win11系统txt文件加密方法,win11系统中的文件不想让别人打开查看,可以添加密码,该怎么加密呢?加密某个文档,可以使用第三方的加密工具,也可以使用系统自带的加 ...

  5. php代码 加密,php文件加密操作流程

    不同的PHP调试环境,加密略有差异.下面主要介绍windows下phpstudy2018.xampp及phpstudy-pro三种环境的php文件加密. 01不同环境的通用流程 1.用Virbox P ...

  6. php dse加密,DSE文件加密软件怎么与OA、ERP兼容呢

    一.ERP与DSE兼容使用 1.DSE加密的文件上传到ERP并支持在线编辑 终端用户同时部署DSE和ERP系统的客户端, 经DSE加密的文件需上传到ERP并可在线编辑,只需做如上图示设置:将ERP客户 ...

  7. 使用python对文件进行加密——PDF文件加密

    使用PyPDF2模块对pfd文件加密,最终效果在最后. # -*- coding: utf-8 -*- # @fun : 对pdf文件进行加密 # @Time : 2021/11/11 4:51 下午 ...

  8. 计算机 bat文件夹加密,bat文件加密介绍【图解】

    懂电脑的人一定知道bat文件是什么,但对电脑一知半解或者不怎么懂电脑的,一定不知道它是什么了,bat文件是计算机系统文件类型,在DOS和WINDOWS系统,它是可执行文件,也就是说大家可以使用它来编辑 ...

  9. php目录文件加密,PHP文件加密流程

    部署Windows系统程序加密流程 不同的PHP调试环境,加密略有差异.下面主要介绍windows下phpstudy2018.xampp及phpstudy-pro三种环境的php文件加密. 不同环境的 ...

  10. php 对文件加密,PHP文件加密

    PHP文件加密 发表于 2015-12-24 / 2041 次围观 //返回随机字符串 function RandAbc($length = "") { $str = " ...

最新文章

  1. 如何修改VC6的项目名
  2. python爬虫导入数据库_python爬虫爬下来的数据怎么导入到MySQL
  3. SpringCloud学习笔记(1)- Spring Cloud Alibaba
  4. 最简洁的y460显卡切换安装方式
  5. xp定时关机软件_好用又免费的电脑定时工具,不用得后悔
  6. 接facebook广告_Facebook广告分析
  7. 初学大数据之如何选择机器学习算法
  8. Shiro过滤器配置(ShiroFilterFactoryBean)
  9. mysql客户端报错1366_mysql一些异常
  10. 基于Starling移动项目开发准备工作
  11. atitit 编程语言选型知识点体系.docx 编程语言选型时,你需要考虑的几个方面 目录 1. 1.2. 类型系统 5 1 2. 1.5. 语言规范 25 1 3. 1.6. 编程范式 52
  12. Docker container 集装箱说明
  13. C# 和欧姆龙 Omron PLC 以太网通信
  14. 2021爱分析·数据智能平台厂商全景报告
  15. 构筑城市生命线:应急管理需要新思路,全域能力成关键
  16. 1. 神禹(shenyu)网关启动踩坑
  17. python实现猜测随机数
  18. 使用新浪微博开发者平台的第一步---注册
  19. 你还为给自己的IT团队起名字,写口号烦恼吗?(较为流行的团队名称)
  20. Paper Reading - 基础系列 - 常用评价指标 ROC、PR、mAP

热门文章

  1. 唐纳德 高德纳给年轻人的建议 Donald Knuth - My advice to young people
  2. 【蓝桥杯真题】2021年蓝桥杯省赛B组题目解析+代码(C/C++)
  3. Android 蓝牙AVRCP 专题(2)-----黑名单
  4. 计算机应用cad题库,cad试题库
  5. vbs整人代码蓝屏_vbs整人代码
  6. MENTOR 安装过程
  7. tomcat7.0安装及配置教程(win10)
  8. 【FPGA】QuartusII_13.1安装及破解
  9. 推荐一个基于Spring Boot + Vue的实习管理系统
  10. [转贴]深山红叶使用图文教程