Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to download Windows 8 disk images, but the files I have for the download are SDM.pkg and 100189659562.sdx. How can I open these files on my computer running Ubuntu?

share|improve this question
for .pkg file > – Qasim May 9 '13 at 6:47
for .sdx > – Qasim May 9 '13 at 6:49
Google Translation :Tu pregunta no está limpia, por favor, actualice su duda de que lo que quieres hacer. – Qasim May 9 '13 at 6:57
Note to everyone: The pairing of SDM.pkg and any .sdx file suggests the usage of Secure Download Manager for MSDNAA, OnTheHub, or DreamSpark downloads of Windows ISOs and software, which are all license-required things. That is the missing information for this question, and I made a note of that here and in my answer. – Thomas Ward Sep 4 '13 at 1:27

I downloaded a cost-free VirtualBox Windows XP VM from Microsoft's VM resource for web developers (, and used the SDM inside of the VM to download the images into a VirtualBox "Shared Folder" on the host system. (Wine didn't work for me (tried Bernd's way, Ubuntu 13.10).)

share|improve this answer
wine seems to be borked for running msiexec at the moment. A bug fix has been issued for the debian repos, none for the ubuntu repos. Thanks for the VW tip, this seems to be the most stable solution. – Captain Giraffe Feb 17 '15 at 22:02

I had the same problem and finally after a few weeks of reverse engineering wrote a program that is able to unpack an SDC file. You can find step-by-step instruction on my page right here:

About a month or so ago I had an urgent need to download a copy of Microsoft Windows from Dreamspark. Unfortunately I haven’t Windows installed then so had to do this using Linux. After successful transaction I was given a link to SDX file and program called SDM. It looked that it would be easy. But it wasn’t. Program that I was encouraged to download was archive with .pkg extension. As I discovered few minutes later it was OS X application package. So the next step was to try to download Windows version and try to execute it with help of Wine. It failed. Then I tried to find some tips on the Net. I found a few other people having the same problem. Some of them could download using Wine and some not. For me there was only one solution: do it myself. As you probably guessed that way was a (almost) full success.


If you already have SDC file please do not skip since you probably still don’t have a key needed to unpack the file. The first step is to open SDX file in your favorite text editor. You will see a link. Open it in a web browser. Now you need to get to page source. The way it can be done depends on your web browser. Now we need to find few strange values in the code. The easiest way to achieve this is to search for keyword ‘edv*’ where * is the number of file you want to download counting from 1 (they are on ‘Items’ list on page you opened). Now you need to copy somewhere values of the following variables: ‘oiopu*’, ‘oiop*’, ‘fileID*’ (-see above). The last one we need is ‘dlSelect’ but for that one you need to search cause it is in a different place. Now you can build URL that will let you to file containing two interesting values: file URL and decryption string. This URL’s format is:


Now you should see XML file that looks similar to this:


The last step here will be downloading file from fileUrl and saving edv value in file. The important thing is that the file with a key should be named exactly as SDC file with addition of ‘.key’ suffix.


I’ve just discovered that things are getting a bit different when the file size exceeds 2.0 GB. In that case Dreamspark is splitting file in two or more files. That situation could be easily recognized, because sdc file name’s suffix is: ‘.01.sdc’. In that case you need to try to download file which URL differs by only that one digit, ie. ‘.01.sdc’, ‘.02.sdc’, ‘.03.sdc’. When you encounter last file it should have smaller size than the rest and incrementing that number by one should give you BlobNotFound error.

After downloading all the files they just need to be joined into one. It can be easily achieved with dd, ie.

 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

and then optionally

 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

After that you will get sdc file prepared to unpack.

Unpacking SDC

Now since you have SDC file you can start unpacking it. The previous part was, at least for me, very easy. The problem started when I tried to discover how the file is stored in that container. But don’t worry, I’ve written simple program to do it for you. As of now (1st June) it is still in really early alpha stage and have lot of constraints. It is able to unpack containers that contains only one file packed, doesn’t create any directories, cannot verify file’s checksum and probably few other problems I don’t remember or don’t know about.

If you were searching a bit in the Internet, you probably found out that someone cracked that container in the past. Unfortunately Microsoft changed format since then. It is also possible that in response to this article it will be changed again. To make it a bit harder for them to block my software I’m publishing source code on github and after the process of reverse engineering is finished will write second article describing how things works under the hood and describe sdc file format.

But let’s get back to unpacking. Now you need to download xSDM from github. The newest version can be downloaded by typing

git clone

in your terminal (of course you need to have git installed). Nevertheless I advice you to download newest tagged release. You can do this by clicking on releases on project page and then choosing the one on the top (or first beta/stable if any) and clicking on “tar.gz”. tar.gz can be unpacked by typing

tar -zxvf xSDM-[tag-name].tar.gz

into console. Then get into xSDM directory by typing

cd xSDM

(or your release directory) and compile the program by standard

make install

where installation is optional. Now to unpack your file you just need to type

 src/xsdm [path-to-your-sdc-file]

And that’s it, you should now be able to open file you downloaded. As mentioned above the program is in very early alpha so I cannot guarantee that it will work in any case. If you will encounter any problems feel free to open issue on project page at github.

SDC unpacker can be downloaded from github.

share|improve this answer
This worked great for me! I needed to use the '-f' (force) option when invoking xSDM or xSDM would fail. Thanks v3l0c1r4pt0r! – hogliux Jul 7 '14 at 15:00
Worked perfectly! Thanks – muyiscoi Jun 21 at 18:43

The ".pkg" is an extension for the installer files that are usually used to install a software program, and they are mostly used for installing applications in Mac OS X. These files may be installed individually or they can as well be referenced using an installer script which is part of the software.1

The .pkg file you've mentioned is the installer for the Secure Download Manager ("SDM"). That program does not operate under Ubuntu, and requires the use of a Mac operating system to make it work. It can only be opened on Mac as it does not correctly extract or install under Ubuntu. 2

So you will first need the MSI installer to get the needed packages. To get this on a Ubuntu machine, you likely will need to change your user agent to that of a Windows machine so it gives you the link to download the MSI package. This can be done in many browsers via a extension - e.g. for Firefox. You can then set it to the Windows equivalent of your browser, download the MSI and SDX files, and disable the extension if you wish

Now you can use WINE to allow you to run this Window-only file. WINE is a software package that allows some windows applications to run on Linux. To install, just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command(s) below:

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get install wine
sudo apt-get install winetricks

Make sure that you use IE6 as the browser in WINE — the SDM just works with this and not with IE9. So, that' why you need to get the winetricks package

Then, setup wine.

export WINEARCH=win32
export WINEPREFIX=~/.wine32
winetricks ie6

Now, install the SDM.

cd directory-where-you-saved-SDM.msi
wine msiexec /i SDM.msi    

Click through the installer. Change the install directory to C:\SDM\ or something similar

Now you need to get the .sdx file. Save it. The file is named something like 100001234.sdx.

Now, to put it all together:

wine ~/.wine32/drive_c/SDM/e-academy\ Inc/SecureDownloadManager/SecureDownloadManager.exe 100001234.sdx

Remember to change the name of the sdx file and the path to the executable, if necessary.


2 Source: Thomas W's answer

Source:Threads of Science

share|improve this answer
SDX files in this context are actually files used by the "Secure Download Manager" (SDM), not audio files. However, since you can't install SDM, you won't be able to use the SDX file. – Moshe Katz Sep 3 '13 at 17:18
@MosheKatz The OP did not give a lot of info, and therefore the question was closed. I don't think that deserves a downvote :) Take a look at This – Mitch Sep 3 '13 at 17:43
try to download SDM from this link – deadmo5quito Sep 24 '13 at 10:36
I think above wine msiexec SDM.msi should be wine msiexec /i SDM.msi – Sampo Smolander Feb 5 '14 at 17:52
Note: If you don't install IE6, nor use WINEARCH=win32, it installs fine and also seems to run fine, but the actual download never starts, it keeps staying at 0%. – Albert Aug 9 '14 at 11:58

protected by Community Mar 16 '15 at 16:40

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.