好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 bigleader 于 2024-9-1 09:43 编辑
方法如下:
1.运行AutoCAD2007,打开od,附加acad.exe进程或都直接打开OD,运行AutoCAD
2.设置文件断点bp CreateFileA,bp ReadFile,按F9让CAD正常运行,
3.(load “***.vlx”)加载***.vlx,
4.运行到CreateFileA断点停下,
createFile
5.第一次F9,停在readfile断点,是读取4个字节到缓冲区。
6.第二次F9,停在readfile断点,是读取12个字节到缓冲区。
12字节readFile
12字节readFile值
7.第三次F9,停在readfile断点,是读取1000个字节到缓冲区。
1000字节readFile
1000字节readFile值
8.VLX格式解析
A、先用一张图展示一下,有不明白的,欢迎交流。
B、我们先看一下第五步: 5.第一次F9,停在readfile断点,是读取4个字节到缓冲区。如果你跟踪过内存,发现读取的是 00 00 00 00
如果想了解他的读取过程,在
在此步之前,增加 bp setFilePointer ,就发现CAD在createFile与readFile之间,new了一个ifream,读取了8-A步中图示的【5】,数据流大小,把文件指针移到了数据流未尾。
在读取四个空字符之后,再读取12个字节,验证VRTLIB-1..从而确定VLX的文件格式是否正确。 |
免费评分
-
查看全部评分
|