PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Портируем старые плагины, такие, как Music.prx, под прошивку 6.60 (https://www.pspx.ru/forum/showthread.php?t=104559)

SILENT-Pavel 20.03.2014 14:26

Цитата:

Сообщение от ErikPshat (Сообщение 1085391)
Проанализировал через PRXTool файлы audio.prx от всех выложенных прошивок. НИДы у всех прошивок одинаковые, как на 3.71 :D.
Этого быть не может. Ты по видимому распихал по всем папкам одну и ту же прошивку 3.71. Короче что-то дофига понапутал.

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

кроме 6.35 все делал по инструкции, проверял несколько раз внимательно
реальная псп щас далеко от меня к сожалению

ErikPshat 20.03.2014 14:47

SILENT-Pavel, поставь Araxis Merge и сравни папки разных прошивок. Получишь результат. В проге есть возможность сравнения не по одному файлу, а сразу по 2-3 папки. Увидишь, какие файлы содержат различия, а какие идентичны. Мне долго качать эту прогу, весит аж 40 Мб. Хотя щас скачаю за часок.

Скорее всего декриптовалось всё нормально, просто когда ты всё раскладывал по папкам, наверняка копирнул в буфер прошивку 3.71 и таким образом её файлы раскидал по разным прошивкам. Поэтому размер папок разный, но обновлённые файлы от 3.71. А может это у меня что-то глюкнуло, т.к. название файла одно было audio.prx, я прогонял через PRXTool и каждый раз закидывал файл от другой прошивки. В результате все тесты оказались 100% идентичными при сравнении.

Yoti 20.03.2014 15:54

Про какие именно nid'ы хоть речь? Они могут быть изменяемые (обычно это те, что используются внутри ядра) и неизменяемые (после изменения которых отвалились бы старые игры, так что преимущественно юзермоды); могут быть быть прямые (которые sha1 от функции) и непрямые (которые "солёные" и резолвятся прошивкой в прямые).

ErikPshat 20.03.2014 19:40

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

Сообщение от SILENT-Pavel (Сообщение 1085406)
У них же разный размер у папок по прошивкам, если это была одна - то размер был бы одинаковый, каждый раз после декриптации удалял все остатки файлов от другой прошивки и делал с нуля новую.

Ну так ты сравнивал свои папки? Я кстати не поленился и скачал посвежее версию. Ну и сравнил сразу 3 папки. Для сравнения выбрал 2 крайние и одну посередине: 3.71-5.00-6.60

Ну и вот отчёт твоей проделанной работы :)
Там персиковым цветом выделены несвязанные файлы, т.е. которые есть в одной папке, но отсутствуют в другой.
А бирюзовым цветом выделены вставленные файлы, т.е. которых не было в других папках, но были добавлены в новых.
Собсно программа сверяет файлы не по размеру, а по внутреннему содержимому побайтно и в столбике "Различия" показывает количество различающихся блоков. Ну и как видно, ни один файл не имеет ни одного отличия :xDD:
Сравнительный анализ
Так что с тебя щтрафной: декриптовать всё по новой и по правилам, написанным в той теме в шапке.



Цитата:

Сообщение от Yoti (Сообщение 1085410)
Про какие именно nid'ы хоть речь? Они могут быть изменяемые

Да, в шапке я именно про это упоминал, поэтому не выводил в список неизменяемые ниды. Но это нужно ещё проверять и отсекать солёные. Хотя фрост уверял, что можно использовать и так и эдак, т.е. под своим прямым названием, либо с хешем в суффиксе. Делать-то мы будем под одну прошивку 6.60, под все другие нам не надо.
Ну если что накосячим, надеюсь ты направишь в нужное русло ;)

Yoti 20.03.2014 22:06

Цитата:

Сообщение от ErikPshat (Сообщение 1085413)
Хотя фрост уверял, что можно использовать и так и эдак, т.е. под своим прямым названием, либо с хешем в суффиксе. Делать-то мы будем под одну прошивку 6.60, под все другие нам не надо.

Ну да, можно. Я много читал про nid'ы, но это было на английском и я уже не помню где. Возможно, на lan.st (вечная память).

SILENT-Pavel 20.03.2014 22:23

сделаем пробник по новой с чистого листа. может и правда спешил и что-то перебил горячими клавишами. Старое вложение удалил.

взял 3.71, 5.00 и 6.35
взял три дампера под 6.60 из сборника "PSARDumper's Pack 2.60-6.60"
а именно:
PSARDumper_660
PSARDumper_660_neur0n
PSARDumper_660_proxima
папку F0 целиком заливаю вообще ничего не сортируя самостоятельно из неё
все пожато LZMA и для каждой прошивки 3 версии папки F0 от разных дамперов (подписаны)
если все внутри будет правильно, доделаю остальные прошивки и залью в базу вложением,
либо может кто поможет побыстрее с реальной псп

