2010-06-13 52 views
1

當我和一個老的應用程序與現有的數據庫,這是在MS-訪問工作包含了一些奇怪的數據編碼如48001700030E0F465075465A56525E1100121D04121B565A58電子郵件地址未知的數據編碼

什麼樣的數據編碼的這是什麼?我試過base64,但它似乎似乎。任何具有ms訪問經驗的人都可以告訴我可能的編碼是什麼。

編輯:

更多的樣本

  1. 54001700030E0F46507546474550481C1D09090D04461B565A195E5F
  2. 40001700030E0F4650755F564E545F06025D100E0C
  3. 38001700030E0F4650754545564654155C101C0C
  4. 46001700030E0F4650755D565150591D1B0007124F565A58

上述樣品是肯定的電子郵件和網頁URL看起來這

  1. 440505045D070D54585C5B50585D581C1701004F025A58
  2. 440505045D121147544C5B584D4B5D17015D100E4F5C5B

這是VB + MS訪問計劃,如果可以是任何的幫助,我認爲這一些標準編碼

編輯(2)::

從看網頁的URL編碼似乎0505045D可能是HTTP://

編輯(3)::

1組合發現

52021301161209755354595A5E5F561D170B030E1341461B56585A == [email protected]

+0

我不能告訴你它是什麼,但如果你確定數據代表電子郵件地址,並且你有足夠的數據,你應該能夠使用一些簡單的解密技術來解碼它。 – 2010-06-13 10:15:54

+0

這顯然是一個十六進制字符串,但很難說出它是如何解釋的。你有純文本/編碼文本對嗎? – 2010-06-13 10:17:00

+0

@Mark假定字符串是用固定密鑰加密的電子郵件地址的十六進制表示形式 - 例如128位AES密鑰。打破這個要求成功地執行已知純文本(如果OP可以生成新對的選擇明文)對AES的攻擊。這可能需要一段時間... – 2010-06-13 10:22:51

回答

1

它似乎是以十六進制編碼的字節。但是這些字節意味着什麼,我不知道。其解碼爲ASCII沒有太大透露:

 
H \x00\x17\x00\x03\x0e\x0fFPu FZVR^ \x11\x00\x12\x1d\x04\x12\x1bVZX 
T \x00\x17\x00\x03\x0e\x0fFPu FGEPH \x1c\x1d\t\t\r\x04F\x1bVZ\x19^_ 
@ \x00\x17\x00\x03\x0e\x0fFPu _VNT_ \x06\x02]\x10\x0e\x0c 
8 \x00\x17\x00\x03\x0e\x0fFPu EEVFT \x15\\\x10\x1c\x0c 
F \x00\x17\x00\x03\x0e\x0fFPu ]VQPY \x1d\x1b\x00\x07\x12OVZX 

事情我已經注意到,可能有助於破解密碼:

  • 第2至第10個字節出現不斷\x00\x17\x00\x03\x0e\x0fFPu
  • 第一個字節是BCD長度(由DanielBrückner發現!)
  • 第16個字節向前看起來像一些二進制格式,要麼是對數據進行編碼,要麼是對數據的指針。
  • 其中兩個結束於:\x12?VZX
+0

我確定它是電子郵件,但我怎麼能逆向工程呢? – 2010-06-13 10:15:07

+0

@Keyur Shah:你能發表更多的例子嗎?說5到10個例子?你有沒有編碼地址,你碰巧也知道解碼版本,或者可以根據例如他們工作的人或公司的名字,對部分或全部地址進行邏輯猜測?你有其他可以發佈的信息嗎?有了足夠的信息,可能會對該格式進行逆向工程。例如,第二個和第三個字節可能是一個長度編碼。雖然如果有人能夠找到明顯更容易的方法的規格。 – 2010-06-13 10:17:54

+0

1)54001700030E0F46507546474550481C1D09090D04461B565A195E5F 2)40001700030E0F4650755F564E545F06025D100E0C 3)38001700030E0F4650754545564654155C101C0C 4)46001700030E0F4650755D565150591D1B0007124F565A58 這是VB + MS訪問程序如果能夠任何幫助,我認爲它的一些標準編碼 – 2010-06-13 10:21:18

1

這些字符串似乎是一些二進制數據的十六進制表示。

前兩位是字符串的長度 - 十進制,不是十六進制 - 所以不是整個字符串是十六進制的。

38 001700030E0F465075 4545 5646 5415 5C10 1C0C 
40 001700030E0F465075 5F56 4E54 5F06 025D 100E 0C 
46 001700030E0F465075 5D56 5150 591D 1B00 0712 4F56 5A58 
48 001700030E0F465075 465A 5652 5E11 0012 1D04 121B 565A 58 
54 001700030E0F465075 4647 4550 481C 1D09 090D 0446 1B56 5A19 5E5F 
^^
| | 
| +---- constant part, 9 bytes, maybe mailto: or same domain name of 
|  reversed email addresses ([email protected]) 
| 
+---- length of the reset in decimal, not hexadecimal 

我可以看到沒有明確指示at-sign的位置和頂級域之前的點。似乎是針對簡單的單字母替換如ROT13的指示。

[email protected] 

Length 

    26 characters 

Histogram 

1x 

h @ f l i n g x t . c 

3x o 
2x p 2x a 2x m 2x r 2x e 2x s 

ASCII values in hexadecimal representation 

    70 61 72 65 73 68 40 66 61 6C 
    6D 69 6E 67 6F 65 78 70 6F 72 
    74 73 2E 63 6F 6D 

The length of 52 hexadecimal symbols matches length of the 
encoded string. 

52 02 13 01 16 12 09 75 53 54 59 
    5A 5E 5F 56 1D 17 0B 03 0E 13 
    41 46 1B 56 58 5A 

Histogram 

1x 

01 02 03 09 0B 0E 12 16 17 1B 
1D 41 46 53 54 58 59 5E 5F 75 

2x 13 2x 56 2x 5A 

直方圖不匹配 - 所以這就排除了單字母替換後可能跟着字符串的排列。

+0

+1好發現。那些字節看起來是BCD。可能只有第一個字節是長度,但看看他最近的例子。 – 2010-06-13 10:36:47