我最近刚刚就是做了这样一件事情,解决了一个重大的问题,呵呵。
我们公司使用Tektronix的示波器,生成的报告需要手动处理,工作量非常巨大,其实整个业界都这样。所以想写一个自动处理的工具,但是Tek不给对应的文件格式。然后我只好自己研究他们文件的格式,痛苦了几周,竟然找到了读取相应数据的方法,以前需要1周处理的时间,现在只要2分钟就够了。
说说我的心得:
一般这种Dat文件都是二进制文件,你可以先用UltraEdit-32打开目测一下,一般会看到很多都是二进制数据,这些数据一般都是存储的结构体或者其它数据文件。比如一个结构体
begin
a : Boolean;
d : TDateTime;
end;结构体一般很难看到规律。但是要是存储的是图片就好多了,上次我也是偶然之间看到了有“BM”两个字母,突然想到BMP的文件就是以“BM”开头,然后把相应的数据保存下来,竟然可以打开,这就进了一步,当然JPG也类似。这样你就可以编程,对相应开头的图片保存下来。
另外,在这些二进制文件里面一般都可以看到一些字符串,这些也是重要的突破口,比如有一个结构体:
begin
title: string[10];
date : TDateTime;
end;
在UltraEdit里直接显示为可视的字符串,你可以根据这个字符串的含义来猜测周边变量的类型,然后得到你想要的数值。
说的这些都是没有加密的,假如软件故意把一些数据加密,那就难了。