https://www.mediafire.com/?wih7ne2v27w0o1q
21/276 mb

upd: видимо не понимаю что именно нужно и в каком виде. уступаю более понимающим, сам сливаюсь

Yoti 20.03.2014 23:10

Вложений: 1
Вот вам архивчик, который я использую для первичного реверса модулей. Кинуть в папку bin/elf/prx, запустить батник. Есть моменты, которые я всё хочу доработать, но они не такие критичные.

ErikPshat 21.03.2014 02:27

Вложений: 1
SILENT-Pavel, эх-эх, опять косяки, косяки да пяточки :) Ты бы хоть сам бы проверил, я же тебе уже и прогу подогнал.
Позже допишу, что почём.



Короче сравнил сначала в пределах одной прошивки, как отрабатывают дамперы.
Ну то есть сравнивал так:
  • !3.71- !3.71-neuron !3.71-proxima === все 3 папки оказались идентичными. Вроде всё как надо.
Потом сравнил следующие прошивки:
  • !5.00- !5.00-neuron !5.00-proxima === прошивки Unknown и neuron полностью совпадают, за исключением того, что у нейрона извлёкся ещё один лишний секретный файл: vsh\module\npsignup_plugin.prx. Видимо 2 других дампера не знают про него ничего. Нужно бы посмотреть на заголовок его в недекриптованном виде. Просьба извлечь его без декриптовки.
    А вот с proxima у них огромные различия. Откуда Проксима достал эти файлы - непонятно. Ну не могут они так декриптоваться из одного и того же EBOOT.PBP 5.00, чтобы на выходе у Проксимовского декриптора получились другие файлы.

    Сделал скриншотик
    Короче, сравнил я файлы !5.00-proxima и 3.71-proxima - они одинаковы :) Получается вместо 5.00 прошивки, дампер Проксимы декриптовал ещё раз прошивку 3.71.
Потом сравнил следующие прошивки:
  • !6.35- !6.35-neuron !6.35-proxima === только дампер Нейрона извлёк все файлы PRX. Unknown и proxima их не смогли вытащить, папки kd и module пустые. И так же, прошивки Unknown и neuron полностью совпадают, в тех оставшихся файлах RCO, которые в папке resource.
    А вот с proxima у RCO опять же отличия. Проксимовский дампер туда положил файлы от прошивки 5.00 :D
Потом стал сравнивать разные прошивки одного дампера !3.71- !5.00- !6.35- === различия есть, но их очень мало. Короче дальше не буду рассказывать, потому что ещё дальше полнейший бред. Да что говорить, если даже IPL у прошивок 3.71, 5.00 и 6.35 одинаковый )))



В общем такое ощущение, что PS VITA имеет крутой кэш и по видимому кэширует предыдущие действия. Если в следующий раз попадаются файлы с теми же именами, она их достаёт из кэша, чтобы не тратить лишнее время на декриптовку того же по названию файла, который недавно декриптовали :D Вот такое складывается впечатление.

vash 21.03.2014 10:16

Значит, нужно декриптовкой заниматься на ПСП и дампером от Нейрона? Могу сейчас заняться этим. Выложу в теме [БАЗА] Декриптованные RCO и PRX от всех прошивок без RCO-файлов.
П.С.: ErikPshat, просьба, уточни, от каких прошивок нужны на данное время эти файлы, смысла делать ото всех нет.

ErikPshat 21.03.2014 14:34

Цитата:

Сообщение от vash (Сообщение 1085429)
ErikPshat, просьба, уточни, от каких прошивок нужны на данное время эти файлы, смысла делать ото всех нет.

Желательно полный набор: 3.71, 3.80, 3.90, 3.95, 5.00, 5.50, 6.20, 6.35, 6.60.

Цитата:

Сообщение от vash (Сообщение 1085429)
[БАЗА] Декриптованные RCO и PRX от всех прошивок без RCO-файлов.

vash, лучше делай сразу по инструкции в той теме, которую я написал там в шапке, чтобы потом лишний раз не переделывать работу.
Например папки "codepage", "data", "dic", "font" совершенно не нужны во всех архивах, т.к. они во всех прошивках одинаковы и никакой полезной нагрузки не несут.

Yoti 21.03.2014 17:10

Цитата:

Сообщение от ErikPshat (Сообщение 1085438)
они во всех прошивках

Не во всех, но в последних.

ErikPshat 21.03.2014 19:15

Цитата:

Сообщение от vash (Сообщение 1085429)
Значит, нужно декриптовкой заниматься на ПСП и дампером от Нейрона?

