Хакінг: Nintendo Wii. Частина 1

Перша частина статті тут.
Отже продовжимо.
В данній статі я опишу 2 ключових момента, а саме:
1. Як була зламана сама приставка (як був витягнутий Master AES ключ), що в свою чергу призвело до появи софтверних хаків.
2. Як працюють модчіпи, їх покоління та фейли Nintendo.

Отже почнемо.
1.1. Перший хак.
Все почалося з апдейтів...
На кожному диску знаходиться копія системного меню (прошивки) консолі, але при спробі декомпіляції в режимі PowerPC не було отримано ніяких результатів. Чому? Тому що це ARM код, але виникає проблема. ARM процесора ніде на платі немає. Виявляється, ARM процесор "захований" в середині графічного процесора Hollywood. Його назвали Starlet. Він відповідає за всю безпеку консолі від зовнішніх втручань і операції IO.
Але як був розшифрований розділ з апдейтами, якщо не було Master AES ключа, запитаєте ви?
Дослідження дисків проводились значно пізніше, вже після того як був витягнутий Master AES ключ. А ключ був витягнутий... паяльником ;).

На цьому малюнку показана плата Wii. U1 - Hollywood (саме в ньому знаходиться Starlet), U2 - PowerPC процесор, U3 - 64 мб пам'яті.
Як відомо на Wii є можливість запускати ігри від GameCube, і Homebrew, але GameCube мав лише 16 мб пам'яті, а Wii в свою чергу має 64 мб. Беремо розпайку пам'яті Samsung і бачимо що за допомогою закорочення деяких адресних ліній ми можемо посувати доступні GameCub'у 16 мегабайт памяті по всьому адресному простору. В чому фішка? А фішка в тому, що під час запуску Starlet зберігає Master AES ключ у пам'яті. Ви мабудь вже здогадались, що було далі. Вікно пам'яті методом наукового тику було посунуте таким чином, що за допомогою послідовного порта запаяного до шини джойстика GameCube вдалося злити дамп цих 16 мб памяті та витягнути Matser AES ключ. В принципі все це досить складно, але тут назріває одне велике АЛЕ. Всього цього можна було уникнути якщо забрати сумісність з GameCube. За весь час який я користуюсь Wii я ніразу не користувався режимом сумісності. Навіщо нінтендо тягне сумісність старої (та ще й до того невдалої) консолі, я не розумію. До того-ж якщо прибрати всі ці старі слоти розширення і порти джойстиків діаметром з палець, консоль була б ще тонкішою ніж зараз. Могила для захисту вирита, але найцікавіше попереду. Пора опускати труну.
1.2. Як працюють модчіпи. Як був зламаний привід приставки.
Все почалося, знову ж таки з GameCube.

На платі GameCube був конектор послідновного порта UTS Serial Port (Undocumented Top Secret Serial Port :D ). З доступом до нього була проблема. На ньому встановлений пароль. АЛЕ пароль підбирався звичайною часовою атакою. На виконання неправильних команд йшло трохи більше часу, і так байт за байтом був підібраний пароль: "MATSHITA DVD-GAME". WTF? What where they thinking?
На Wii цю діру в безпеці профіксили. Вони поміняли пароль і видалили старий конектор послідовного порта. Новий пароль став: "matshita dvd-game", а конектор був замінений на ніжки мікросхеми :D. What where they thinking?

Модчіпи працюють за принципом заміни блоку пам'яті який відповідає за аутентифікацію і привід "думає" до диск вже пройшов автентифікацію. Ніяких особливих втручань не потрібно. Чіп викнує серію команд на UTS Port. Ці чіпи називаються чіпами першого покоління (1st Generation). Вони працювали буквально на 1 мікросхемі без плат і додаткового обвісу на приводах з чіпами DMS/D2A/D2B.
На деяких приводах з чіпом D2B в чіпа були відрізані ніжки до яких паяються дроти модчіпа

