在使用十六进制编辑器时,如果在文件中查找包含在其中的潜在图像,将搜索什么?标头类型,我不太喜欢编程,但是我在这里学习,一旦我学会了,我就可以继续成长。我有一个特定的文件,我相信其中包含带有打包为tim2(ps2图像)文件类型的图像。我正在处理的文件类型为.as7。 感谢您提供任何帮助。
答案 0 :(得分:1)
想象一下图像查看器。如果提供了文件,它可以评估文件后缀以选择适当的图像加载器。更好的方法是读取一定数量的第一字节。大多数图像文件格式(实际上,据我所知)都包含可用于标识的特定字节序列。 (这些通常称为“magic code”。)
因此,我用Google搜索“ tim2图像文件”以找到文件格式的描述。 (我必须承认我之前从未听说过它。)我在TM2 TIM2上找到了wiki.xentax.com:
格式规范
// Specs based off "Rainbow" from https://github.com/marco-calautti/Rainbow/ // IMAGE HEADER 4 - Header (TIM2) 2 - Version 2 - Number of Images
将TIM2
的ASCII转换为十六进制值(使用ASCII table),这些值是:
54 49 4D 32
因此,这是一个搜索序列。虽然,此序列的出现并不保证启动TIM2图像,但这至少是可能性的指示。
上述链接的更多内容:
// Specs based off "Rainbow" from https://github.com/marco-calautti/Rainbow/
// IMAGE HEADER
4 - Header (TIM2)
2 - Version
2 - Number of Images
// IMAGE DATA
// for each Image
4 - Total Image Length
4 - Palette Length
4 - Image Data Length
2 - Header Length
2 - Color Entries
1 - Image Format (0=8bpp paletted?)
1 - Mipmap Count
1 - CLUT Format
1 - Bits Per Pixel (1=16bbp, 2=24bpp, 3=32bbp, 4=4bbp, 5=8bpp)
2 - Image Width
2 - Image Height
8 - GsTEX0
8 - GsTEX1
4 - GsRegs
4 - GsTexClut
X - User Data (optional) (length = HeaderLength-48)
我将使用以下算法:
"\x54\x49\x4D\x32"
。for (std::uint16_t i = 0; i < nImages; ++i)
因此,可能会发生读取的数据实际上不是此类TIM2映像的情况。因此,读取可能会导致大量垃圾字节。它甚至可能尝试超过总二进制数据的结尾。后一种情况将清楚地表明错误尝试,必须将其丢弃。
某些标头条目似乎仅允许使用特定值,例如每像素位数似乎只允许在[1,5]范围内的值。可以用作数据是否是TIM2图像的附加指示符。
所有读取的数据必须照原样写入新文件。如Marks评论中所述,可以使用合适的图像查看器来探测数据(是否形成有效的TIM2图像)。
答案 1 :(得分:0)
您可以在文件中查找TIM2
标记(如@Scheff的出色答案所建议),
grep -abo TIM2 *as7
输出
12393:TIM2
161807:TIM2
363423:TIM2
506898:TIM2
698326:TIM2
844032:TIM2
1053892:TIM2
1242285:TIM2
1454184:TIM2
1580438:TIM2
1817300:TIM2
1944930:TIM2
这将告诉您TIM2标记所在的字节偏移量。然后,您可以使用以下方法提取第一个文件:
dd if=file.as7 bs=12393 skip=1 > 1.tm2
第二个是:
dd if=file.as7 bs=161807 skip=1 > 2.tm2
以此类推。
如果然后以十六进制格式转储第一个TIM2文件,则会得到以下信息:
xxd 1.tm2
输出
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
我暂时找不到观众,但可能会继续添加我在这里提出的所有内容。
我查看了所有12个TIM2文件的前几个字节,在我看来它们都是版本4 而不是版本2,因为它们都以:
开头5449 4d32 0400
使TIM2
后跟4。
10.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9c80 9a06 ...2e..;.`.,....
00000030: fd07 0002 ed0a ef0a f30a d295 98c9 c9da ................
00000040: f7fc fcfc fcfc fcfb fbfb faf9 f9f7 f3f0 ................
11.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
12.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9c1e e30e ...2e..;.`.,....
00000030: e380 990a f8ff a0a0 c0c0 e0f0 f4f3 f4f3 ................
00000040: f3f3 f7ee eff3 efee dee7 efe8 eff7 e7ef ................
2.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9c9c ae8a ...2e..;.`.,....
00000030: a2b7 8a68 80a2 807a 807a 8a6c 546c 806c ...h...z.z.lTl.l
00000040: 7048 545d 160d 1012 1419 1001 9e01 709d pHT]..........p.
3.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
4.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9c97 f2f2 ...2e..;.`.,....
00000030: f2f2 f2ed ede6 e0d4 cfca b982 6553 4c4c ............eSLL
00000040: 3f3f 53b1 b0a2 0360 829f 9e9e 0152 0d57 ??S....`.....R.W
5.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
6.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9cff 4f6f ...2e..;.`.,..Oo
00000030: 8a90 7e90 b7b3 adb3 d7e4 c26b 3838 455e ..~........k88E^
00000040: b5df bca8 5e31 1f39 6f6f 1e2b 351c 231e ....^1.9oo.+5.#.
7.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 025c 9c0b 1903 ...2e..;.`.\....
00000030: 1c07 200b cb0b dc9e 5758 594b 3f3f 3e37 .. .....WXYK??>7
00000040: 9a7f 9894 7b66 3c28 201b 5b86 a2a4 b3bc ....{f<( .[.....
8.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 022c 9cff f6f6 ...2e..;.`.,....
00000030: f6f6 f5f5 f6f6 f6f4 f4f6 f4f4 f4ea ecec ................
00000040: eaea ecf1 fcfc fcfc fcfc fcfc fcfa fcfa ................
9.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
a.tm2
00000000: 5449 4d32 0400 0118 9c85 3004 0400 0004 TIM2......0.....
00000010: 043b 9204 0030 0000 0100 0103 0500 0200 .;...0..........
00000020: 0200 0032 6502 003b 8160 027c 9c7c 9c7c ...2e..;.`.|.|.|
00000030: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|
00000040: 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c 9c7c .|.|.|.|.|.|.|.|