【问题标题】:Can anyone tell me what encoding this is?谁能告诉我这是什么编码?
【发布时间】:2013-05-29 22:22:43
【问题描述】:
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>

【问题讨论】:

  • 看起来像一个混合了文本的二进制文件。
  • base64 解码后的字符串是什么?
  • 没关系。我明白你为什么不发布它。
  • @karthikr 恐怕没有。这是 .plist 中设置的编码,而不是文档本身。

标签: encoding ms-office


【解决方案1】:

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   /    ÿÿ  
    

    【讨论】:

    • 除了成为答案之一..alexsucks.dic 引起了我的注意
    • 我的幽默感在这里可能有点不恰当,但哦,好吧。我对逆向工程更感兴趣 base 64 的编码。是的,它是base64(事实上,当我从.plist 复制它时,我认为它是将数据编码为base64 的xcode,因为它似乎在编辑器中显示为十六进制值)但我感兴趣的是如何编写其中一个这些带有我自己的文件路径。
    【解决方案3】:

    编码为base64,正确解码为二进制文件。

    在包含字符串的二进制文件中,您经常会看到紧接在字符串之前的字节包含字符串的长度。这个没什么不同。如果您使用十六进制编辑器查看它,“桌面”一词之前的字节的值为 7。

    如果您打算从中删除文本以外的其他内容,您可能无法对文件的 point 进行逆向工程,但它似乎只是对文件的引用某种“巧妙”命名的字典文件。

    FWIW,我使用this tool 来解码文件。

    【讨论】:

    • 对逆向工程有什么想法吗?我需要能够在.plist 中写入该字段:-(
    • 恐怕我不能太多在那里帮助。网上有guides这类东西,还有其他相关的Stack Overflow问题:stackoverflow.com/questions/492751/…
    • 这个 Mac 工具(来自链接的 SO 问题)实际上看起来很酷:synalysis.net
    • 还可以查看包含类似数据的文件(例如:.lnk 文件)的定义,以了解某些数据可能是什么:msdn.microsoft.com/en-us/library/dd871305.aspx
    • 顺便说一句,这些数据在什么键下?
    【解决方案4】:

    看起来像一个二进制文件,它定义了一个带有 32 位键(整数?)的字典,字符串以包含字符串长度的字节为前缀。一些值似乎用零填充。您需要写入哪些值?

    编辑:此工具可能会有所帮助:Package maker

    【讨论】:

    • 感谢您的回复。我需要能够创建其中一个引用文件路径并包含 Word Mac 2011 读取它的所有信息,然后将字典包含在其自定义字典列表中的其中一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多