Не факт. Просто дампер от Проксимы повёл себя так из-за кэша Виты. Скорее всего точняк Вита подсовывала файлы от предыдущих действий, поэтому в папке оказывались файлы именно от предыдущих декриптовок. В папке 5.00 оказывались файлы от 3.71, а в папке 6.35 оказывались файлы от 5.00. Соответственно, если при декриптовке 6.35 не получилось дамперу извлечь файлы PRX, то и Вита из кэша ничего не доставала.

Думаю было бы то же самое с дампером Нейрона, если бы его запускали в последнюю очередь. То есть, опять бы складывались файлы из кэша Виты от предыдущих декриптовок.
Единственное отличие дампера Нейрона, что у него заложен механизм декриптовки 6.35, а другие его не учли. Я даже предполагаю где это надо копать. Дампер Unknown повёл себя так на прошивке 6.35, потому что сделан был на осове дампера Проксимы, по видимому
SILENT-Pavel, использовал одну из моих версий, ведь там одна версия была основана на Проксиме, а другая на Нейроне. Но моя версия в теме ПСАРдампера, помнится, должна была извлекать и декриптовать файлы rebootex в корне и файлы *.img + ещё какие-то файлы, потому что я там добавлял код и ключи.

И ещё у меня есть мысля, что на Вите должна быть функция в настройках "Отключения КЭШа" ??? :scratch_one-s_head:

Цитата:

Сообщение от Yoti (Сообщение 1085446)
Не во всех, но в последних.

Ну там какой-то файл переехал из одной папки etc в папку codepage вроде и ещё может какие изменения. Лень просто щас копаться и уточнять эти несущественные вещи.

ErikPshat 29.03.2014 05:00

Итак, портирование плагина music.prx for 6.60 произведено.
Результаты исследования с таблицей и наводящая инструкция в шапке.

Просьба потестить во всех режимах на прошивке 6.60 и доложить о багах...

SILENT-Pavel 30.03.2014 15:27

ErikPshat, работает на вите.
Главное отличие визуальное от не портированного - больше информации при нажатии SELECT + квадрат

апд: походу дебаг стоит единичка в конфиге. он эту инфу и показывает

апд2: работает функция "IN_GAME_MUTE = SELECT|HOME" с эмуляцией хоум на Л + Р
на не портированном плагине эта функция не работает но показывает что типа включается и выключается

апд3: на обоих версиях плагина не получается сменить частоту цпу

ErikPshat 31.03.2014 00:02

SILENT-Pavel, о, спасибо за тесты. Нашёлся хоть один человек на форуме ЗЫЗч. Я уж подумал - совсем плагин теперь не робит.


Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085682)
больше информации при нажатии SELECT + квадрат

Хорошо бы посмотреть визуально на скриншоты. Я даже не в курсе, что он ещё что-то выдаёт на экран. Ага, вижу 10-ую строчку:
Управление из конфига :
  1. :select: + :up: = Повысить громкость.
  2. :select: + :down: = Понизить громкость.
  3. :select: + :l_trigger: = Старт/Стоп воспроизведения.
  4. :select: + :left: = Предыдущий трек.
  5. :select: + :right: = Следующий трек.
  6. :select: + :r_trigger: = Режимы (по порядку (SEQ), случайно (RAND)).
  7. :select: + :triangle: = Повысить частоту процессора.
  8. :select: + :cross: = Понизить частоту процессора.
  9. :select: + :circle: = Перезапустить плагин.
  10. :select: + :square: = Вызов на экран меню с информацией.
  11. :select: + :home: = Отключение звука в игре.
  12. :select: + :start: = Повторить.
Управление по умолчанию - основная кнопка НОТА

Можешь доложить по этим 12-ти пунктам, что работает, а что нет?

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085682)
походу дебаг стоит единичка в конфиге. он эту инфу и показывает

Так значит он стал настройки из конфига подхватывать? Говорили, что пофигу, что написано было в конфиге. Даже если сменить путь до музыки с ms0:/PSP/Music/ на ms0:/Music/, то он всё равно проигрывал только из папки по умолчанию ms0:/PSP/Music/

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085682)
апд2: работает функция "IN_GAME_MUTE = SELECT|HOME" с эмуляцией хоум на Л + Р
на не портированном плагине эта функция не работает но показывает что типа включается и выключается

:select: + :home: = Отключение звука в игре.
Ну просто замечательно! Слышал про такой баг, когда в играх не отключался звук музыки.

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085682)
апд3: на обоих версиях плагина не получается сменить частоту цпу

ОК, буду разбираться...

SILENT-Pavel 31.03.2014 17:53

Цитата:

