我想下载 Windows 8 磁盘映像,但我可以下载的文件是SDM.pkg
和100189659562.sdx
。如何在运行 Ubuntu 的计算机上打开这些文件?
答案1
我从以下网站下载了免费的 VirtualBox Windows XP VM:微软为 Web 开发人员提供的 VM 资源(modern.ie),并使用虚拟机内的 SDM 将图像下载到主机系统上的 VirtualBox“共享文件夹”中。(Wine 对我来说不起作用(尝试了 Bernd 的方法,Ubuntu 13.10)。)
答案2
我也遇到了同样的问题,经过几周的逆向工程,我终于写了一个可以解压 SDC 文件的程序。你可以在我的页面上找到分步说明这里:
大约一个月前,我急需从 Dreamspark 下载一份 Microsoft Windows。不幸的是,我当时还没有安装 Windows,所以不得不使用 Linux 来下载。成功交易后,我获得了一个 SDX 文件和名为 SDM 的程序的链接。这看起来很容易。但事实并非如此。我被鼓励下载的程序是带有 .pkg 扩展名的存档。几分钟后我发现它是 OS X 应用程序包。因此,下一步是尝试下载 Windows 版本并尝试在 Wine 的帮助下执行它。失败了。然后我尝试在网上寻找一些技巧。我发现其他几个人也遇到了同样的问题。他们中的一些人可以使用 Wine 下载,而有些人则不能。对我来说,只有一个解决方案:自己动手。您可能已经猜到了,这种方法(几乎)完全成功了。
解决方案
如果您已经有 SDC 文件,请不要跳过,因为您可能仍然没有解压文件所需的密钥。第一步是在您最喜欢的文本编辑器中打开 SDX 文件。您将看到一个链接。在网络浏览器中打开它。现在您需要获取页面源代码。完成此操作的方式取决于您的网络浏览器。现在我们需要在代码中找到一些奇怪的值。实现此目的的最简单方法是搜索关键字“edv*”,其中 * 是您要下载的文件数,从 1 开始计数(它们位于您打开的页面上的“项目”列表中)。现在您需要将以下变量的值复制到某处:“oiopu*”、“oiop*”、“fileID*”(-见上文)。我们需要的最后一个是“dlSelect' 但对于那个,您需要搜索,因为它在不同的地方。现在您可以构建 URL,它将允许您访问包含两个有趣值的文件:文件 URL 和解密字符串。此 URL 的格式为:
http://[SDXdomain]/WebStore/Account/SDMAuthorize.ashx?oiopu=[oiopu]&f=[fileID]&oiop=[oiop]&dl=[dlSelect]
现在您应该看到与此类似的 XML 文件:
<information> <oiopua>01234abcd-0123-4567-890a-0123456789ab</oiopua> <edv>0123456789^^0123456789QwErTyUiOpAsDfGhJkLzXc0123456789QwErTyUiOpAsDfGhJkLzXc12345678</edv> <linkAvailable>1</linkAvailable> <errorTextKey/> <invokeExternalDownload>0</invokeExternalDownload> <fileUrl><![CDATA[http://software.dreamspark.com/dreamspark/ENGLISH/SDCfileName.sdc]]></fileUrl> </information>
这里的最后一步是从 fileUrl 下载文件并将 edv 值保存在文件中。重要的是,带有密钥的文件应与 SDC 文件完全一致,并添加“.key”后缀。
更新:
我刚刚发现,当文件大小超过 2.0 GB 时,情况会有所不同。在这种情况下,Dreamspark 会将文件拆分为两个或更多文件。这种情况很容易识别,因为 sdc 文件名的后缀是:“.01.sdc”。在这种情况下,您需要尝试下载 URL 仅相差一位数字的文件,即“.01.sdc”、“.02.sdc”、“.03.sdc”。当您遇到最后一个文件时,它应该比其他文件小,并且将该数字增加一应该会给您 BlobNotFound 错误。
下载完所有文件后,只需将它们合并为一个即可。使用 dd 即可轻松实现。
dd if=pl_windows_7_professional_with_sp1_x64_dvd_u_676944.02.sdc >> pl_windows_7_professional_with_sp1_x64_dvd_u_676944.01.sdc
然后可选
dd if=pl_windows_7_professional_with_sp1_x64_dvd_u_676944.03.sdc >> pl_windows_7_professional_with_sp1_x64_dvd_u_676944.01.sdc
此后,您将获得准备解压的 sdc 文件。
解开SDC
现在,既然您有了 SDC 文件,您就可以开始解压它了。至少对我来说,前面的部分非常简单。当我试图发现文件是如何存储在该容器中的时,问题就开始了。但别担心,我已经编写了一个简单的程序来为您完成这件事。截至目前(6 月 1 日),它仍处于非常早期的 alpha 阶段,并且有很多限制。它能够解压仅包含一个文件的容器,不会创建任何目录,无法验证文件的校验和,可能还有一些我不记得或不知道的其他问题。
如果你在互联网上搜索一下,你可能会发现过去有人破解过这个容器。不幸的是,微软从那时起就改变了格式。也有可能为了响应这篇文章而再次改变格式。为了让他们更难阻止我的软件,我在 github 上发布了源代码,在逆向工程完成后,我将撰写第二篇文章,描述底层工作原理并描述 sdc 文件格式。
现在让我们回到解压阶段。现在你需要下载来自 github 的 xSDM。最新版本可以通过输入下载
git clone https://github.com/v3l0c1r4pt0r/xSDM.git
在您的终端中(当然您需要安装 git)。不过,我建议您下载最新的标记版本。您可以通过单击项目页面上的版本,然后选择顶部的版本(或第一个 beta/stable 版本,如果有的话)并单击“tar.gz”来执行此操作。tar.gz 可以通过键入
tar -zxvf xSDM-[tag-name].tar.gz
进入控制台。然后通过输入以下内容进入 xSDM 目录
cd xSDM
(或你的发布目录)并按标准编译程序
./configure make make install
安装是可选的。现在要解压文件,你只需要输入
src/xsdm [path-to-your-sdc-file]
就这样,您现在应该可以打开下载的文件了。如上所述,该程序处于早期 alpha 阶段,因此我无法保证它在任何情况下都能正常工作。如果您遇到任何问题,请随时在 github 上的项目页面上打开问题。
SDC 解包器可以从以下网址下载github。
答案3
“.pkg” 是安装程序文件的扩展名,通常用于安装软件程序,它们主要用于在 Mac OS X 中安装应用程序。这些文件可以单独安装,也可以使用作为软件一部分的安装程序脚本进行引用。1
您提到的 .pkg 文件是安全下载管理器 (SDM) 的安装程序。该程序无法在 Ubuntu 下运行,需要使用 Mac 操作系统才能运行。它只能在 Mac 上打开,因为它无法在 Ubuntu 下正确提取或安装。2
因此,您首先需要 MSI 安装程序来获取所需的软件包。要在 Ubuntu 机器上获取此程序,您可能需要将用户代理更改为 Windows 机器的用户代理,以便它为您提供下载 MSI 软件包的链接。这可以在许多浏览器中通过扩展程序完成 - 例如对于 Firefox。然后,您可以将其设置为浏览器的 Windows 版本,下载 MSI 和 SDX 文件,并根据需要禁用扩展程序
现在您可以使用 WINE 来运行此仅适用于 Windows 的文件。WINE 是一个软件包,它允许一些 Windows 应用程序在 Linux 上运行。要安装,只需按键盘上的Ctrl+ Alt+T打开终端。打开后,运行以下命令:
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get install wine
sudo apt-get install winetricks
确保在 WINE 中使用 IE6 作为浏览器 — SDM 只适用于此浏览器,而不适用于 IE9。因此,您需要获取 winetricks 包
然后,设置 wine。
export WINEARCH=win32
export WINEPREFIX=~/.wine32
winetricks ie6
现在,安装 SDM。
cd directory-where-you-saved-SDM.msi
wine msiexec /i SDM.msi
单击安装程序。将安装目录更改为 C:\SDM\ 或类似目录
现在您需要获取 .sdx 文件。保存它。该文件的名称类似于 100001234.sdx。
现在,把所有内容放在一起:
wine ~/.wine32/drive_c/SDM/e-academy\ Inc/SecureDownloadManager/SecureDownloadManager.exe 100001234.sdx
如有必要,请记得更改 sdx 文件的名称和可执行文件的路径。
1来源:特奇夫
2来源:Thomas W 的回答
来源:科学线索
答案4
我目前正在使用的最简单的解决方案是使用较新的 SDM.msi 和 SDX 文件:
使用最新的 winetricks 并安装 .net 4.5.2
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
bash winetricks dotnet452 corefonts
安装下载管理器
wine msiexec /i SDM.msi