确定文件使用哪种编码?

发布于 2024-10-17 01:31:43 字数 2251 浏览 1 评论 0原文

我有一个文件,我认为它是 XML 类型文件,但是当我将扩展名更改为 TXT 并通过文本编辑器打开它时,我得到了“

.�2�'��7cõ’¥¶_ä™πUUUN?¯ÖÀuóbåqW÷õxó_i}Ï08Y‚û¡d≈§•§è«/Óÿ`*∆cÅ·x…ëë«Öµ¶fi—

是否有任何方法可以确定正在使用哪种编码?”

编辑:

该文件是用于合法证词软件的 ptx 文件。我正在尝试为 Mac 创建一个阅读器。

这是十六进制编辑器中的文件内容。

1D 2E 01 00 08 32 01 00 27 05 00 00 02 37 63 9B D5 B4 A6 5F 8A AA B9 55 55 55 4E 3F F8 85 CB 75 97 62 03 8C 71 57 D6 9B 78 97 5F 69 7D EC 30 38 59 E2 9E C1 64 C5 A4 A5 A4 8F C7 2F EE D8 60 2A C6 63 81 E1 78 C9 07 91 91 C7 85 B5 A6 DE D1 0D 00 B2 03 99 27 0E 07 E2 3A 22 13 23 0C 4A 14 6C 0A AF 3E 29 53 AA 7E AE C3 3B 01 F6 11 14 27 74 3A C0 D7 D5 D7 22 27 18 55 B7 53 2A 5D 84 5E 3B F7 50 36 07 0C 30 1E F9 D4 FB C1 D7 02 5D 80 F6 85 6D 9C 30 1C 98 B0 C2 74 42 37 8F 76 F0 A4 D7 90 88 09 D1 2A 88 E6 56 BD 41 F5 C3 B2 08 05 8F 15 3B B8 E4 8C 59 2D 12 51 F4 68 7A 15 7A C3 D2 AB 87 68 84 FF 5E 7C 18 D7 21 0F E2 C4 D7 FC 4F B6 1B BC E2 7C 9C 6D FE DA C4 CB E3 60 C3 33 63 74 E6 B7 AB 6A DE B3 9F D2 6E E1 47 51 3B 0B CE EE 6E 21 A1 3C 26 6D A1 59 08 63 93 14 D3 CB 22 F9 E3 A8 E6 9F 8A 69 D7 44 93 4B AE 4D 49 C2 4F 06 7C AD 1D FC 0E C3 B7 CB 75 EB 87 74 84 FE 4F A5 5F 80 9F B3 F4 2A 7B 20 9A 54 73 5E 81 F8 B2 F8 5D 88 D7 8A EB 99 49 2E F7 F0 2B 0C 2F D8 CB 13 D6 21 35 5E 45 F7 53 61 E7 76 8E 5E F5 CB BC 2F 21 F4 8D 91 A3 82 79 A9 DF E0 1B 2E 38 D1 09 C9 2C 78 E9 E3 93 91 8D 7F 27 BE F7 45 B6 EA C0 A7 99 89 92 EF 2E 5A 39 AC CD 70 EF 90 9F CF A5 57 AC 55 D8 62 7E 02 D0 67 84 D1 21 29 B0 E9 94 59 7C 96 FE F1 3F 80 3D 9D 42 61 E1 AB 44 3C 55 70 F1 87 BB F3 2E BC FE 04 24 F5 11 55 6B 36 5D BE 54 F6 EB 63 B8 88 20 0F 25 4E 7E 50 DA CA E6 F2 E8 60 E9 0A A4 E1 65 C2 DC 05 D1 4C FB CB 2D 28 79 91 B3 87 75 93 8E B3 43 69 C7 35 73 E3 3E B5 CD 4B 62 B6 F8 5B 2D A9 B3 73 4F 4C 78 8B AC 3C C0 21 5B 97 45 E3 A8 57 2A D4 D3 70 7E 22 9A 27 63 28 0F 38 6C 67 B2 29 A6 42 83 AD 15 DE CE 5E 95 CA 2F 48 CD F9 9A E6 C6 D0 F4 06 96 62 F8 98 58 ED 43 27 B9 9A DB 4B 21 69 6B CB A6 58 F8 09 C5 31 07 A4 3D F9 CD 4C C9 CB 6F 64 8E AA 15 0D 39 27 5B 2E 7C 2D 5B 0F 55 54 AB D7 57 0D 10 CC AA FC 87 D0 FF 7C 01 05 00 00 02 5E 63 BB D1 A6 A6 5F E5 55 51 55 55 55 77 8F FF 1A 92 50 86 CC D9 C6 DE 2A DB 52 DD 29 78 97 BA AC DB C2 CE 03 80 E8 87 52 53 AE 66 F8 

