0

我使用 dd 命令从磁带中提取了一个原始数据文件

之后,我设法用 Bless HexEditor 读取了提取的数据,我发现在偏移量 0x200000 处存储了一个表。

我想提取这些数据并将其导入 Excel 或 CSV 文件:

这是以十六进制格式提取的数据及其以 unsigned int little endian 表示的示例:

//Hex Not.    //Little-Endian unsigned int 32
10 00 00 00   // 84       (Ref Number)  
54 00 00 00   // 70185301 (Ref Number)
55 F1 2E 04   // 20070306 (Date)
A2 3F 32 01   // 15144184 (Time)
F8 14 E7 00   // 20070306 (Date)
A2 3F 32 01   // 15491037 (Time)
DD 5F EC 00   // 1
01 00 00 00   // 1
01 00 00 00   // 4486656
00 76 44 00   // 492
EC 01 00 00   // 1
01 00 00 00   // 814185724
FC 7C 87 30   // 814185728
00 7D 87 30   // 814185732
04 7D 87 30   // 16

表的新行

10 00 00 00   // 84
54 00 00 00   // 70185301
55 F1 2E 04   // 20070306
A2 3F 32 01   // 15491037
DD 5F EC 00   // 20070306
A2 3F 32 01   // 15534889
29 0B ED 00   // 18
12 00 00 00   // 1
01 00 00 00   // 4486656
00 76 44 00   // 492
EC 01 00 00   // 1
01 00 00 00   // 814185724
FC 7C 87 30   // 814185728
00 7D 87 30   // 814185732
04 7D 87 30   // 16

等等.....

我的问题是:

1)你能从这段转换后的数据开始理解原始文件是如何编码的吗?

2)如何转换这个原始文件,以便创建一个按行排序的数据的 excel 或 csv 文档?

这是我在 Java 中的尝试:

File fileInputString = new File(inputFileField.getText()); //Get the file in SWING 
FileInputStream fin = new FileInputStream(fileInputString);  
FileOutputStream out = new FileOutputStream(fileDirectoryFolder.getText() +"/"+ fileInputString.getName()); //Create the new converted file 

byte[] fileContent = new byte[(int)fileInputString.length()]; // import the raw data length
fin.read(fileContent); // read the data

for(int i = 0; i < fileContent.length; i++){
   out.write(fileContent[i]); // write the data
}
out.close();

谢谢

4

0 回答 0