11

私は小さなパズルに取り組んでいます。タイムスタンプであることがわかっているタイムスタンプがいくつかありますが、それらがどのようにエンコードされているかわかりません。

3ebf5b89 means 08-October-2013 hour 8 AM but minute I can't provide neither second 
3ebd5f09 means 09-October-2013 hour 8 AM Unknown minute/second.
3ea15d09 means 11-October-2013 hour 8 AM Unknown minute/second but before half past hour.

エンコーディングに関するアイデアはありますか?

奇妙な点は、日付が日が経つにつれて値が低くなるように見えることです。

10 進数に変換して小さな日付から大きな日付を差し引くと、秒単位で変換された値が得られ、2 つの日付の間の日数は 1 日あたり 5 時間の誤差があります。

ル:

より正確なタイムスタンプを取得することができました:

3ea02d09 - Oct 11th, 2013 at 17:10 (hour:minute)
3ea7ff89 - Oct 12th, 2013 at 14:28
3ea7cf09 - Oct 12th, 2013 at 15:34
4

3 に答える 3

1

Decimal に変換された HEX は、 Unix エポック時間と何らかの関係があるのだろうか:

これらの16進数は、あなたが言及したものとは異なりますが、いくつかの有効な日付に変換されています:

Hex 3ebf5b89 = Decimal 1052728201 = Mon, 12 May 2003 08:30:01 GMT

Hex 3ebd5f09 = Decimal 1052598025 = Sat, 10 May 2003 20:20:25 GMT

Hex 3ea15d09 = Decimal 1050762505 = Sat, 19 Apr 2003 14:28:25 GMT


Hex 3ea02d09 = Decimal 1050684681 = Fri, 18 Apr 2003 16:51:21 GMT

Hex 3ea7ff89 = Decimal 1051197321 = Thu, 24 Apr 2003 15:15:21 GMT

Hex 3ea7cf09 = Decimal 1051184905 = Thu, 24 Apr 2003 11:48:25 GMT
于 2013-10-21T03:59:50.237 に答える
1

入力のバイナリ形式をいじり、値と対応する UNIX タイムスタンプの間にビットごとの XOR (貧乏人の暗号)演算子を使用してみました。

これは私がこれまでに得たものです:

(1381507800 ^ 0x3ea02d09) = 0110110011111 00000001111 11 010 001

(1381584480 ^ 0x3ea7ff89) = 0110110011111 11010110001 11 101 001

(1381588440 ^ 0x3ea7cf09) = 0110110011111 11010010010 11 010 001
  • 16 ビット + 2 ビットは安定したままです。
  • 最初の 13 ビットと最後の 3 ビット (これらを組み合わせると 16 ビットになります) から、ある種の回転左シフトを思い浮かべます。

私のタイムゾーンは UTC+1 であるため、UNIX のタイム スタンプが正確でない可能性があることに注意してください。システムで対応するタイムスタンプを取得して、このリードをさらに推し進めることができれば素晴らしいことです。

于 2013-10-21T10:29:21.327 に答える
1

タイムスタンプは Pi をベースとして時間を計算しているようです!?

3ea7ff89 - 10 月 12 日 14 分 28 3ea7cf09 - 10 月 12 日 15 分 34

差: 12416 ~ 66 分 1 分あたり 60 秒を 60 で割った後、66 で割ると分差が得られ、3.13535353535 となり、これは Pi に非常に近い値です。pi を使用してフォーミュラを逆にすると、 Pi*66*60=12440 タイムスタンプで配信されなかった秒のエラー範囲になります。

于 2013-10-14T13:31:56.563 に答える