Другие консоли: PSP Fat,PSPSlim&Lite, PS3,Wii,XBOX360
Регистрация: 30.12.2006
Адрес: деревня скрытого листа
Возраст: 33
Сообщений: 1,349
Вы сказали Спасибо: 610
Поблагодарили 733 раз(а) в 358 сообщениях
Сила репутации: 1
Репутация: 739 
(луч света в тёмном царстве)
Half Byte Loader эксплоит - запуск HomeBrew на официальных прошивках 5.00-6.20
Half-Byte Loader
Запуск HomeBrew на официальных прошивках 5.00-6.20
Итак, свершилось! Вроде бы ничего не предвещавший очередной сейв-эксплоит, выложенный Malloxis (тема находится здесь), под официально выпущеную демку игры Patapon2, теперь превратился в почти полноценный загрузчик Homebrew (не подписанных Sony приложений и игр).
Что такое HB Loader?
Что такое HB Loader?
HB Loader это Open-Source (с открытым исходным кодом) проект по созданию загрузчика homebrew с user (пользовательскими) правами, запускаемого с помощью игрового эксплойта.
Зачем нужен HB Loader?
Чтобы дать возможность пользователям с "непрошиваемыми" PSP пользоваться homebrew.
Можно ли будет сделать даунгрейд?
Нет, этого НИКОГДА не будет!!!
Можно ли будет перевести консоль в режим HEN/CFW?
Нет, этого НИКОГДА не будет!!!
Можно ли будет получить доступ к ядру?
Нет, этого НИКОГДА не будет!!!
Можно ли будет работать с образами ISO/CSO?
Нет, сомневаюсь, что это будет возможно.
Значит ли это, что я смогу использовать эмуляторы?
Пока нет, но я надеюсь, что в ближайшее время это будет возможно.
Если вы являетесь разработчиком, но вам трудно понять HBL исходники, обратитесь к активных разработчикам, чтобы они могли помочь вам понять их.
Попробуйте запускать различные homebrew с HBL и напишите отчет, о том работают они или нет. Просьба приложить как можно больше информации о запуске homebrew, включая и отладочную информацию
Могу ли я вносить изменения/использовать исходный код для себя?
Да, можете, на самом деле это ваше право. Но вы должны также выложить исходные тексты с изменениями. Вы не можете распространять только исполняемые файлы.
Как я могу изготовить самостоятельно этот ваш HBL?
Папку с игрой "UCUS98734" (можно переименовать на любое название, например "Patapon 2 Demo") скопируйте на карту памяти в папку ms0:/PSP/GAME/
Второе, что вам понадобится - это само сохранение игры, которое было изменено специальным образом, дающее использование уязвимости для запуска eLoader'a. Это сохранение "UCUS98732_DATA02" специально переименовано на конце под номером 02, чтобы случайно не затереть его оригинальным сохранением, которое будет предлагаться сделать при первом запуске демки или при каждом запуске, если его не делать. Оригинальное-же сохранение у вас создастся один раз под названием "UCUS98732_DATA00", не затирая сохранение-эксплоит Wololo, оно даже не будет отображаться в списке сохранений в игре и тем самым избавит вас от лишних запросов при последующих запусках демки.
Папку сохранения "UCUS98732_DATA02" скопируйте на карту памяти в папку ms0:/PSP/SAVEDATA/
Третье, что вам понадобится - собственно сам "Half Byte Loader", сокращённо "HBL" - EBOOT-Loader, позволяющий запускать программы HomeBrew на официальной прошивке.
Скачайте и разархивируйте архив с последней ревизией HBL. Ссылку на последнюю ревизию смотрите ниже, крупно выделенной.
Содержимое архива (файл "h.bin" и папку "hbl") скопируйте в корень карты памяти.
Использование:
Запустите игру Demo Patapon2 из меню "Игра -> Memory Stick™"
Сразу вам будет предложено создать новый сейв. Вам нужно выбрать "Yes":
Скрин
При появлении меню игры, выбрать "Continue":
Скрин
Появится меню выбора сейва, где выбираем сейв Wolo:
Скрин
Ждем загрузки сейва и видим надпись "Load completed":
Скрин
Нажимаем , чтобы выйти и видим справа внизу моргающую надпись "PUSH ANY BUTTON":
Скрин
Нажимаем любую кнопку и оказываемся в новом окне с моргающей буквой "R" в правом верхнем углу:
Если в самом начале работы лоадера, до начала очистки памяти консоль виснет, то чаще всего это связано с попыткой вывести меню, которое не работает на 6.20. Поместите файл EBOOT.PBP программы в папку "ms0:/HBL/GAME" напрямую.
Если в конце работы лоадера, происходит выход в XMB, проверьте правильность расположение папок "libs". Это одна из основных причин такого вылета.
Если после появления восьми сообщений о возможных ошибках "syscall" консоль виснет, значит не хватило памяти для загрузки программы, так как в лоадере из-за ошибок в системных вызовах прошивок 6.хх невозможно контролировать объем оперативной памяти. Попробуйте еще 2-3 раза. Если не выйдет и так же все будет виснуть, то возьмите программу меньшего размера.
Еще бывают возникают ошибки, которые принято называть "typo". Они связаны с банальными опечатками. В таком случае обычно вслед за одной ревизией сразу же следует другая.
На свой страх и риск все возможные ревизии вы можете найти тут.
Чем отличаются сборки в каждой ревизии?
Debug = HBL with full debugging output. This version is larger than the rest and has a longer loading time too. This is recommended for HBL developers only, or for hunting NID/syscall-related bugs.
Distrib = HBL with no debugging output. Extremely quick and minuscule in size. This versions is great if you're planning on using HBL privately, but don't ask for help with any issues you have as there's no way for any of the devs to know what has gone wrong.
NoNIDs (recommended) = HBL with no NIDs debugging. This version is in-between the two others in terms of speed and size. This is the recommended build to use; it loads fairly fast, whilst, at the same time, generates a log file that the devs can use to help you with any problems you may have.
Source = HBL source code in C. Not much else to say about this, if you can code it then you should be able to get it straight from the SVN yourself.
Изменения
r112
Date: Dec 20, 2010
JJS
- added lowest syscall memory offsets for sukkiri on 6.35
- added code to close all files left open by the exploitet game
Репутация: 228 
(весьма и весьма положительная личность)
fahrenheit51, в определенном порядке нужно нажимать комбинации кнопок. С самого начала зажми Left (DPAD) и нажми X, потом два раза квадрат, и потом еще два раза квадрат.
- Added kernel memory dump for PSPGo at the start of the loader, because
otherwise accessing kmem will fail (i dont know why)
--> This can be improved dumping only necessary offsets and not the whole
partition
- Added finding lowest syscall from kernel memory for some libraries -only for
PSP Go, and using the kmem dump-
- Got rid of intermediate static buffer for loading HBL into memory
- Changed tool "umem dumper" to do a kernel dump as well (only works on PSP Go)
and changed the linker address to the new one on the new savedata (new!)
Последний раз редактировалось ErikPshat; 05.05.2010 в 16:11.
PSP 3k fw 6.20 r52
FCE_Ultra(эмулятор nes) - работает в 50% случаев(кажется если полностью вырубить псп и запустить, то запускается всегда)
Homers rin( эмуль GB,GBC) - не запускается, пишет looping HBL thread...
PicoDrive(эмуль Сеги) - та же ботва что и с рином...
Последний раз редактировалось Dlich; 25.04.2010 в 22:04.
Репутация: 228 
(весьма и весьма положительная личность)
Никак не выходит скомпилить nidsprx, (лежит в eLoader\tools\libs generator) при прописывании "c:/pspsdk/bin/make" выдает
code
cc -o nidsprx main.c
process_begin: CreateProcess((null), cc -o nidsprx main.c, ...) failed.
make (e=2): ═х єфрхЄё эрщЄш єърчрээ√щ Їрщы.
make: *** [nidsprx] Error 2
Из этого поста подправил "cc -o nidsprx main.c" на "gcc -o nidsprx main.c", в результате:
code
gcc -o nidsprx main.c
c:/pspsdk/bin/../lib/gcc/psp/4.3.3/../../../../psp/lib/crt0.o: In function `_sta
rt':
../../../../pspsdk/src/startup/crt0.c:149: undefined reference to `sceKernelCrea
teThread'
../../../../pspsdk/src/startup/crt0.c:150: undefined reference to `sceKernelStar
tThread'
c:/pspsdk/bin/../lib/gcc/psp/4.3.3/../../../../psp/lib/crt0.o: In function `_mai
n':
../../../../pspsdk/src/startup/crt0.c:68: undefined reference to `strlen'
../../../../pspsdk/src/startup/crt0.c:83: undefined reference to `atexit'
../../../../pspsdk/src/startup/crt0.c:89: undefined reference to `exit'
C:\Users\836D~1\AppData\Local\Temp/cc0d9apk.o: In function `recuperaNombre':
main.c.text+0x28): undefined reference to `strstr'
main.c.text+0x58): undefined reference to `memset'
main.c.text+0xac): undefined reference to `strlen'
main.c.text+0xd0): undefined reference to `memcpy'
C:\Users\836D~1\AppData\Local\Temp/cc0d9apk.o: In function `hexToAscii':
main.c.text+0x144): undefined reference to `strtol'
C:\Users\836D~1\AppData\Local\Temp/cc0d9apk.o: In function `main':
main.c.text+0x1c0): undefined reference to `puts'
main.c.text+0x1e8): undefined reference to `fopen'
main.c.text+0x208): undefined reference to `puts'
main.c.text+0x214): undefined reference to `exit'
main.c.text+0x22c): undefined reference to `fgets'
main.c.text+0x250): undefined reference to `strncmp'
main.c.text+0x268): undefined reference to `puts'
main.c.text+0x294): undefined reference to `printf'
main.c.text+0x2ac): undefined reference to `fopen'
main.c.text+0x2d4): undefined reference to `printf'
main.c.text+0x2e0): undefined reference to `exit'
main.c.text+0x2f8): undefined reference to `fgets'
main.c.text+0x310): undefined reference to `fgets'
main.c.text+0x328): undefined reference to `puts'
main.c.text+0x3b0): undefined reference to `fputc'
main.c.text+0x3e4): undefined reference to `fputc'
main.c.text+0x418): undefined reference to `fputc'
main.c.text+0x44c): undefined reference to `fputc'
main.c.text+0x464): undefined reference to `fgets'
main.c.text+0x480): undefined reference to `putchar'
main.c.text+0x4a0): undefined reference to `fgets'
collect2: ld returned 1 exit status
make: *** [nidsprx] Error 1
BlackDaemon добавил 25-04-2010 в 22:58
Уже разобрался, с горем пополам скомпилил через Visual Studio 2008.
BlackDaemon добавил 25-04-2010 в 23:36
У меня хорошие новости - проверил игры с которые ругались на отсуствие некоторых .nids файлов, из них заработали HereticPSP и PSPHexen. Пак с .nids файлами от прошивки 5.03, папку kd переименовать в libs_5xx и заменить аналогичную в hbl.
Можно глупый вопрос? Вот в архиве с ривизиями две папки библиотек для разных прошивок, нужно свою ставить или обе записывать в том виде которых они есть, без переименовывания, а то ведь зачем то HBL распознает мою версию прошивки
Репутация: 228 
(весьма и весьма положительная личность)
t0rm3nt0r, вытащил все что смог, пробуй. Естественно возможности протестить их у меня нет. Raxen, с 32-й ревизии добавлена проверка прошивки, ничего переименовывать уже не нужно.
BlackDaemon добавил 26-04-2010 в 13:34
Продолжаю тестирование, есть успехи с Wolfenstein3D, из меню ничего запустить нельзя, но тем не менее можно вручную скопировать папки Wolf3D(S) и Spear_Of_Destiny(S) (которые лежат в wolf3d_psp\Wolf3D_V6.0\Wolf_3D\Files) в PSP\GAME и они без проблем запустились через HBL r51, правда есть проблемы со звуком.
Последний раз редактировалось BlackDaemon; 26.04.2010 в 13:37.
Причина: добавил, подумав
народ,могу потестить на гоу прошивка 6.20,скопировал r52,но где взять homebrew не знаю,
если подскажите где скачать и в каком виде выкладывать в папку game то потестирую.
Последний раз редактировалось pirat0; 26.04.2010 в 15:41.