Tallene i tredje kolonne øker over tid, noe som er en god start. La oss sjekke forskjellene mellom tallene på påfølgende linjer for å se om progresjonen er lineær:
#! / Usr / bin / env pythonimport re, sys, timelines = sys.stdin.readlines () def parse (l): return time.mktime (map (int, l [0: 6]) + [0] * 3), int (l [6], 16) stamps = [parse (re.split ('[ \ n .:] + ', linje)) for linje i linjer] utskriftslinjer [0] [: 20] for i i xrange (1, len (stempler)): (t1, x1) = stempler [i] (t0 , x0) = stempler [i-1] utskrift "% s% 8d% 18d% 12d"% (linjer [i] [: 20], t1-t0, x1-x0, (x1-x0) / (t1-t0 ))
Utgang:
2012.12.15 03: 25: 002013.01.01 00:50:00 1459500 1530417643520000 10485903682013.05.23 20:35:00 12339900 12935551254528000 10482703462013.05.23 21:45:00 4200 4377804800000 10423344762013.05.24 17:10:00 69900 73549217792000 10522062632013.05.25 01:10:00 28800 29955719168000 10401291372013.05.25 02:15127000 3900 54000 56486789120000 10460516502013.05.25 19:55:00 9600 10063183872000 10482483202013.05.25 20:30:00 2100 2455764992000 11694119002013.05.29 06:25:00 294900 309126496256000 10482417642013.05.29 06:35:00 600 394264576000 6571076262013.05.29 06:40:00000 3003860 21:40:00 140400 146949537792000 1046649129
Progresjonen er faktisk stort sett lineær, med de mest ekstreme hastighetene som tilsvarer de korteste intervallene der usikkerheten er relativt stor. Det er ingen markant hopp på en endring av en dag, måned eller år, så antallet er sannsynligvis direkte et antall tidsenheter og ikke år-måned-dag-time-minutt-sekund pakket i kolonner.
er nær nanosekunder, men faktisk nærmere 1048 millioner flått per sekund. Det er fullt mulig at noen av sifrene til høyre koder for noe annet.
Det er bemerkelsesverdig at alle forskjellene er multipler av 1000. La oss skrive ut heksadesimale tall i desimal:
96773547474113553141596399677354748941772957679639967735476187732421220763996773547618817020170076399677354761955251234799639967735476198520695396763996773547619894316666716399677354762045918455791639967735476205598163966363996773547620584374046556399677354762367563900911639967735476236795816548763996773547623683597700956399677354762515309307887639
639
er ikke bemerkelsesverdig, og jeg ser heller ikke noe mønster i de foregående sifrene. Det ser ut til at dataene på et tidspunkt ble bygget fra sammenkobling av desimaltegn.
Husker du intervallene som var nærmere 1048 millioner per sekund? Siden de siste 3 desimaltegnene sannsynligvis ikke er en del av tiden, må vi dele dette tallet med 1000. Resultatet er bemerkelsesverdig nær 2 ^ 20 deler per sekund. Så dataene ser ut til å være samlet i desimal på et tidspunkt, og i heksadesimal på et annet punkt! La oss dele heksadesimale tall med 1000, men skrive dem ut i heks:
for (l, s) i zip (linjer, stempler): t = (s [1] - 639) / 1000; skriv ut l [: 20], s [0], hex (t)
Output:
2012.12.15 03:25:00 1355538300.0 0x20c9c4695f29de6a7efL2013. 01.01 00:50:00 1356997800,0 0x20c9c469756f1e6a7efL2013.05.23 20:35:00 1369337700,0 0x20c9c46a31abcd6a7efL2013.05.23 21:45:00 1369341900,0 0x20c9c46a31bc1c6a7efL2013.05.24 17:10:00 1369411800,0 0x20c9c46a32ce1a6a7efL2013.05.25 01:10:00 1369440600,0 0x20c9c46a333db26a7efL2013.05.25 02:15: 00 1369444500,0 0x20c9c46a334d6f6a7efL2013.05.25 17:15:00 1369498500,0 0x20c9c46a341fdd6a7efL2013.05.25 19:55:00 1369508100,0 0x20c9c46a34455a6a7efL2013.05.25 20:30:00 1369510200,0 0x20c9c46a344e806a7efL2013.05.29 06:25:00 1369805100,0 0x20c9c46a38ce166a7efL2013.05.29 06:35:00 1369805700,0 0x20c9c46a38cf8e6a7efL2013.05.29 06:40:00 1369806000.0 0x20c9c46a38d10d6a7efL
2013.05.30 21:40:00 1369946400.0 0x20c9c46a3af47b6a7efL
De siste 5 heksadesimale sifrene er konstante. Det er neste del til venstre som tilsvarer omtrent sekunder siden en epoke. Å strippe av noen sifre til venstre bør gi epoken, vanskeligheten er å vite hvor mange heksadesimale sifre som skal strippes og hvor mange desimaler som skal strippes. Jeg finner ikke en fin epoke.