CADfas
文件格式研究
先介绍以下几种文件:
1
、
.lsp
文件是
lisp
源程序文件的扩展名,这种文件在运行时需要翻译成
中间代码才能在
cad
上执行,这种中间代码相当于
fas
的代码,在加载完
lisp
文件后,
lisp
文件被翻译成中间代码,驻留在内存中,这时我们可以在内存中
看到这段代码,所以有网友在说
lisp
文件运行快还是
fas
文件运行快,运行是
差不多的,只是
lisp
文件在加载的时候需要被翻译成中间代码,消耗了一点时
间,运行完全是和
fas
文件一样的
2
、
.fas
文件
fas
文件称为一种快速加载文件,这种文件省去了加载时的翻译时间,所以
相对较快一些,
vlx
和
fas
文件是
autocad
公司自己设计开发的一种文件。由于
文件被翻译成中间代码,
也保护了开发者的版权,
但是这种文件并不是完全没有
漏洞的,
fas
文件把资源代码加密成不直接可见的代码,但我们想一下,他既然
能加密,
在调用的时候当然要解密资源,
这一点大家都可以验证一下,
用内存工
具打开内存可以看到这些代码
3
、关于
vlx
vlx
相当于
lsp
、
fas
等资源文件的打包文件,在打包的时候先判断是否有
lsp
文件,如果有的话,先编译成
fas
文件,然后把
fas
文件和其他资源一起打
入包内,
vlx
也是经过仔细设计出来的文件,
里面包含了很多校验,
但是比起
fas
文件,
vlx
要容易的多,还想提一点就是
vlx
的限制:首先就是各个文件的文件
名:当然是字符串了,字符串长度不能大于
23
个,包含
24
,中文减半,否则编
译的时候会提示你,
vlx
把资源打入包内省去了路径的设置,方便管理,可以说
是大家的好帮手。
如果要研究包内的
fas
文件,
首先是要把包内的
fas
解包出来,
当然这一步不是很难,到时候会仔细介绍这一步。
我想下面要好好准备一下写
fas
文件格式了,
这对我来说很难,
因为很多地
方我也是一知半解,但希望能开阔大家的思路,
fas
文件应该是采用了某种文件
格式,
但是对文件格式我研究不多,
里面的大部分指令都是为了加快
cad
执行速
度的,几乎所有的数据都采用十六进制,当然也有少部分是
10
进制,所以先给
大家介绍一下这些工具,
大家先学一下,
熟悉一下工具的使用,
到时候大家不要
问工具使用方面的问题,大家先看一下这些工具:
1
、
OllyDbg
:一款动态调试软件
2
、
winhex
:
一款强大的支持内存编辑的十六进制软件,
必须熟悉这个工具,
数据的复制,选择等
首先还是熟悉一些基本常识:
1
、进制
十进制:
123456
十六进制:
0x123456
二进制:对于
fas
我们用不上,不介绍了
通常
fas
文件里面用到了这两种进制的表示方法,
fas
文件大部分都是用十
六进制表示,
是因为十六进制是一种比较高效的表示,
一位能存放的最大数是
f
,
相对于十进制的
16
,
cpu
认为十六进制是他本身的表示方法,
所以
fas
为了提高
效率也用了这种方法,而对于我们则不方便
2
、数据存储
如果熟悉这方面的朋友可以略过,
比如一个大小为三字节的数据:
0x01E240
,