PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Страсти по Inferno и March33 PRX (https://www.pspx.ru/forum/showthread.php?t=105178)

Scorpeg 20.01.2015 16:31

Страсти по Inferno и March33 PRX
 
Кто-нибудь пробовал заинтегрировать Inferno драйвер в 5.00 прошивку (тока не надо про то, что обновляйся и т.п.)?

COOLERbyPSP 20.01.2015 16:44

Scorpeg, это всё очень мило, но зачем и почему не обновиться?

Yoti 22.01.2015 11:51

Scorpeg,
ты готов поделиться исходным кодом 5.00 M33?

Scorpeg 22.01.2015 12:21

Цитата:

Сообщение от Yoti (Сообщение 1092401)
Scorpeg,
ты готов поделиться исходным кодом 5.00 M33?

А оно в прошивку разве вшито? Разве не плагином? Я не в курсе, как прошивки работают, но предполагал, что для плагина отдельный файл и его надо только прописать в прошивке вместо какого-нибудь из существующих.

Scorpeg добавил 22.01.2015 в 12:21
Цитата:

Сообщение от COOLERbyPSP (Сообщение 1092282)
Scorpeg, это всё очень мило, но зачем и почему не обновиться?

Потому что IRShell с полной поддержкой всяких плюшек мне ценнее всего остального. Ну и влом карту памяти форматить и прочая байда. Так-то вообще пофигу, всё работает, кроме FF:Type0 (для которой и нужен этот драйвер), поэтому смысла обновляться вообще не вижу.

Yoti 22.01.2015 13:38

Scorpeg,
на прометее вроде работает ff0.

Scorpeg 22.01.2015 13:43

Работать-то работает, видеоролики не все грузит.

Вы мне по делу скажите, если кто прошивки ковырял, как там эти драйверы сделаны и можно ли перетащить.

Yoti 22.01.2015 14:16

Scorpeg,
в виде модулей прошивки. При наличии исходников - без проблем. Без оных ковыряться не рационально.

А ты раздельную версию на двух дисках проверял? Оно должно и так идти нормально.

Scorpeg 22.01.2015 17:54

Раздельную не проверял. Да и мне чисто для интереса заинтегрировать так-то. Сурсы дарк алекс вроде не оставил. Раз оно в виде модулей прошивки, то я переименую например инферно в модуль от сони и оно полетит, нет? Он вряд ли же пользуется какими-то точками, которых нет в M33. Дайте чтоли линк на распаковщик прошивок какой-нить.

ErikPshat 22.01.2015 23:37

Цитата:

Сообщение от Scorpeg (Сообщение 1092423)
Раз оно в виде модулей прошивки, то я переименую например инферно в модуль от сони и оно полетит, нет?

Можно попробовать заменить 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


Цитата:

Сообщение от Scorpeg (Сообщение 1092423)
Дайте чтоли линк на распаковщик прошивок какой-нить.

Я обычно распаковываю прошивки вручную. Достаёшь DATA.PSP от установщика прошивки 5.00M33-6 и по очереди дербанишь модули и ресурсы. Всё примитивно, находишь начало файла ~PSP и от начала в позиции 0x2C записан размер файла, и выдёргиваешь/вставляешь таким образом файлы.

P.S. У Yoti есть своя тулза, которая дербанит автоматом файл...

Scorpeg 23.01.2015 10:18

Так, ну более-менее ясно. Так-то у них лежат уже отреверсенные смещения под M33 - http://sourceforge.net/mirror/procfw...h33/README.txt так что по идее это 4 места пропатчить в инферно, переименовать в march33.prx и должно полететь. Жалко, у меня самого ни времени ни psp пока нет, мож если кому-то интересно самому попробовать - отпишите по результатам.

Yoti 23.01.2015 10:26

Вложений: 1
Цитата:

Сообщение от Scorpeg (Сообщение 1092423)
Дайте чтоли линк на распаковщик прошивок какой-нить.

Забирай из аттача. Если разберёшься - пользуйся. Объяснять ничего не буду.

Цитата:

Сообщение от ErikPshat (Сообщение 1092448)
P.S. У Yoti есть своя тулза, которая дербанит автоматом файл...

=)

Scorpeg 23.01.2015 11:59

Да у тебя мануал есть :) Разберусь, времени бы только...

Кстати, а ведь есть же доступ напрямую во флеш-память с прошивкой, да? То есть я могу тупо файл поменять, ничего не перешивая?

Scorpeg добавил 23.01.2015 в 11:59
Хм, интересно, откуда они выковыряли этот M33 драйвер в про-прошивку, потому что в 5.00-6 он другой, меньше на 2 байта. И смещения какие-то другие воткнуты. Что вообще патчит этот патчер, кстати? Ну то есть что он туда пихает по этим оффсетам? А то это не прошивка, а какой-то один сплошной патч.

Они тоже чтоли криптованы? А то хекс сравнением вообще ни одного символа одинакового рядом.

Yoti 23.01.2015 12:09

Цитата:

Сообщение от Scorpeg (Сообщение 1092468)
То есть я могу тупо файл поменять, ничего не перешивая?

Можешь. Про Пандору не забудь.

Цитата:

Сообщение от Scorpeg (Сообщение 1092468)
Хм, интересно, откуда они выковыряли этот M33 драйвер в про-прошивку, потому что в 5.00-6 он другой, меньше на 2 байта.

Отреверсили.

Цитата:

Сообщение от Scorpeg (Сообщение 1092468)
А то это не прошивка, а какой-то один сплошной патч.

Внезапно.

Scorpeg 23.01.2015 12:15

