我注意到了一些奇怪的事情。OllyDbg 似乎正确加载了 Wine 自己的 dll。但是当我在 OllyDBG 中检查 PE 标头时,它与我期望的不同。在所有其他情况下,文件内容与 OllyDbg 中的 PE 头完全匹配。但是在 Wine 库的情况下,甚至文件签名也不同。
文件中的前三个字节:4D 5A 40 OllyDbg 内存转储:4D 5A 90
然后加载库的其余部分也不同。我没有注意到我检查过的几个 Windows dll 的这种行为。谷歌搜索也没有帮助。有人知道这是怎么回事吗?
更多发现
差异示例
在文件中 - OllyDbg PE 标头
DOS_PEOffset 60 - 40
第 3 - 2 节的数量
尽管我自己的文件分析期望导出表 RVA 和导出表大小为 0,但 OllyDbg 似乎能够读取导出的 Wine dll 符号。请注意,我自己的分析在正常的 Windows dll 文件上正常工作。
以上差异来自 oleaut32.dll,但我在检查其他 Wine dll 时发现类似。Wine dll 的位置:~/.wine/drive_c/windows/system32
我使用的是 wine-1.4.1 和 OllyDbg 2.01。