Я хотел бы, чтобы загрузить Windows 8 образов дисков, но файлы у меня есть для загрузки являются SDM.pkg
и 100189659562.sdx
. Как я могу открыть эти файлы на моем компьютере под управлением Ubuntu?
Я хотел бы, чтобы загрузить Windows 8 образов дисков, но файлы у меня есть для загрузки являются SDM.pkg
и 100189659562.sdx
. Как я могу открыть эти файлы на моем компьютере под управлением Ubuntu?
Ответы:
Я загрузил бесплатную виртуальную машину VirtualBox Windows XP с ресурса виртуальной машины Microsoft для веб-разработчиков (modern.ie) и использовал SDM внутри виртуальной машины для загрузки изображений в «общую папку» VirtualBox на хост-системе. (Wine не работает для меня (пробовал путь Бернда, Ubuntu 13.10).)
У меня была та же проблема, и, наконец, после нескольких недель обратного инжиниринга я написал программу, которая может распаковать файл SDC. Вы можете найти пошаговую инструкцию на моей странице прямо здесь :
Около месяца назад у меня была срочная необходимость скачать копию Microsoft Windows из Dreamspark. К сожалению, я не установил 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 ГБ. В этом случае 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, вы можете начать его распаковывать. Предыдущая часть была, по крайней мере для меня, очень легкой. Проблема началась, когда я попытался выяснить, как файл хранится в этом контейнере. Но не волнуйтесь, я написал простую программу, чтобы сделать это для вас. На данный момент (1 июня) он все еще находится на очень ранней альфа-стадии и имеет много ограничений. Он может распаковывать контейнеры, которые содержат только один упакованный файл, не создает никаких каталогов, не может проверить контрольную сумму файла и, возможно, несколько других проблем, о которых я не помню или не знаю.
Если вы немного искали в Интернете, вы, вероятно, узнали, что кто-то взломал этот контейнер в прошлом . К сожалению, Microsoft изменила формат с тех пор. Также возможно, что в ответ на эту статью она снова будет изменена. Чтобы им было немного сложнее заблокировать мое программное обеспечение, я публикую исходный код на github, а после завершения процесса обратного инжиниринга напишу вторую статью, описывающую, как все работает под капотом, и опишу формат файла sdc.
Но вернемся к распаковке. Теперь вам нужно скачать xSDM с github . Новейшую версию можно скачать, набрав
git clone https://github.com/v3l0c1r4pt0r/xSDM.git
в вашем терминале (конечно, вам нужно установить git). Тем не менее, я советую вам скачать новейшую версию с тегами. Вы можете сделать это, нажав на релизы на странице проекта, а затем выбрав один из них сверху (или первую бета-версию / стабильную, если есть) и нажав «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.
Распаковщик SDC можно скачать с github .
make install
если вы не хотите общесистемной установки.
«.Pkg» - это расширение для файлов установщика, которые обычно используются для установки программного обеспечения, и они в основном используются для установки приложений в Mac OS X. Эти файлы могут быть установлены по отдельности или на них также можно ссылаться с помощью установочный скрипт, который является частью программного обеспечения. 1
Упомянутый вами файл .pkg является установщиком для Secure Download Manager («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 Источник: ответ Томаса В.
Источник: Нити Науки
wine msiexec SDM.msi
должно бытьwine msiexec /i SDM.msi
Я только что нашел Linux-SDM-Downloader от GitHub
Он скачивает файлы SDC нормально.
Тем не менее, он не может извлечь ключевые файлы больше.
Я думаю, что стоит попробовать, хотя :-)
Этой программе нужно следовать, и кто знает, когда-нибудь извлечение ключей сработает.
Мое на данный момент самое простое решение для работы с новыми файлами SDM.msi и SDX:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
bash winetricks dotnet452 corefonts
wine msiexec /i SDM.msi