Сообщение от ErikPshat (Сообщение 1085699)
  1. :select: + :up: = Повысить громкость.
  2. :select: + :down: = Понизить громкость.
  3. :select: + :l_trigger: = Старт/Стоп воспроизведения.
  4. :select: + :left: = Предыдущий трек.
  5. :select: + :right: = Следующий трек.
  6. :select: + :r_trigger: = Режимы (по порядку (SEQ), случайно (RAND)).
  7. :select: + :triangle: = Повысить частоту процессора.
  8. :select: + :cross: = Понизить частоту процессора.
  9. :select: + :circle: = Перезапустить плагин.
  10. :select: + :square: = Вызов на экран меню с информацией.
  11. :select: + :home: = Отключение звука в игре.
  12. :select: + :start: = Повторить.

6.60 твой порт плагина:

1. да
2. да
3. да
4. да
5. да
6. да
7. нет
8. нет
9. ?
10. да
11. да
12. да

старый оригинальный плагин с вололо:

1. да
2. да
3. да
4. да
5. да
6. да
7. нет
8. нет
9. ?
10. да
11. нет
12. да

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

Цитата:

Сообщение от ErikPshat (Сообщение 1085699)
Кстати, на Вите возможно изменить частоту эмулятора PSP?

внутри xmb tn-v изменять можно
кстати насчет кэша псп ты спрашивал выше - нет такой настройки
так что все мои тесты считать адекватными только для другой виты, а не для псп сцены в целом
например потому, что виты тн-в может включать старые плагины иначе чем псп 2000 например, на псп мб не работает то что поддерживается тн-в для старых плагинов

ErikPshat 31.03.2014 22:23

Кстати, говорили, что ранее настройки из конфига совсем не подхватывались...

В частности, элементарно подхватывания музыки из директории, прописанной в конфиге:
  • ms0:/PSP/MUSIC/
  • ms0:/MUSIC/
Жалоба пошла отсюда: https://www.pspx.ru/forum/showthread.php?t=104547

SILENT-Pavel 01.04.2014 15:36

Цитата:

Сообщение от ErikPshat (Сообщение 1085717)
Кстати, говорили, что ранее настройки из конфига совсем не подхватывались...

В частности, элементарно подхватывания музыки из директории, прописанной в конфиге:
  • ms0:/PSP/MUSIC/
  • ms0:/MUSIC/
Жалоба пошла отсюда: https://www.pspx.ru/forum/showthread.php?t=104547

ну тут такое дело, что мьюзик в вите читается из памяти виты РЕЛИНКОМ из псп/мьюзик вроде
другие правила, изменять эти настройки не стоит и только усложнит весь процесс, т.к. музыку удобно скидывать в память виты и быстрее
нужен чувак с реальной псп опять же. но дебаг энейблер опция в txt идущем с плагином работает вкл/выкл, т.е. файл читается плагином, но толку то
всмысле персонализированных плейлистов для айди игры вроде же не появилось от порта на 6.60

оффтоп:
а вот насчет картинок типа скринов с игр в плагине. эти картинки дублируются в памяти виты независимо от памяти псп. интересная система и удобнее чем на обычной псп. точнее почти как на ГО версии. можно остановить игру и в памяти виты просматривать скрины

ErikPshat 01.04.2014 16:17

SILENT-Pavel, я имею в виду, что на PSP музыку можно ложить в папки ms0:/PSP/MUSIC/ или ms0:/MUSIC/
Но плагин, по идее, должен брать музыку исключительно только из той папки, которая прописана в конфиге, у которой нет комментирующего знака # спереди. Это 12 и 13 строчки в конфиге, идущим в комплекте с плагином music_conf.txt:
Код:

DIR = ms0:/MUSIC/ #must end with a slash
#DIR = ms0:/PSP/MUSIC/

Вот я и прошу проверить этот факт.

Цитата:

Сообщение от SILENT-Pavel (Сообщение 1085735)
но толку то в смысле персонализированных плейлистов для айди игры вроде же не появилось от порта на 6.60

А есть пример с исходниками, где такая функция присутствует?

Вообще странно... столько НИДов (14 штук) обновил в плагине, а так мало изменений )))

ErikPshat 01.04.2014 17:05

Опана... Себе на заметку...
NID функции LoadCoreForKernel_CF8A41B1 присутствует на прошивках 1.00 - 3.7х, а в следующих прошивках изменился.
Нужно ловить и править.
Код:

LoadCoreForKernel (loadcore.prx)
0xCF8A41B1 [0x0000540C] - LoadCoreForKernel_CF8A41B1

UPD: ещё ниды функций до 5.00 присутствуют, но изменились в 6.60
Код:

SysclibForKernel (sysmem.prx)
0x89B79CB1 [0x000054B4] - strcspn
0x62AE052F [0x000054BC] - strspn
0x87F8D2DA [0x000054CC] - strtok

UPD: по непонятным причинам в исходниках присутствует нид, который ни в одной прошивке найти не удалось. Возможно старинная функция 1.х
Код:

SystemCtrlForKernel
0xCC9ADCF8 [0x0000553C] - SystemCtrlForKernel_CC9ADCF8



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

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