Я хотів би, щоб завантажити Windows 8 образів дисків, але файли у мене є для завантаження є SDM.pkg
і 100189659562.sdx
. Як я можу відкрити ці файли на своєму комп’ютері під управлінням Ubuntu?
Я хотів би, щоб завантажити Windows 8 образів дисків, але файли у мене є для завантаження є SDM.pkg
і 100189659562.sdx
. Як я можу відкрити ці файли на своєму комп’ютері під управлінням Ubuntu?
Відповіді:
Я завантажив безкоштовну програму VirtualBox Windows XP VM з ресурсу VM Microsoft для веб-розробників (modern.ie) і використав SDM всередині VM для завантаження зображень у VirtualBox "Спільна папка" на хост-системі. (Вино для мене не вийшло (спробував Бернда, Ubuntu 13.10).)
У мене була така ж проблема, і, нарешті, через кілька тижнів зворотної інженерії написав програму, яка здатна розпакувати файл SDC. Ви можете знайти покрокову інструкцію на моїй сторінці прямо тут :
Близько місяця тому або в мене була нагальна потреба завантажити копію Microsoft Windows з Dreamspark. На жаль, тоді я не встановив Windows, тому довелося це робити за допомогою Linux. Після успішної транзакції мені дали посилання на файл SDX і програму під назвою SDM. Виглядало, що це буде легко. Але це було не так Програма, яку мені запропонували завантажити, - це архів із розширенням .pkg. Як я виявив через кілька хвилин, це був пакет програм X OS. Тож наступним кроком було спробувати завантажити версію 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, про який ви згадали, - це програма встановлення для менеджера безпечних завантажень ("SDM"). Ця програма не працює в Ubuntu, і для її роботи потрібно використовувати операційну систему Mac. Його можна відкрити лише на Mac, оскільки він неправильно витягує та не встановлює під Ubuntu. 2
Тому спочатку вам знадобиться інсталятор MSI, щоб отримати необхідні пакети. Щоб отримати це на машині Ubuntu, вам, ймовірно, потрібно буде змінити свій користувальницький агент на той, що працює на машині Windows, щоб він надав посилання на завантаження пакету MSI. Це можна зробити в багатьох браузерах за допомогою розширення - наприклад, для Firefox . Потім ви можете встановити його в еквіваленті Windows вашого браузера, завантажити файли MSI та SDX та відключити розширення, якщо бажаєте
Тепер ви можете використовувати WINE, щоб дозволити запускати цей файл лише для Windows. WINE - це програмний пакет, який дозволяє запускати деякі програми Windows на Linux. Щоб встановити, просто натисніть Ctrl+ Alt+ Tна клавіатурі, щоб відкрити Terminal. Коли він відкриється, запустіть команди (и) нижче:
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 Джерело: Техів
2 Джерело: Відповідь Томаса W
Джерело: Нитки науки
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