I have a file that I believe to be an XML type file but when I change the extension to TXT and open it through a text editor I get

.�2�'��7cõ’¥¶_ä™πUUUN?¯ÖÀuóbåqW÷õxó_i}Ï08Y‚û¡d≈§•§è«/Óÿ`*∆cÅ·x…ëë«Öµ¶fi—

Is there anyway to determine what kind of encoding is being used?

EDIT:

The file is a ptx file used for legal deposition software. I am trying to create a reader for the mac.

This is contents of the file from a hex editor.

1D 2E 01 00 08 32 01 00 27 05 00 00 02 37 63 9B D5 B4 A6 5F 8A AA B9 55 55 55 4E 3F F8 85 CB 75 97 62 03 8C 71 57 D6 9B 78 97 5F 69 7D EC 30 38 59 E2 9E C1 64 C5 A4 A5 A4 8F C7 2F EE D8 60 2A C6 63 81 E1 78 C9 07 91 91 C7 85 B5 A6 DE D1 0D 00 B2 03 99 27 0E 07 E2 3A 22 13 23 0C 4A 14 6C 0A AF 3E 29 53 AA 7E AE C3 3B 01 F6 11 14 27 74 3A C0 D7 D5 D7 22 27 18 55 B7 53 2A 5D 84 5E 3B F7 50 36 07 0C 30 1E F9 D4 FB C1 D7 02 5D 80 F6 85 6D 9C 30 1C 98 B0 C2 74 42 37 8F 76 F0 A4 D7 90 88 09 D1 2A 88 E6 56 BD 41 F5 C3 B2 08 05 8F 15 3B B8 E4 8C 59 2D 12 51 F4 68 7A 15 7A C3 D2 AB 87 68 84 FF 5E 7C 18 D7 21 0F E2 C4 D7 FC 4F B6 1B BC E2 7C 9C 6D FE DA C4 CB E3 60 C3 33 63 74 E6 B7 AB 6A DE B3 9F D2 6E E1 47 51 3B 0B CE EE 6E 21 A1 3C 26 6D A1 59 08 63 93 14 D3 CB 22 F9 E3 A8 E6 9F 8A 69 D7 44 93 4B AE 4D 49 C2 4F 06 7C AD 1D FC 0E C3 B7 CB 75 EB 87 74 84 FE 4F A5 5F 80 9F B3 F4 2A 7B 20 9A 54 73 5E 81 F8 B2 F8 5D 88 D7 8A EB 99 49 2E F7 F0 2B 0C 2F D8 CB 13 D6 21 35 5E 45 F7 53 61 E7 76 8E 5E F5 CB BC 2F 21 F4 8D 91 A3 82 79 A9 DF E0 1B 2E 38 D1 09 C9 2C 78 E9 E3 93 91 8D 7F 27 BE F7 45 B6 EA C0 A7 99 89 92 EF 2E 5A 39 AC CD 70 EF 90 9F CF A5 57 AC 55 D8 62 7E 02 D0 67 84 D1 21 29 B0 E9 94 59 7C 96 FE F1 3F 80 3D 9D 42 61 E1 AB 44 3C 55 70 F1 87 BB F3 2E BC FE 04 24 F5 11 55 6B 36 5D BE 54 F6 EB 63 B8 88 20 0F 25 4E 7E 50 DA CA E6 F2 E8 60 E9 0A A4 E1 65 C2 DC 05 D1 4C FB CB 2D 28 79 91 B3 87 75 93 8E B3 43 69 C7 35 73 E3 3E B5 CD 4B 62 B6 F8 5B 2D A9 B3 73 4F 4C 78 8B AC 3C C0 21 5B 97 45 E3 A8 57 2A D4 D3 70 7E 22 9A 27 63 28 0F 38 6C 67 B2 29 A6 42 83 AD 15 DE CE 5E 95 CA 2F 48 CD F9 9A E6 C6 D0 F4 06 96 62 F8 98 58 ED 43 27 B9 9A DB 4B 21 69 6B CB A6 58 F8 09 C5 31 07 A4 3D F9 CD 4C C9 CB 6F 64 8E AA 15 0D 39 27 5B 2E 7C 2D 5B 0F 55 54 AB D7 57 0D 10 CC AA FC 87 D0 FF 7C 01 05 00 00 02 5E 63 BB D1 A6 A6 5F E5 55 51 55 55 55 77 8F FF 1A 92 50 86 CC D9 C6 DE 2A DB 52 DD 29 78 97 BA AC DB C2 CE 03 80 E8 87 52 53 AE 66 F8 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔一刀 2024-10-24 01:31:43

