Xbox 360-қа Linux орнату: Free60 жобасы, BSD, Darwin мүмкіндіктері. Қауіпсіздік бұзу арқылы өзгертілген тегін операциялық жүйелер (Gentoo, Debian, Ubuntu).
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Free60 – бағдарламалық немесе аппараттық негіздегі «хак» арқылы Microsoft Xbox 360 құрылғысына Linux, BSD немесе Darwin жүйелерін орнатуды мақсат ететін Xbox Linux жобасының жалғасы. Xbox 360 аппараттық шифрлауды қолданады және бастапқыда қолтаңбасы жоқ кодты іске қоспайды. Жобаның мақсаттары 2007 жылдың наурыз айында орындалды, Xbox 360 Hypervisor-ындағы маңызды бағдарламалық осалдық туралы хабарланғаннан кейін Linux жүктегіші пайда болды, ол Xbox 360-қа портталған Linux-ты іске қосуға мүмкіндік берді. Қазіргі таңда Linux ядросының екі түзету жинағы бар: 2.6.21 және 2.6.24.3 нұсқаларына арналған. Xbox 360-та үш негізгі Linux дистрибутивін пайдалануға болады: Gentoo, Debian және Ubuntu Linux. Соңғы екеуін Free60 жобасының мүшелері ұсынған скрипттер арқылы Xbox 360 қатты дискісіне оңай орнатуға болады.
Free60 is the successor to the Xbox Linux Project that aims to put Linux, BSD, or Darwin on the Microsoft Xbox 360 using a software or hardware based "hack". The Xbox 360 uses hardware encryption and will not run unsigned code out of the box. The project's goals were met in March 2007, when shortly after the announcement of a critical software vulnerability in the Xbox 360 Hypervisor a loader for Linux appeared, which allowed to run a Linux ported to the Xbox 360. To date, there are two Linux kernel patchsets available, one for 2.6.21 and one for 2.6.24.3. Three main Linux distributions may be run on the Xbox 360; Gentoo, Debian and Ubuntu Linux, the last two of which are easily installable to the Xbox 360 hard drive by scripts provided by members of the Free60 project.
Орындау әдісі
Xbox 360-тағы орындалатын код цифрлық қолтаңбаланғандықтан және гипервизордың астында жұмыс істейтіндіктен, үй жасаған кодты іске қосу үшін эксплойт немесе хак қажет. Xbox 360-та қолтаңбасыз кодты іске қосуға мүмкіндік берген алғашқы эксплойт, модификацияланған DVD ROM дискінің микропрограммасына, King Kong ойынының модификацияланған жазылған дискісіне (Xbox 360 үшін) және консольдің екі осал ядролық нұсқасының біріне негізделген. Балама ретінде, үйде жасалған кабельді консольдің аналық платасындағы тиісті қосқыштарға жалғанған джемперлермен BIOS-ты құйып, жаңартуға және гипервизорды түзетуге, сондай-ақ тікелей жүктеу кезінде қолтаңбасыз орындауға болады, бұл "JTAG/SMC эксплойты" деп аталады, ол 2009 жылдың маусымынан кейін түзетілді, бірақ 2011 жылы "Reset Glitch Hack" деп аталатын нұсқамен ауыстырылды. Бұл эксплойт Xbox 360 аналық платасының кез келген ядролық нұсқасында қолданылады, бірақ ең соңғы нұсқасында емес (2014 жылдан бастап 2015 жылы өндіріс тоқтағанға дейін шығарылған көптеген 360 консольдері). Бір ескерту – бұл глюк негізінде жұмыс істейді және уақытқа тәуелді, сондықтан жүктелу уақыты тұрақсыз болуы мүмкін. King Kong эксплойтінің бастапқы нұсқасында консоль өзгертілген ойынды іске қосуы керек, ол бағдарламалық осалдықты пайдаланып, дискідегі кішкентай код бөлігін жүктейді. Бұл код консольге қосымша кодты жүктеуге мүмкіндік беру үшін серийлік портты инициализациялай алады немесе дискіні шығарып, консольді оптикалық тасымалдағыштан белгілі бір нүктеден қосымша кодты жүктеуге дайындай алады, содан кейін дискіге салынуы керек. Соңғы әдіс readcd бинарлық файлымен байланысты, ол осы мақсат үшін арнайы жасалған. Бұл жағдайда readcd орындайтын код XeLL деп аталады, бұл Xenon Linux Loader-дің аббревиатурасы. XeLL процессорлық тізбектерді басып алады және Linux ядросын желіден (tftp) немесе оптикалық тасымалдағыштан ғана іске қосады, ядро үшін тегіс құрылғы ағашын қамтамасыз етеді. Шығарылған "Live CD" жағдайында readcd бинарлық файлы әдетте өзгертілген ойын дискісіне қосылады, ол дискіні шығарып, XeLL бинарлық файлымен, сондай-ақ толық Linux ядросымен және файлдық жүйемен CD дискісін енгізуге мүмкіндік береді.
Since executable code on the Xbox 360 is digitally signed, and runs underneath a hypervisor, an exploit or hack is necessary in order to execute homebrew code. On the Xbox 360, the first exploit which enabled booting of unsigned code relied on a modified DVD ROM drive firmware, a modified burned disc of the game King Kong (for Xbox 360), and the target console having either one of two vulnerable kernel revisions. Alternatively, a home made cable may be used to dump and patch the bios with jumpers attached to the appropriate pin header on the motherboard of the console to patch the hypervisor and allows unsigned execution directly at boot, known as the "JTAG/SMC exploit", which was patched after June 2009 but replaced by "Reset Glitch Hack", in 2011, which is applicable on any kernel version on all but the latest revision of the Xbox 360 motherboard (most 360's produced from 2014 until end of production in 2015), one caveat is being a glitch and relies on timing, boot times may be unstable. With the original King Kong exploit, the console must launch the modified game which will utilize the software vulnerability to load a small chunk of code that is included on the disc. This code may either initialize the serial port to allow upload of further code to the console, or eject the drive tray and prepare the console to load further code from a specified point on optical media that is then placed in the drive. The latter method involves the readcd binary, made specifically for this cause. The code that readcd executes in this instance is known as XeLL, short for Xenon Linux Loader. XeLL captures CPU threads and launches the Linux kernel from either network (tftp) or optical media as its only purpose, providing a flat device tree for the kernel. In the cases of released 'Live CDs', the readcd binary would typically be included on the modified game disc, which would eject the drive, and a CD containing the XeLL binary as well as the complete Linux kernel and filesystem would be inserted.
Шектеулер
Readcd әдісі бастапқыда Hitachi брендті DVD ROM дискілерімен ғана шектелген, бірақ қазір Samsung брендті дискілерді де қолдайды. Қалған барлық коммерциялық дискілер қолдаусыз деп есептеледі, қазіргі таңдағыда қолданыстағы басқа дискілер тек BenQ және Lite ON компанияларында ғана өндіріледі. Xbox 360-тың өзінде ескі Kernel нұсқасы қажет, оны табу қиын болуы мүмкін, себебі Xbox Live қызметіне қосылу консольге жаңартуларды жүктейді, сондай-ақ көптеген ойындарды ойнату үшін алдымен жаңартуларды орнату қажет. Бұл шектеу бұрынғыдан кем маңыздырақ, өйткені екі пайдаланылатын Kernel-дің соңғысынан жоғарырақ Kernel нұсқасын уақыттық шабуыл арқылы төмендетуге болады. Қазіргі уақытта консольдің ішкі аудио жабдығын қолдау үшін арнайы аудио драйверлер жазылмаған, бірақ USB аудио құрылғысын пайдалануға болады. Кейбір кодектер қолданыстағы дисплей драйверімен үйлесімсіз, сондықтан кейбір бейнелер ойнатылмайды. Бұған қоса, фреймбуфер және кэш проблемалары салдарынан ойнатылатын бейнелер кэш толып қалғаннан кейін алғашқы секундтардан бастап ұшып-құлақтап ойнайды.
The readcd method was initially restricted to only Hitachi branded DVD ROM drives, but now also supports Samsung branded drives. All other commercially used drives are assumed unsupported, at this point in time the only other drives in use are manufactured by BenQ and Lite ON. An older Kernel revision is required on the Xbox 360 itself, which may prove to be hard to find, since connecting to the Xbox Live service applies updates to the console, and many games include updates that must be applied before the game will run. This limitation is not as important as it once was, as it is now known to be possible to downgrade a Kernel greater than the last of the two exploitable Kernels by means of a timing attack. There are presently no audio drivers written to support the console's internal audio hardware, however a USB audio device can be used. Some codecs are incompatible with the current display driver, causing some videos to not play. In addition to this, framebuffer and cache issues mean that videos that do play are jumpy after the first few seconds when the cache is full.
Даму
Free60 жобасының маңызды қатысушыларының бірі Linux жүйесінде Xbox 360 GPU-сында (Xenos кодовый атымен белгілі) 3D графиканы жеделдету әдісін жасады. Бұл жұмыс пайдалануды жеңілдету үшін API түрінде ұйымдастырылды. Бұл жеделдетуді іске асыру үшін Xbox 360 флэш-жадының бір бөлігі Xenos GPU-ға жүктелген болуы керек. Бұл процесті автоматтандыру, кез келген 3D графикалық жеделдетудің заңдылығын қамтамасыз етуге көмектеседі. Қазіргі уақытта Xbox 360 консольдерінің шағын бөлігі ғана қолтаңбасыз кодты орындай алады, сондықтан Free60 жобасында соңғы кезде даму баяулады. Бұл, белгілі бір дәрежеде, Free60-тың алдыңғы жобасы – Xbox Linux жобасымен салыстырғанда, Xbox-та қолтаңбасыз кодты орындаудың және x86 кодты Xbox-тың Intel Pentium III негізіндегі процессорына ауыстырудың салыстырмалы оңайлығының нәтижесінде болды, ол жобада көп дамуға әкелді. Free60 жобасының мүшелері дамуды жалғастыру үшін көмек іздеп жатыр. Ең маңызды сұраныс – аудио драйверлерін ұсыну; Free60 мүшелері ALSA ядросының компонентін және SiS966 негізіндегі аналық платаны жақсы білетін адамды іздеп отыр. Free60 жобасының табысының нәтижесінде Kernel Rebooter жобасы құрылды. Оның мақсаты – әуелде осал ядроны жүктегеннен кейін және оны жүйеге бақылау алу үшін пайдаланғаннан кейін, консольді өзгертілген, қолтаңбаланбаған гипервизор мен ядроға қайта жүктеуге мүмкіндік беру. Жаңа ядролық нұсқаға қайта жүктеу мүмкіндігі, осы ядролық нұсқаларға тәуелді ойындарды консольде орындауға жол береді. Бұл жоба белгілі бір деңгейде сәттілікке жетті; гипервизорды ішінара қайта жүктеуге арналған екілік файлдар бар (сериалды жүктеуші немесе readcd арқылы іске қосылады).
One of the main contributors to the Free60 project has developed a method of 3D graphics acceleration on the Xbox 360's GPU (codenamed Xenos) under Linux. This work has been encapsulated into an API for easier use. In order to achieve this acceleration, some data from the Xbox 360's flash needs to be uploaded to the Xenos GPU. This process may be automated to help ensure legality of any 3D graphics acceleration. Since only a small proportion of Xbox 360's are currently able to execute unsigned code, there has been little development within the Free60 project in recent times. This may to some extent be contrasted to the Free60 predecessor, the Xbox Linux project, which saw far more development as a result of the relative ease of running unsigned code on the Xbox and the ease of porting x86 code to the Xbox's custom Intel Pentium III based CPU. To continue development, members of the Free60 project are looking for help. Perhaps the most important of the help requests is to provide audio drivers; the Free60 members have asked for someone with knowledge of the ALSA kernel component and a SiS966 based motherboard to achieve this. One project created as a result of the success of Free60 is a Kernel Rebooter. The goal of this is, after initially loading a vulnerable kernel and exploiting it to gain control of the system, to be able to make the console reload into a modified, unsigned hypervisor and kernel. Being able to reboot into a more recent kernel revision would allow for games to be executed on the console that are dependent on these kernel revisions. This project has seen a certain level of success; there are binary files available (to be launched by the serial loader or readcd) to partially reload the hypervisor.
Xbox Live жаңартуы 2009 жылдың жазы
2009 жылдың 11 тамызында Microsoft Xbox 360 бағдарламалық жасақтамасын жаңартып шығарды, ол жүйенің екінші деңгейдегі жүктеуішін жаңартады. Осы жаңарту кезінде кез келген қателік туса, Xbox 360 жөндеуге келмейтіндей зақымдануы мүмкін. Басқа жүйелердегі статистика көрсеткендей, мың жүктеуіш жаңартудың бірі қате аяқталып, егер Microsoft-тың бұл мәселеге ерекше шешімі болмаса, ондаған мың Xbox құрылдары қауіпке ұшырауы мүмкін. Бұл жаңарту Free60 жобасына бұрыннан белгілі болған осалдықты жою мақсатымен шығарылған болып көрінеді. Бұл осалдық сәтті пайдаланылып, кез келген кодты іске қосуға қол жеткізілді, сондай-ақ толыққанды, пайдаланушыға ыңғайлы хак әзірленіп, жақын арада free60.org сайтында жариялануы жоспарлануда. Бұл пайдаланушыларға өз Xbox құрылдарының бақылауын қайтаруға және консольді қосқаннан кейін, modchip қажеттілігінсіз, үйде жасалған қосымшалар немесе Linux сияқты кез келген кодты іске қосуға мүмкіндік береді, соның арқасында Xbox 360 бастапқы Xbox сияқты хакерлікке бейім болады. Жаңартудың қауіптілігі мен үйде жасалған қосымшаларға қол жеткізудің тоқтатылуына байланысты, Free60 жобасы барлық Xbox 360 пайдаланушыларына жүйелерін бағдарламалық жасақтаманың соңғы нұсқасына жаңартпауға кеңес береді. Free60 сайты осы мәселе бойынша соңғы ақпаратты, соның ішінде хакерлік бағдарламаны ұсынады.
On August 11, 2009 Microsoft released an Xbox 360 software update that overwrites the Second stage bootloader of the system. Any failure while updating this will break the Xbox 360 beyond repair. Statistics from other systems have shown that about one in a thousand bootloader updates went wrong and unless Microsoft has a novel solution to this problem, this puts tens of thousands of Xboxes at risk. It seems that this update was issued to fix a vulnerability already known to the Free60 Project. This vulnerability has been successfully exploited to run arbitrary code, and a complete end user compatible hack has been in development for some time and is planned to be released on free60. org shortly. It will allow users to take back control of their Xboxes and run arbitrary code like homebrew applications or Linux right after turning on the console and without the need of a modchip, finally opening up the Xbox 360 to a level of hacking as the original Xbox. Because of the danger of the update and the homebrew lockout, the Free60 Project advises all Xbox 360 users to not update their systems to the latest software version. The Free60 website will provide the latest information on this ongoing topic, including the final hack software.