2013-06-03 89 views
5
AAAAAAFuAAIAAAZNYWMgT1MAAAAAAAAAAAAAAAAAAAAAAAAAAADMrsHTSCsAAAALuG8NYWxleHN1Y2tzLmRpYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPJXS83SjIoAAAAAAAAAAP////8AAAkgAAAAAAAAAAAAAAAAAAAAB0Rlc2t0b3AAABAACAAAzK6zwwAAABEACAAAzdJ+egAAAAEADAALuG8AC7hIAADK3wACADFNYWMgT1M6VXNlcnM6AGFuZHJld3ByeWRlOgBEZXNrdG9wOgBhbGV4c3Vja3MuZGljAAAOABwADQBhAGwAZQB4AHMAdQBjAGsAcwAuAGQAaQBjAA8ADgAGAE0AYQBjACAATwBTABIAJ1VzZXJzL2FuZHJld3ByeWRlL0Rlc2t0b3AvYWxleHN1Y2tzLmRpYwAAEwABLwAAFQACABL//wAA 

這是來自用於Microsoft Office 2011 Mac的~/Library/Preferences/com.microsoft.office.plist文件的數據字段。誰能告訴我這是什麼編碼?

它使用base64部分解碼,但看起來並不完全是base64。

編輯: 這是另一個例子。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<data>AAAAAAFWAAIAAAZNYWMgT1MAAAAAAAAAAAAAAAAAAAAAAAAAAADMrsHTSCsAAAALuG8HMm5kLmRpYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgev83SjIoAAAAAAAAAAP////8AAAkgAAAAAAAAAAAAAAAAAAAAB0Rlc2t0b3AAABAACAAAzK6zwwAAABEACAAAzdJ+egAAAAEADAALuG8AC7hIAADK3wACACtNYWMgT1M6VXNlcnM6AGFuZHJld3ByeWRlOgBEZXNrdG9wOgAybmQuZGljAAAOABAABwAyAG4AZAAuAGQAaQBjAA8ADgAGAE0AYQBjACAATwBTABIAIVVzZXJzL2FuZHJld3ByeWRlL0Rlc2t0b3AvMm5kLmRpYwAAEwABLwAAFQACABL//wAA</data> 
</plist> 
+0

這會幫助嗎? http://office.microsoft.com/en-us/word-help/choose-text-encoding-when-you-open-and-save-files-HA102004472.aspx – karthikr

+0

看起來像一個混合文本的二進制文件。 –

+0

什麼是base64解碼字符串? – John

回答

1

該編碼是base64,它正確解碼爲二進制文件。

你經常會在包含字符串的二進制文件中看到的東西是字符串包含字符串長度之前的字節。這個沒什麼不同。如果使用十六進制編輯器查看它,則緊接在「Desktop」之前的字節值爲7.

如果還有其他內容,您可能會反對設計該文件的而不是你打算從中得到的文本,但它大部分似乎是對某種「巧妙」命名的字典文件的引用。

FWIW,我用this tool解碼文件。

+0

有關逆向工程的任何想法?我需要能夠在'.plist'中寫入這個字段:-( – Prydie

+0

恐怕我不能在那裏得到很多幫助。有[guides](http://en.wikibooks。 org/wiki/Reverse_Engineering/File_Formats)這種事情,和其他相關的堆棧溢出問題:http://stackoverflow.com/questions/492751/tools-to-help-reverse-engineer-binary-file-formats –

+0

這個Mac工具(來自鏈接的SO問題)實際上看起來很酷:http://www.synalysis.net/ –

2

base64通常用於編碼解碼二進制文件,如圖像。正如你在解碼上述文件時看到的那樣,它包含幾個可識別的ASCII字符串,但大部分是二進制的。

屬性列表是存儲序列化對象的格式。它也用於在Office 2011 Mac中存儲設置。如果您對該特定文件的詳細信息感興趣,請查看here。有關具體格式的詳細信息,請滾動至~/Library/Preferences/com.microsoft.office.plist

這將幫助您理解ASCII字符串的含義。要完全提取並查看plist(甚至是二進制部分),可以使用Property List Editor和plutil。 (請參閱source)。有幾個程序可以做同樣的事情。

但是如果你需要學習如何閱讀和從plist文件(屬性列表)寫的,你可以檢查這些鏈接:

  1. http://en.wikipedia.org/wiki/Property_list
  2. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html
2

這似乎是Base64編碼。已解碼的字符串是

n Mac OS      Ì®ÁÓH+ ¸o 
alexsucks.dic             òWKÍÒŒŠ  ÿÿÿÿ      Desktop  Ì®³Ã  ÍÒ~z  ¸o ¸H Êß 1Mac OS:Users: andrewpryde: Desktop: alexsucks.dic  
a l e x s u c k s . d i c M a c O S 'Users/andrewpryde/Desktop/alexsucks.dic / ÿÿ 
+2

除了作爲答案之一ers ..'alexsucks.dic'首先吸引了我的注意 –

+0

我的幽默感可能在這裏有點不合適,但是哦。我更感興趣的是對base 64進行編碼的逆向工程。是的,它是base64(實際上我認爲它是xcode將數據編碼爲base64,當我將它從.plist中複製出來,因爲它似乎在編輯器中顯示爲十六進制值),但是我感興趣的是如何編寫一個這些與我自己的文件路徑。 – Prydie

0

看起來像一個二進制文件限定使用32位鍵的字典(整數?),串與包含字符串的長度的字節前綴。有些值似乎被零填充。你需要寫什麼值?

編輯:此工具可能會幫助:Package maker

+0

感謝您的回覆。我需要能夠創建一個引用文件路徑幷包含Word Mac 2011的所有信息的閱讀器,然後將字典包含在自定義字典列表中。 – Prydie

相關問題