Ниче они не реверсили, там сурсов нет. Там лежат тупо prx файлы, которые они выдрали из какой-то из прошивок dax'a. Вопрос вот из какой? И почему они разных размеров (ну это видимо потому что запакованные и закриптованные, а 6.60 уже лежит в ELF распакованным)?

Scorpeg добавил 23.01.2015 в 12:15
Цитата:

Сообщение от Yoti (Сообщение 1092472)
Можешь. Про Пандору не забудь.

У меня три PSPшки так-то дома лежат, так что не проблема.

Цитата:

Внезапно
И у дакса тоже чтоли? Фиии.... Я-то думал они по-взрослому разобрали сонивские апдейты, сломали шифрование, отреверсили нужные плаги...

Yoti 23.01.2015 12:36

Scorpeg,
резидентная программа не нарушает законы большинства стран, что даёт возможность её открытой публикации не боясь юридического преследования. Все кастомы не изменяют официальных файлов, кроме разве что очень старых, и то не в счёт. Плюс, сохраняется целостность подписи официальных модулей. Без реверса официальных модулей, а также анализа оперативной памяти нельзя написать резидента. Что, в целом, оффтоп в данной теме. Есть интерес ковырять - отправляйся в "Хакинг".

Обновил тему по мелочи.

ErikPshat 24.01.2015 05:01

https://www.pspx.ru/forum/showthread.php?t=105178
 
Цитата:

Сообщение от Scorpeg (Сообщение 1092461)
Так, ну более-менее ясно. Так-то у них лежат уже отреверсенные смещения под M33 - http://sourceforge.net/mirror/procfw...h33/README.txt так что по идее это 4 места пропатчить в инферно, переименовать в march33.prx и должно полететь.

Оу, ну тогда вообще ничего делать не надо, всё уже на блюдечке с голубой каёмочкой.

Цитата:

Сообщение от Scorpeg (Сообщение 1092474)
И почему они разных размеров (ну это видимо потому что запакованные и закриптованные, а 6.60 уже лежит в ELF распакованным)?

Хмм, по-моему ты что-то пропустил: https://www.pspx.ru/forum/showthread.php?t=76183

Scorpeg 24.01.2015 16:51

Почему пропустил? Как бы я наоборот так и сказал, нет? Перефразирую - странно то, почему у них march33.prx упакованный отличается от march33.prx в моей прошивке. Они его зачем-то перепаковали чтоли? Или в какой-то другой прошивке есть такой же march33.prx как у них в репе?

А вообще Yoti ругается, надо оффтоп в хакинг наверное переносить.

ErikPshat 24.01.2015 18:25

Цитата:

Сообщение от Scorpeg (Сообщение 1092531)
странно то, почему у них march33.prx упакованный отличается от march33.prx в моей прошивке.

Так при чём тут упакованный? Можно один и тот же файл заархивировать в GZIP с разной степенью сжатия. Отсюда 2 абсолютно одинаковых Эльфа будут в упакованном виде абсолютно разные, как по размеру, так и по содержанию. Они могут выглядеть по-разному, даже если исходники были одинаковые, но компилировали Эльф разными компиляторами.

Scorpeg 24.01.2015 22:02

Ну копетан очевидность, я ж говорю "Они его зачем-то перепаковали чтоли?" Смысл сего действа какой - распаковать, потом назад упаковать и заэнкриптить и в таком виде положить в репу? Странно это. Сурсов на елф у них нету, они ничего не компилили.

ErikPshat 26.01.2015 01:49

Цитата:

Сообщение от Scorpeg (Сообщение 1092547)
я ж говорю "Они его зачем-то перепаковали чтоли?"

Цитата:

Сообщение от Scorpeg (Сообщение 1092531)
у них 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.хх делала другая команда и у них код устроен совершенно по другому. Они просто отреверсили прошивку Дарк Алекса и по аналогии восстановили принцип работы драйвера. Ведь одно и то же действие программы можно реализовать разными способами программирования.

Scorpeg 26.01.2015 19:32

Моя прошивка - это которая в профиле, логично. Они - это авторы этого инферно драйвера, про который и говорил - т.е. PRO едишн. У Про лежит в репозитории оригинальная march33.prx, с которой они делали для 6.x прошивок. Я про нее говорю. Она не совпадает с 5.00m33-6, что странно (её же не рекомпилировали). Мож они прям взяли от 5.00 другой версии? https://code.google.com/p/procfw/sou...ivers/March33/

Yoti 27.01.2015 00:13

Scorpeg,
во-первых, учимся читать примечания на коммиты. Во-вторых, удалю весь оффтоп нафиг.

Scorpeg 27.01.2015 10:56

Точно, ты прав, не прочитал коммент к коммиту. Тогда всё понятно.

Я вообще уже не раз предлагал это разделить куда-нибудь в хакинг, чето меня ни модераторы ни админы не слушают :) Удалять-то не надо, вроде как бы полезная инфа кому-то может быть.

ErikPshat 27.01.2015 19:40

Вложений: 3
Цитата:

Сообщение от Scorpeg (Сообщение 1092692)
Точно, ты прав, не прочитал коммент к коммиту. Тогда всё понятно.

Ну судя по твоим вопросам про march33.prx, я так понял, что ты ничего не понял :)
Сегодня не поленился и проверил, что за march33.prx там лежат: https://code.google.com/p/procfw/sou...ivers/March33/
Там лежат 3 файла:
  1. march33.prx
  2. march33_620.prx
  3. 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/sou...h33/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/sou...h33/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/sou...h33/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.

Scorpeg 28.01.2015 00:04

Четко. Я на самом деле просто почему-то решил, что march33 там оригинальный лежит - это и была моя ошибка, остальное я всё ровно так же и понял, как ты расписал. Поэтому и удивлялся, кому ж это понадобилось пережимать оригинальный файл.


Текущее время: 05:34. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.