1

当我查看 www.bing.com/maps html 源文件时,我遇到了一些指向 .xap.png 档案的奇怪的“streetsidePrefetchFileUrls”URL:

例如:hxxp://c0.ecn.catalogservice.virtualearth.net/cs/dc/pf/Xaps/bcbc3954e568c46cf8c3cc00737da32c_Microsoft.Maps.Framework.xap.png

该文件有一个 PNG Header 并包含一个 IDAT 块。IDAT 块不包含像素数据,而是一个(损坏的)PKZIP 存档,其中包含 Microsoft Maps DLL。

有人知道微软为什么使用 PNG 作为 xap 档案的容器吗?

我尝试使用 unzip 和 7z 解压缩该存档。它们都检测到 PNG 中的 ZIP 存档,但因错误而中止解包。

4

2 回答 2

0

是的,我注意到他们在地图应用程序 api 发布 Beta 版之前更改为这种保护。我认为这是他们为来自 3rd 方开发人员的 xap 代码提供一些保护的方式,我们已经尝试了很多方法来解密这些但没有任何运气,但它的代码必须在初始的 silverlight 代码中,所以通过大量的反编译你可以大概找到了

于 2012-02-29T19:34:51.147 回答
0

http://bing.com/maps上提供的许多 Bing 地图应用程序都包含专有算法和代码。png 编码有助于防止人们解密 XAP 文件并对其进行反编译。也就是说,如果您正在尝试弄清楚如何做某事,那么请尝试提出该问题。

于 2012-03-02T16:14:19.907 回答