Просмотр полной версии : Страсти по Inferno и March33 PRX
Кто-нибудь пробовал заинтегрировать Inferno драйвер в 5.00 прошивку (тока не надо про то, что обновляйся и т.п.)?
COOLERbyPSP
20.01.2015, 16:44
Scorpeg, это всё очень мило, но зачем и почему не обновиться?
Scorpeg,
ты готов поделиться исходным кодом 5.00 M33?
Scorpeg,
ты готов поделиться исходным кодом 5.00 M33?
А оно в прошивку разве вшито? Разве не плагином? Я не в курсе, как прошивки работают, но предполагал, что для плагина отдельный файл и его надо только прописать в прошивке вместо какого-нибудь из существующих.
Scorpeg добавил 22.01.2015 в 12:21
Scorpeg, это всё очень мило, но зачем и почему не обновиться?
Потому что IRShell с полной поддержкой всяких плюшек мне ценнее всего остального. Ну и влом карту памяти форматить и прочая байда. Так-то вообще пофигу, всё работает, кроме FF:Type0 (для которой и нужен этот драйвер), поэтому смысла обновляться вообще не вижу.
Scorpeg,
на прометее вроде работает ff0.
Работать-то работает, видеоролики не все грузит.
Вы мне по делу скажите, если кто прошивки ковырял, как там эти драйверы сделаны и можно ли перетащить.
Scorpeg,
в виде модулей прошивки. При наличии исходников - без проблем. Без оных ковыряться не рационально.
А ты раздельную версию на двух дисках проверял? Оно должно и так идти нормально.
Раздельную не проверял. Да и мне чисто для интереса заинтегрировать так-то. Сурсы дарк алекс вроде не оставил. Раз оно в виде модулей прошивки, то я переименую например инферно в модуль от сони и оно полетит, нет? Он вряд ли же пользуется какими-то точками, которых нет в M33. Дайте чтоли линк на распаковщик прошивок какой-нить.
ErikPshat
22.01.2015, 23:37
Раз оно в виде модулей прошивки, то я переименую например инферно в модуль от сони и оно полетит, нет?Можно попробовать заменить kd/march33.prx драйвером от PRO kd/inferno.prx, сменив соответственно название файла.
Просто так скорее всего работать не будет, но у PRO есть исходники (procfw\ISODrivers\Inferno), где для разных прошивок нужно менять смещения патчей. Туда нужно дописать смещения для FW_500.
#ifdef CONFIG_660
PatchOffset g_660_offsets = {
.fw_version = FW_660,
.patches = {
0x00003FEC,
0x00004024,
0x000040D8,
0x000042B4,
},
};
#endif
#ifdef CONFIG_639
PatchOffset g_639_offsets = {
.fw_version = FW_639,
.patches = {
0x00004020,
0x00004058,
0x0000410C,
0x000042E8,
},
};
#endif
#ifdef CONFIG_635
PatchOffset g_635_offsets = {
.fw_version = FW_635,
.patches = {
0x00004020,
0x00004058,
0x0000410C,
0x000042E8,
},
};
#endif
#ifdef CONFIG_620
PatchOffset g_620_offsets = {
.fw_version = FW_620,
.patches = {
0x00004020,
0x00004058,
0x0000410C,
0x000042E8,
},
};
#endif
Дайте чтоли линк на распаковщик прошивок какой-нить.Я обычно распаковываю прошивки вручную. Достаёшь DATA.PSP от установщика прошивки 5.00M33-6 и по очереди дербанишь модули и ресурсы. Всё примитивно, находишь начало файла ~PSP и от начала в позиции 0x2C записан размер файла, и выдёргиваешь/вставляешь таким образом файлы.
P.S. У Yoti есть своя тулза, которая дербанит автоматом файл...
Так, ну более-менее ясно. Так-то у них лежат уже отреверсенные смещения под M33 - http://sourceforge.net/mirror/procfw/code/ci/default/tree/ISODrivers/March33/README.txt так что по идее это 4 места пропатчить в инферно, переименовать в march33.prx и должно полететь. Жалко, у меня самого ни времени ни psp пока нет, мож если кому-то интересно самому попробовать - отпишите по результатам.
Дайте чтоли линк на распаковщик прошивок какой-нить.
Забирай из аттача. Если разберёшься - пользуйся. Объяснять ничего не буду.
P.S. У Yoti есть своя тулза, которая дербанит автоматом файл...
=)
Да у тебя мануал есть :) Разберусь, времени бы только...
Кстати, а ведь есть же доступ напрямую во флеш-память с прошивкой, да? То есть я могу тупо файл поменять, ничего не перешивая?
Scorpeg добавил 23.01.2015 в 11:59
Хм, интересно, откуда они выковыряли этот M33 драйвер в про-прошивку, потому что в 5.00-6 он другой, меньше на 2 байта. И смещения какие-то другие воткнуты. Что вообще патчит этот патчер, кстати? Ну то есть что он туда пихает по этим оффсетам? А то это не прошивка, а какой-то один сплошной патч.
Они тоже чтоли криптованы? А то хекс сравнением вообще ни одного символа одинакового рядом.
То есть я могу тупо файл поменять, ничего не перешивая?
Можешь. Про Пандору не забудь.
Хм, интересно, откуда они выковыряли этот M33 драйвер в про-прошивку, потому что в 5.00-6 он другой, меньше на 2 байта.
Отреверсили (https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0% D0%B1%D0%BE%D1%82%D0%BA%D0%B0).
А то это не прошивка, а какой-то один сплошной патч.
Внезапно (https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B7%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80% D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0).
Ниче они не реверсили, там сурсов нет. Там лежат тупо prx файлы, которые они выдрали из какой-то из прошивок dax'a. Вопрос вот из какой? И почему они разных размеров (ну это видимо потому что запакованные и закриптованные, а 6.60 уже лежит в ELF распакованным)?
Scorpeg добавил 23.01.2015 в 12:15
Можешь. Про Пандору не забудь.
У меня три PSPшки так-то дома лежат, так что не проблема.
Внезапно
И у дакса тоже чтоли? Фиии.... Я-то думал они по-взрослому разобрали сонивские апдейты, сломали шифрование, отреверсили нужные плаги...
Scorpeg,
резидентная программа не нарушает законы большинства стран, что даёт возможность её открытой публикации не боясь юридического преследования. Все кастомы не изменяют официальных файлов, кроме разве что очень старых, и то не в счёт. Плюс, сохраняется целостность подписи официальных модулей. Без реверса официальных модулей, а также анализа оперативной памяти нельзя написать резидента. Что, в целом, оффтоп в данной теме. Есть интерес ковырять - отправляйся в "Хакинг".
Обновил тему по мелочи.
ErikPshat
24.01.2015, 05:01
Так, ну более-менее ясно. Так-то у них лежат уже отреверсенные смещения под M33 - http://sourceforge.net/mirror/procfw/code/ci/default/tree/ISODrivers/March33/README.txt так что по идее это 4 места пропатчить в инферно, переименовать в march33.prx и должно полететь.Оу, ну тогда вообще ничего делать не надо, всё уже на блюдечке с голубой каёмочкой.
И почему они разных размеров (ну это видимо потому что запакованные и закриптованные, а 6.60 уже лежит в ELF распакованным)?Хмм, по-моему ты что-то пропустил: http://www.pspx.ru/forum/showthread.php?t=76183
Почему пропустил? Как бы я наоборот так и сказал, нет? Перефразирую - странно то, почему у них march33.prx упакованный отличается от march33.prx в моей прошивке. Они его зачем-то перепаковали чтоли? Или в какой-то другой прошивке есть такой же march33.prx как у них в репе?
А вообще Yoti ругается, надо оффтоп в хакинг наверное переносить.
ErikPshat
24.01.2015, 18:25
странно то, почему у них march33.prx упакованный отличается от march33.prx в моей прошивке.Так при чём тут упакованный? Можно один и тот же файл заархивировать в GZIP с разной степенью сжатия. Отсюда 2 абсолютно одинаковых Эльфа будут в упакованном виде абсолютно разные, как по размеру, так и по содержанию. Они могут выглядеть по-разному, даже если исходники были одинаковые, но компилировали Эльф разными компиляторами.
Ну копетан очевидность, я ж говорю "Они его зачем-то перепаковали чтоли?" Смысл сего действа какой - распаковать, потом назад упаковать и заэнкриптить и в таком виде положить в репу? Странно это. Сурсов на елф у них нету, они ничего не компилили.
ErikPshat
26.01.2015, 01:49
я ж говорю "Они его зачем-то перепаковали чтоли?"у них march33.prx упакованный отличается от march33.prx в моей прошивкеПогоди, я ничего не понимаю.
Когда ты говоришь, что "у них march33.prx упакованный отличается" от "march33.prx в моей прошивке", то про какую свою прошивку ты говоришь?
Я так понимаю, как экстрасенс, что твоя прошивка, написанная в профиле - 5.00 М33-6.
А у них (Dark_Alex) последняя прошивка так же 5.00 М33-6.
Если ты сравниваешь march33.prx от 5.00 М33-6 c таким же драйвером от 6.хх прошивок, то это неудивительно, что они разные изнутри и снаружи. Ведь прошивки 6.хх делала другая команда и у них код устроен совершенно по другому. Они просто отреверсили прошивку Дарк Алекса и по аналогии восстановили принцип работы драйвера. Ведь одно и то же действие программы можно реализовать разными способами программирования.
Моя прошивка - это которая в профиле, логично. Они - это авторы этого инферно драйвера, про который и говорил - т.е. PRO едишн. У Про лежит в репозитории оригинальная march33.prx, с которой они делали для 6.x прошивок. Я про нее говорю. Она не совпадает с 5.00m33-6, что странно (её же не рекомпилировали). Мож они прям взяли от 5.00 другой версии? https://code.google.com/p/procfw/source/browse/ISODrivers/March33/
Scorpeg,
во-первых, учимся читать примечания на коммиты. Во-вторых, удалю весь оффтоп нафиг.
Точно, ты прав, не прочитал коммент к коммиту. Тогда всё понятно.
Я вообще уже не раз предлагал это разделить куда-нибудь в хакинг, чето меня ни модераторы ни админы не слушают :) Удалять-то не надо, вроде как бы полезная инфа кому-то может быть.
ErikPshat
27.01.2015, 19:40
Точно, ты прав, не прочитал коммент к коммиту. Тогда всё понятно.
Ну судя по твоим вопросам про march33.prx, я так понял, что ты ничего не понял :)
Сегодня не поленился и проверил, что за march33.prx там лежат: https://code.google.com/p/procfw/source/browse/ISODrivers/March33/
Там лежат 3 файла:
march33.prx
march33_620.prx
march33_660.prx
Я их проверил и сравнил. Они все 3 одного размера по 15022 байта, точно так же, как и в прошивке 5.00 М33-6.
При сравнении в хексе, видно, что конечно их никто не компилил, а только подменены значения NID-ов в соответствии с версией прошивки.
Вот скрин сравнения march33.prx от 5.00 М33-6 и march33.prx, который у них там лежит:
10595
Смотрим README.txt: https://code.google.com/p/procfw/source/browse/ISODrivers/March33/README.txt. Внизу там есть такие строчки: Patch offsets for sceIsofs_Driver:
5.00 6.20 6.35 6.60
404C 4020 4020 3FEC
4084 4058 4058 4024
4138 410C 410C 40D8
4314 42E8 42E8 42B4
На скрине видим различия, выделенные желтым цветом. 5.00 М33-6 (сверху) и march33.prx (снизу)
В позиции 0х14C4 сверху 404C снизу 4020 (байты задом наперёд Little Endian)
В позиции 0х14C8 сверху 4084 снизу 4058
В позиции 0х14CC сверху 4138 снизу 410C
В позиции 0х14D4 сверху 4314 снизу 42E8
Смотрим на цифры в коде "Patch offsets for sceIsofs_Driver" и делаем выводы. Значения сверху ессно совпадают с прошивокй 5.00, а значения снизу совпадают с прошивками 6.20 и 6.35.
Идём дальше... Следующий различающийся кусок сравнения в хексе. С первого взгляда, вроде целая куча недоразумений:
10596
Но если разглядывать этот массив расхождений 4-байтовыми кусками, тогда картина становится произведением Репина...
Смотрим README.txt: https://code.google.com/p/procfw/source/browse/ISODrivers/March33/README.txt. Выделяем с начала вот этот массив: 5.00 6.20 6.35 6.60
sceUmd_2B9A7E2E -> sceUmd_F60013F8 -> sceUmd_7E185F98 -> sceUmd_982272FE
sceUmd_79EF9E56 -> sceUmd_9F53CFA1 -> sceUmd_47B447E5 -> sceUmd_BA3D2A5F
sceUmd_E9586C03 -> sceUmd_E70E8FFB -> sceUmd_8213F674 -> sceUmd_A9B5B972
sceUmd_51C04466 -> sceUmd_74145046 -> sceUmd_FAAA2DC6 -> sceUmd_98AFBD10
sceUmd_F7C6E4D9 -> sceUmd_6592E954 -> sceUmd_F0E95430 -> sceUmd_8DCFBA06
sceUmd_10542751 -> sceUmd_004F4BE5 -> sceUmd_24E838BA -> sceUmd_040A7090
sceUmd_25B21837 -> sceUmd_1BA5BAFB -> sceUmd_749B5538 -> sceUmd_666580EA
sceUmd_30DCD985 -> sceUmd_B1641203 -> sceUmd_B1E889EB -> sceUmd_4F017CDE
sceUmd_3DD57F37 -> sceUmd_7E6182C7 -> sceUmd_3F826E9B -> sceUmd_07E98AF8
sceUmd_6404E484 -> sceUmd_5083C012 -> sceUmd_58708431 -> sceUmd_5EBB491F
sceUmd_0743D00D -> sceUmd_51C95C02 -> sceUmd_6E350FE4 -> sceUmd_598EC4DC
sceUmd_36FF82F3 -> sceUmd_70D9B731 -> sceUmd_E34F613F -> sceUmd_0B14CE61
sceUmd_0F2D9908 -> sceUmd_2D5CB292 -> sceUmd_7E45DF26 -> sceUmd_B7BF4C31
sceUmd_085E7AFF -> sceUmd_B826BD59 -> sceUmd_507AB2B8 -> sceUmd_6EDF57F1
sceUmd_F8E0D303 -> sceUmd_35B13E16 -> sceUmd_145DBD8C -> sceUmd_18E225C8
В позиции 0х1F60 сверху 2B9A7E2E снизу 7E185F98 (байты задом наперёд Little Endian)
В позиции 0х1F64 сверху 79EF9E56 снизу 47B447E5
В позиции 0х1F68 сверху E9586C03 снизу 8213F674
В позиции 0х1F6C сверху 51C04466 снизу FAAA2DC6
В позиции 0х1F70 сверху F7C6E4D9 снизу F0E95430
В позиции 0х1F74 сверху 10542751 снизу 24E838BA
В позиции 0х1F78 сверху 25B21837 снизу 749B5538
В позиции 0х1F7C сверху 30DCD985 снизу B1E889EB
В позиции 0х1F84 сверху 3DD57F37 снизу 3F826E9B
В позиции 0х1F88 сверху 6404E484 снизу 58708431
В позиции 0х1F8C сверху 0743D00D снизу 6E350FE4
В позиции 0х1F94 сверху 36FF82F3 снизу E34F613F
В позиции 0х1F98 сверху 0F2D9908 снизу 7E45DF26
В позиции 0х1FA0 сверху 085E7AFF снизу 507AB2B8
В позиции 0х1FA4 сверху F8E0D303 снизу 145DBD8C
О чудо, циферки расположены в том же порядке, как они записаны в README. И, как видно из нижнего файла march33.prx, все NID-ы принадлежат прошивке 6.35.
Идём дальше... Следующий различающийся кусок сравнения в хексе:
10597
Смотрим снова README.txt: https://code.google.com/p/procfw/source/browse/ISODrivers/March33/README.txt. Выделяем оставшуюся часть массива: 5.00 6.20 6.35 6.60
sceUmdMan_driver_B9B02322 -> sceUmdMan_driver_6A1FB0DD -> sceUmdMan_driver_E52119E7 -> sceUmdMan_driver_34375DB0
sceUmdMan_driver_31699C86 -> sceUmdMan_driver_7DF4C4DA -> sceUmdMan_driver_7AD43944 -> sceUmdMan_driver_A7536109
sceUmdMan_driver_988597A2 -> sceUmdMan_driver_F7A0D0D9 -> sceUmdMan_driver_42D993AC -> sceUmdMan_driver_65E2B3E0
sceUmdMan_driver_63B69CE1 -> sceUmdMan_driver_4FFAB8DA -> sceUmdMan_driver_26C75616 -> sceUmdMan_driver_3C8C523D
sceUmdMan_driver_B54D5BE8 -> sceUmdMan_driver_D37B6422 -> sceUmdMan_driver_454E1B06 -> sceUmdMan_driver_80D31D5D
sceUmd9660_driver_7BF6DE7C -> sceUmd9660_driver_63342C0F -> sceUmd9660_driver_385336B5 -> sceUmd9660_driver_887C3193
sceUmd9660_driver_B15139FE -> sceUmd9660_driver_6FFFEE54 -> sceUmd9660_driver_1D89BD8F -> sceUmd9660_driver_C0933C16
sceUmd9660_driver_DF36DCB6 -> sceUmd9660_driver_7CB291E3 -> sceUmd9660_driver_94ACF219 -> sceUmd9660_driver_7EB57F56
В позиции 0х2060 сверху B9B02322 снизу E52119E7 (байты задом наперёд Little Endian)
В позиции 0х2064 сверху 31699C86 снизу 7AD43944
В позиции 0х2068 сверху 988597A2 снизу 42D993AC
В позиции 0х206C сверху 63B69CE1 снизу 26C75616
В позиции 0х2070 сверху B54D5BE8 снизу 454E1B06
В позиции 0х2088 сверху 7BF6DE7C снизу 385336B5
В позиции 0х208C сверху B15139FE снизу 1D89BD8F
В позиции 0х2090 сверху DF36DCB6 снизу 94ACF219
И, как видно из нижнего файла march33.prx, все NID-ы принадлежат прошивке 6.35. На этом все различия в файлах заканчиваются.
Отсюда можно смело сделать вывод, что на сайте у PRO лежит файл march33.prx от прошивки 6.35 и соответственно файл march33_620.prx от прошивки 6.20, и march33_660.prx от прошивки 6.60. Вот почему march33.prx у PRO не совпадал с файлом твоей прошивки 5.00 М33-6.
Четко. Я на самом деле просто почему-то решил, что march33 там оригинальный лежит - это и была моя ошибка, остальное я всё ровно так же и понял, как ты расписал. Поэтому и удивлялся, кому ж это понадобилось пережимать оригинальный файл.
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot