我想下载Windows 8磁盘映像,但是我要下载的文件是SDM.pkg
和100189659562.sdx
。如何在运行Ubuntu的计算机上打开这些文件?
我想下载Windows 8磁盘映像,但是我要下载的文件是SDM.pkg
和100189659562.sdx
。如何在运行Ubuntu的计算机上打开这些文件?
Answers:
我从Microsoft的Web开发人员(modern.ie)的VM资源中下载了免费的VirtualBox Windows XP VM ,并使用VM内部的SDM将映像下载到主机系统上的VirtualBox“共享文件夹”中。(Wine不适用于我(尝试使用Bernd的方法,Ubuntu 13.10)。)
我遇到了同样的问题,最后经过几周的反向工程后,编写了一个程序,该程序能够解压缩SDC文件。您可以直接找到我的网页上一步一步的指示在这里:
大约一个月前,我迫切需要从Dreamspark下载Microsoft Windows的副本。不幸的是我当时还没有安装Windows,所以不得不使用Linux来完成。成功交易后,我得到了指向SDX文件和名为SDM的程序的链接。看起来很容易。但事实并非如此。我被鼓励下载的程序是带有.pkg扩展名的存档。几分钟后,我发现它是OS X应用程序包。因此,下一步是尝试下载Windows版本并尝试在Wine的帮助下执行它。失败了 然后,我尝试在网上找到一些技巧。我发现其他一些人也有同样的问题。其中一些可以使用Wine下载,而有些则不能。对我来说,只有一个解决方案:自己动手。正如您可能猜到的那样,这几乎是完全成功的。
解
如果您已经有SDC文件,请不要跳过,因为您可能仍然没有解压缩文件所需的密钥。第一步是在您喜欢的文本编辑器中打开SDX文件。您将看到一个链接。在网络浏览器中打开它。现在,您需要进入页面源。完成的方式取决于您的Web浏览器。现在我们需要在代码中找到一些奇怪的值。实现此目的的最简单方法是搜索关键字“ edv *”,其中*是要下载的文件数(从1开始计算)(它们在您打开的页面的“项目”列表中)。现在,您需要将以下变量的值复制到某处:'oiopu *','oiop *','fileID *'(-参见上文)。我们需要的最后一个是'dlSelect',但您需要搜索该内容,因为它位于另一个位置。现在,您可以构建URL,该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值保存在file中。重要的是带有密钥的文件应与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早期阶段,并且有很多限制。它能够解压缩仅包含一个文件的容器,不创建任何目录,无法验证文件的校验和以及其他一些我不记得或不知道的问题。
如果您在Internet上进行一些搜索,您可能发现过去有人破解了该容器。不幸的是,微软此后更改了格式。响应本文,也有可能再次更改它。为了让他们更难阻止我的软件,我在github上发布了源代码,在完成反向工程之后,将撰写第二篇文章,介绍如何在后台进行工作并描述sdc文件格式。
但是,让我们回到拆箱中。现在,您需要从github下载xSDM。可以通过键入以下内容下载最新版本
git clone https://github.com/v3l0c1r4pt0r/xSDM.git
在终端中(当然,您需要安装git)。不过,我建议您下载最新的标记版本。您可以通过单击项目页面上的发行版,然后选择顶部的发行版(或第一个beta /稳定版,如果有的话)并单击“ 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]
就是这样,您现在应该可以打开下载的文件。如上所述,该程序处于早期测试阶段,因此我不能保证它在任何情况下都可以运行。如果您遇到任何问题,请随时在github上的项目页面上打开问题。
make install
如果您不需要系统范围的安装,则无需使用。
“ .pkg”是通常用于安装软件程序的安装程序文件的扩展,它们主要用于在Mac OS X中安装应用程序。这些文件可以单独安装,也可以使用该软件的一部分的安装脚本。1个
您提到的.pkg文件是安全下载管理器(“ SDM”)的安装程序。该程序无法在Ubuntu下运行,并且需要使用Mac操作系统才能运行。它只能在Mac上打开,因为它无法正确解压缩或在Ubuntu下安装。2
因此,您首先需要MSI安装程序来获取所需的软件包。要在Ubuntu计算机上获得此权限,您可能需要将用户代理更改为Windows计算机的代理,以便为您提供下载MSI软件包的链接。这可以通过扩展程序在许多浏览器中完成,例如Firefox。然后,可以将其设置为浏览器的Windows等效版本,下载MSI和SDX文件,并根据需要禁用扩展名
现在,您可以使用WINE来运行此仅窗口文件。WINE是一个软件包,允许某些Windows应用程序在Linux上运行。要安装,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get install wine
sudo apt-get install winetricks
确保将IE6用作WINE中的浏览器-SDM仅与此兼容,而不与IE9兼容。因此,这就是为什么您需要获得Winetricks套餐的原因
然后,准备葡萄酒。
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资料来源: Techyv
2资料来源: Thomas W的答案
资料来源:科学线
wine msiexec SDM.msi
应该是wine msiexec /i SDM.msi
我刚刚从GitHub 找到了Linux-SDM-Downloader
它可以很好地下载SDC文件。
但是,它无法再提取密钥文件。
我认为值得一试,但:-)
此程序将被遵循,谁知道,有一天密钥提取将起作用。