Цей примітивний захист не дав результатів. 20 хвилин з напильничком і можна магічним чином отримати доступ до ніжок. FAIL.
З випуском приводів на базі D2C, Matsushita (виробник приводів) заблокувала доступ до запису памяті приводу, але пропустила той факт, що між чіпом захисту/авторизації і основним чіпом існує відкритий простір у вигляді доріжок на платі. Бам. Модчіпи другого покоління патчили не пам'ять приводу, результат (0 чи 1) який отримував основний чіп з пам'яті. З пам'яті виходить 0, а до чіпа доходить 1. Це покоління модчіпів вже значно складніше (в мене в приставці якраз такий і встановлено). На модчіпі вже знаходиться мікропроцесор (найчастіше Actel) і кварцовий генератор. В деяких чіпах також є чіп пам'яті для додаткових функцій. Вся серія приводів з таким захистом мала чіпи D2C/D2E.
Деякі приводи з чіпом D2E були трішки залиті епоксидною смолою

Але, хто б подумав, що з іншої сторони плати існують інші місця до яких можна запаяти чіп. І знову FAIL.
Останні приводи комплектуються чіпом D2 Nothing. Чіпа захисту фактично немає на платі. Matsushita об'єднали обидва чіпа в 1

Але і тут знайшли рішення. Проблема в тому, що між основною платою і приводом існує відкритий простір у вигляді шлейфа з'єднання. Не важко здогадатись, що сталось далі. Модчіп вішається на шлейф між платою та приводом. Відповідь привода основній платі патчиться так, що консоль думає, що диск оригінальний і дозволяє його запуск (адже привід лише каже консолі, до диск не правильний, а сама прошивка вже вирішує що запускати його не треба). FAIL!
У відповідь Nintendo вирішила змінити формат видачі данних приводом та код на Starlet. На данний момент тільки 1 чіп підтримує цей варіант, але через декілька тижнів з'являться і інші.
Ось і все. В наступній частині я опишу принципи взлому приставки на програмному рівні.
Критика, побажання та пропозиції, як завжди, вітаються!

Перепрошую за можливі граматичні помилки. Українського спелчекера не маю (порекомендуйте).

© MiB Team. При копіювання залишайте посилання або на mib.lviv.ua або на цю статтю.

доповнення:

Частина 2

коментарі:

lordnightcon 17.08.2009 17:48
нарахунок фейлів нінтендо можу порекомендувати оцю річь :)
lordnightcon 17.08.2009 17:49
http://www.gametrailers.com/video/angry-video-screwattack/34014 Парсер зїв посилання
+1deleted 17.08.2009 19:33
Я передивився AVGN всього вже давно. Там взагалі дуже багато таких стьобів. Доречі в дуже багато ігор з них я грав і теж так само бісився :D Правда в мене не було Cheat Genie...
lordnightcon 18.08.2009 04:32
Аналогічно.. я просто згадав про нього як прочитав Статтю :) в нас просто Гейм Джіні не продавався. Але з одного боку, якшо ми шось проходили то ми то проходили насправді) ХАрдкор гемінг ^_^
+1Enetri 19.08.2009 06:55
Наш Парсер гіперлінками не харчується :))) Чесне слово!

Принаймі валідних гіперлінків він точно не їсть - даємо його пухнастий білий хвіст на відсіч, якщо це не так! Найбільше, хіба послинить трохи і одразу виплюне... Ще молоде й зелене, до всього цікаве :)

P.S. А от вже якийсь там XSS залогувати і схавати - справді може, легко і невимушено
P.P.S. І навіть мусить, служба в нього така
meako 17.08.2009 18:24
Кльово, шкода що приставка як на мене мало популярна у нас в країні.

Хаки використовуються для запуску піратських версій ігор, чи є ще якісь цікаві сфери застосування?
deleted 17.08.2009 19:31
Хардваре хаки використовуються в основному для запуску бекапів ігор (піратськи диски - зло, бекапи оригіналів - добро :D ). В принципі є ще USB Gecko який використовується в основному розробниками для дебагінга. Я хотів собі такий придбати але ціна трохи кусається як для забавки. Також його можна використовувати для ріалтаймового патчінга пам'яті гри (ArtMoney hello :D ). Вставляється в слот пам'яті геймкуба (FAIL).
Про цікаві сфери застосування у наступній частині ;) Всьому свій час.

додати коментар: