感谢 ndkrempel,十六进制的日期部分已被破译。时间还有待解码。但是,通过 ndkrempel 在该主题上的工作,我意识到整个时间戳包括额外的 7 个字节,我之前忽略了这些字节,因为我的文件通常包含零分钟或秒的时间戳。以下是一些“完整”的十六进制序列,希望包含准确转换所需的剩余时间数据:
C00AE440555555555555D53F555555555555D53FABAAAAAAAAAAEA3F0CF712000000 = 17.05.1208.00.001024
C00AE440ABAAAAAAAAAAE23F555555555555D53FABAAAAAAAAAAEA3F0CF71200E0C4 = 17.05.1214.00.001024
C00AE440610BB6600BB6E23F555555555555D53FABAAAAAAAAAAEA3F0CF7120058C5 = 17.05.1214.02.001024
C00AE440176CC1166CC1E23F555555555555D53FABAAAAAAAAAAEA3F0CF71200D0C5 = 17.05.1214.04.001024
C00AE440CDCCCCCCCCCCE23F555555555555D53FABAAAAAAAAAAEA3F0CF7120048C6 = 17.05.1214.06.001024
不同时间的附加十六进制代码
C00AE440721CC7711CC7E93F555555555555D53FABAAAAAAAAAAEA3F0CF71200E00F01 = 17.05.1219.20.001024
C00AE440CDCCCCCCCCCCE93F555555555555D53FABAAAAAAAAAAEA3F0CF712001C1001 = 17.05.1219.21.001024
C00AE440287DD2277DD2E93F555555555555D53FABAAAAAAAAAAEA3F0CF71200581001 = 17.05.1219.22.001024
C00AE440DEDDDDDDDDDDE93F555555555555D53FABAAAAAAAAAAEA3F0CF71200D01001 = 17.05.1219.24.001024
C00AE440398EE3388EE3E93F555555555555D53FABAAAAAAAAAAEA3F0CF712000C1101 = 17.05.1219.25.001024
C00AE440943EE9933EE9E93F555555555555D53FABAAAAAAAAAAEA3F0CF71200481101 = 17.05.1219.26.001024
C00AE440EFEEEEEEEEEEE93F555555555555D53FABAAAAAAAAAAEA3F0CF71200841101 = 17.05.1219.27.001024
C00AE4404A9FF4499FF4E93F555555555555D53FABAAAAAAAAAAEA3F0CF71200C01101 = 17.05.1219.28.001024
C00AE440A54FFAA44FFAE93F555555555555D53FABAAAAAAAAAAEA3F0CF71200FC1101 = 17.05.1219.29.001024
C00AE440000000000000EA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200381201 = 17.05.1219.30.001024
E00AE4404A9FF4499FF4EA3F555555555555D53FABAAAAAAAAAAEA3F0CF712004C1C01 = 18.05.1220.13.001024
E00AE440D8822DD8822DEB3F555555555555D53FABAAAAAAAAAAEA3F0CF71200A41E01 = 18.05.1220.23.001024
E00AE440666666666666EB3F555555555555D53FABAAAAAAAAAAEA3F0CF71200FC2001 = 18.05.1220.33.001024
E00AE440F5499FF4499FEB3F555555555555D53FABAAAAAAAAAAEA3F0CF71200542301 = 18.05.1220.43.001024
E00AE440832DD8822DD8EB3F555555555555D53FABAAAAAAAAAAEA3F0CF71200AC2501 = 18.05.1220.53.001024
E00AE440111111111111EC3F555555555555D53FABAAAAAAAAAAEA3F0CF71200042801 = 18.05.1221.03.001024
E00AE4409FF4499FF449EC3F555555555555D53FABAAAAAAAAAAEA3F0CF712005C2A01 = 18.05.1221.13.001024
E00AE4402ED8822DD882EC3F555555555555D53FABAAAAAAAAAAEA3F0CF71200B42C01 = 18.05.1221.23.001024
E00AE440BCBBBBBBBBBBEC3F555555555555D53FABAAAAAAAAAAEA3F0CF712000C2F01 = 18.05.1221.33.001024
E00AE440176CC1166CC1EC3F555555555555D53FABAAAAAAAAAAEA3F0CF71200482F01 = 18.05.1221.34.001024
E00AE440E42DCDC10BABDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200A28C00 = 18.05.1210.00.021024
E00AE4401DB1EFD86CABDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200A48C00 = 18.05.1210.00.041024
E00AE440563412F0CDABDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200A68C00 = 18.05.1210.00.061024
E00AE44090B734072FACDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200A88C00 = 18.05.1210.00.081024
E00AE440C93A571E90ACDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200AA8C00 = 18.05.1210.00.101024
E00AE44002BE7935F1ACDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200AC8C00 = 18.05.1210.00.121024
E00AE4403C419C4C52ADDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200AE8C00 = 18.05.1210.00.141024
E00AE44075C4BE63B3ADDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200B08C00 = 18.05.1210.00.161024
E00AE440AE47E17A14AEDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200B28C00 = 18.05.1210.00.181024
E00AE440E7CA039275AEDA3F555555555555D53FABAAAAAAAAAAEA3F0CF71200B48C00 = 18.05.1210.00.201024
前言:我尽我所能检查了我正在处理的十六进制似乎不符合“标准”十六进制日期/时间格式(time_t、time_64、DATE、DOS 日期/时间,由 Hex Workshop 计算)以及作为DCode时间解码器应用程序检查的所有格式)。
我正在尝试编写一个批处理对话实用程序来处理由内部未记录的软件生成的适当文件格式。我有能力使用一个被遗忘已久且文档记录也很差的实用程序来转换文件,但这是一个耗时且乏味的过程,我希望将其自动化。
只需使用十六进制编辑器,我就可以找到我需要的一切,除了原始文件中的日期和时间是如何编码的。我确信我已经确定了代表我所追求的数据的 27 字节十六进制序列,因为我可以对其进行编辑以更改日期并将其插入另一个文件以传输日期。但是,我想了解它是如何实际生成的,以便我可以隐藏日期未知的文件。
下面是十六进制序列的示例(左)和它们在转换后的文件中产生的时间戳(右为格式:DD.MM.YYHH.MM.SS)。有些是直接从软件生成的文件中获取的,有些是我手动编辑的序列,以查看日期是如何更改的。任何一年 > 12 的东西都是我修改十六进制的结果。有没有人有什么建议?我不是一个程序员,在这里我很头疼。
80D8E340ABAAAAAAAAAAEE3F555555555555DD3FABAAAAAAAAAAEE = 11.04.1123.00.001024
E008E440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 02.05.1208.00.001024
E001E440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 07.03.1208.00.001024
600AE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 14.05.1209.00.001024
610AE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 14.05.1209.00.001024
6001E440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 03.03.1209.00.001024
0101E440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 29.02.1208.00.001024
01010140555555555555D53F555555555555D53FABAAAAAAAAAAEA = 01.01.0008.00.001024
01010101555555555555D53F555555555555D53FABAAAAAAAAAAEA = 30.12.9908.00.001024
600AE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 14.05.1209.00.001024
60FFE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 25.09.1709.00.001024
60FFE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEA = 25.09.1709.00.001024
60FFE440000000000000D83FABAAAAAAAAAADA3FABFFFFFFFFFFEA = 25.09.1709.00.001024
60FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 25.09.1709.00.001024
01FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 22.09.1709.00.001024
02FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 22.09.1709.00.001024
10FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 22.09.1709.00.001024
20FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 23.09.1709.00.001024
30FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 23.09.1709.00.001024
40FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 24.09.1709.00.001024
50FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 24.09.1709.00.001024
60FFE440000000000000D83FAB0000000000DA3FAB0000000000EA = 25.09.1709.00.001024
600AE440000000000000D83FAB0000000000DA3FAB0000000000EA = 14.05.1209.00.001024
60FAE440000000000000D83FAB0000000000DA3FAB0000000000EA = 16.08.1709.00.001024
60FAE540000000000000D83FAB0000000000DA3FAB0000000000EA = 26.03.2309.00.001024
60FFE440FFFFFFFFFFFFD83FAB0000000000DA3FAB0000000000EA = 25.09.1709.22.301024
60FFE440010101010101D83FAB0000000000DA3FAB0000000000EA = 25.09.1709.00.051024
40DEE340ABAAAAAAAAAAE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 27.05.1117.00.001024
60DEE340ABAAAAAAAAAAE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 28.05.1117.00.001024
800AE440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 15.05.1208.00.001024
另外,我应该提到最后 14 个字节似乎并不是特别重要(尽管它们在原始文件中确实发生了变化)。例如,以下序列在转换后会产生相同的输出。我不知道这些值是在转换过程中被四舍五入还是被简单地剔除。无论如何,如果我能确定月、日、年、小时、分钟和秒,那部分并不重要。
E008E440555555555555D53F555555555555FFFFFFFFFFFFFFFFFF = 02.05.1208.00.001024
E008E440555555555555D53FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = 02.05.1208.00.001024
E008E440555555555555D53F000000000000000000000000000000 = 02.05.1208.00.001024
以下内容仅由源软件生成,未经手动修改。
40DEE340ABAAAAAAAAAAE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 27.05.1117.00.001024
60DEE340ABAAAAAAAAAAE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 28.05.1117.00.001024
80D8E340ABAAAAAAAAAAEE3F555555555555DD3FABAAAAAAAAAAEE = 11.04.1123.00.001024
E008E440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 02.05.1208.00.001024
600AE440000000000000D83FABAAAAAAAAAADA3FABAAAAAAAAAAEE = 14.05.1209.00.001024
800AE440555555555555D53F555555555555D53FABAAAAAAAAAAEA = 15.05.1209.00.001024
以下是来自不同时间文件的未经修改的十六进制序列:
A0B7E340ABAAAAAAAAAAE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 22.07.1016.00.001024
C0B7E340777777777777E73FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 23.07.1017.36.001024
A0EFE340CDCCCCCCCCCCE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 13.10.1117.06.001024
80EFE340BCBBBBBBBBBBE63FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 12.10.1117.03.001024
C0EEE340ABAAAAAAAAAAE13FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 06.10.1113.15.001024
60D5E340ABAAAAAAAAAACA3FABAAAAAAAAAACA3FABAAAAAAAAAAE6 = 17.03.1105.00.001024
任何帮助或建议将不胜感激。