看起来不像常见的字符集。几乎所有编码都以某种形式保留 ASCII 字符。

所以我看到了一些可能性:

  1. 压缩文本/xml 文件中的文件
  2. 加密文本/xml 文件中的文件
  3. 这是一种二进制文件格式
  4. 它已被混淆

现在,如果我们查看它,我们会看到带有重复字符的序列,例如“UUU”和“ ëë”经常出现。由于加密数据看起来完全随机,这使得第二种选择不太可能。

是什么让您认为这应该是一个 xml 文件?由于该文件是二进制文件,您可能希望以十六进制而不是文本形式发布文件的开头。

看看你的十六进制转储,我很确定它没有加密。像“01 00”这样的序列是未压缩二进制格式的典型序列。所以这是我最好的猜测。


仅从示例文件编写解析器相当困难。我首先尝试的是在网上寻找格式规范。

如果您尝试找出文件格式,您可以开始逆向创建它们的应用程序(如果程序被编译为程序集,则相当困难,而对于字节码(例如 java 或 .net)使用则相当容易)。

或者您从一个简单的文件开始。在程序中对其进行最小的更改并比较文件中的差异。这是一项繁重的工作,而且只适用于相当简单的文件格式。


我在搜索时找不到规范。而且似乎只有一个实现。您可以尝试联系创建它的公司,但我不知何故怀疑他们会提供帮助。所以我想你需要自己对格式进行逆向工程。这可能并不容易,而且需要相当多的工作。看起来不错。

Doesn't look like an common charset. Almost any encoding preserves ASCII characters in some form.

So I see a few possibilities:

  1. The file in a compressed text/xml file
  2. The file in a encrypted text/xml file
  3. It's a binary file format
  4. It's obfuscated

Now if we look at it we see sequences with repeated characters like "UUU" and "ëë" occur quite often. Since encrypted data appears completely random this makes the second option unlikely.

What makes you think that this should be an xml file? And since the file is binary you might want to post the beginning of the file in hex instead of text.

Looking at your hex-dump I'm pretty sure it's not encrypted. And sequences like "01 00" are typical for an uncompressed binary format. So that's my best guess.


Writing a parser from just a sample file is rather hard. First thing I'd try is looking for a format specification on the net.

If you try to figure out a file format you can either start reversing the application creating them(That's rather hard if the program is compiled to assembly, and rather easy for byte-code such as java or .net use).

Or you start with a simple file. Make minimal changes to it in the program and compare the differences in the file. That's a lot of work, and only possible for rather simple file formats.


I couldn't find a specification when searching a bit. And there seems to be only a single implementation. You could try contacting the company who created it, but I somehow doubt they'll help. So I guess you need to reverse engineer the format yourself. That's probably not easy and quite a bit of work. Good look.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文