PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Плагины для PS Vita (https://www.pspx.ru/forum/forumdisplay.php?f=456)
-   -   taiHEN плагины PS Vita - теория и практика (https://www.pspx.ru/forum/showthread.php?t=108283)

Yoti 22.11.2018 23:10

taiHEN плагины PS Vita - теория и практика
 
Копирование содержимого статьи без согласия
автора (Yoti) запрещено в любом виде:
текстовом, графическом, записи на видео,
в виде зарисовок и зачитки голосом,
а также в другом, не упомянутом здесь явно.

taiHEN плагины PS Vita
теория и практика

Введение:
В самых первых версиях HENkaku не было предусмотрено подключение дополнительных модулей (плагинов). Для решения этой проблемы (а это действительно проблема, так как изначально HENkaku задумывался для расширения возможностей системы, а не этих ваших пиратских игрулек) был придуман "скелет" - taiHENkaku. И, с версии 7, даже сам HENkaku стал лишь модулем для taiHEN (пускай и не отключаемым). Всё прочее можно менять под себя, и достаточно просто. Как именно? Читаем дальше.

Какие бывают плагины:
Плагины, как и системные модули, могут быть рассчитаны для работы на уровне ядра (kernel) и на уровне пользовательского приложения (user). Первые имеют больше возможностей, но работают постоянно, вторые же имеют меньше возможностей, но зато их можно привязать к отдельным приложениям. Отличить их можно по расширению - пользовательские плагины имеют расширение suprx (буква "u" взята из слова "user"), плагины уровня ядра имеют расширение skprx (буква "k" взята из слова "kernel").

Что с этим всем делать:
В файловой системе есть две различных системных папки со схожей структурой внутри. Первая находится в основном пользовательском разделе (ux0), вторая же находится во внутреннем пользовательском разделе (ur0). Сама папка, что очевидно, называется "tai", а нужный нам файл в ней - "config.txt". Предлагаю сразу же удалить папку "ux0:tai" и забыть про использование раздела ux0 вообще!

Как устанавливать плагины:
Установка плагина состоит из трёх шагов!
  1. Скопировать файл в папку ur0:tai
  2. Добавить путь в файле ur0:tai/config.txt
  3. Перезагрузиться

Синтаксис конфигурационного файла, секции и установка skprx:
На всякий случай, приведу содержимое файла "ux0:tai/config.txt" по умолчанию:
ux0:tai/config.txt
Код:

# For users plugins, you must refresh taiHEN from HENkaku Settings for
# changes to take place.
# For kernel plugins, you must reboot for changes to take place.
*KERNEL
# henkaku.skprx is hard-coded to load and is not listed here
*main
# main is a special titleid for SceShell
ur0:tai/henkaku.suprx
*NPXS10015
# this is for modifying the version string
ur0:tai/henkaku.suprx
*NPXS10016
# this is for modifying the version string in settings widget
ur0:tai/henkaku.suprx


Но работать мы будем с файлом "ur0:tai/config.txt", который лишь на одну (первую) строку больше:
Код:

# This file is used as an alternative if ux0:tai/config.txt is not found.
# For users plugins, you must refresh taiHEN from HENkaku Settings for
# changes to take place.
# For kernel plugins, you must reboot for changes to take place.
*KERNEL
# henkaku.skprx is hard-coded to load and is not listed here
*main
# main is a special titleid for SceShell
ur0:tai/henkaku.suprx
*NPXS10015
# this is for modifying the version string
ur0:tai/henkaku.suprx
*NPXS10016
# this is for modifying the version string in settings widget
ur0:tai/henkaku.suprx

  • С неё и начнём. Самый первый управляющий символ - # (решётка).
    Всё, что написано после него, пропускается при обработке файла. В исходном файле он используется для комментариев, но ещё можно использовать для временного отключения плагинов, вписав решётку перед строкой с ним.
    Пример:
    Код:

    #Я решил временно отключить плагин, который строкой ниже.
    #ur0:tai/henkaku.suprx
    #Из-за решёток в начале строки всё это будет проигнорировано.

    Вывод: все строчки с решёткой в начале можно смело удалить, и ничего не сломается! Так и поступим:
    Код:

    *KERNEL
    *main
    ur0:tai/henkaku.suprx
    *NPXS10015
    ur0:tai/henkaku.suprx
    *NPXS10016
    ur0:tai/henkaku.suprx

  • Теперь, очистив файл от комментариев, мы натыкаемся на второй управляющий символ - * (звёздочка).
    Строки, начинающиеся со звездочки, определяют куда буду применяться все плагины, пока не будет встречена новая строка со звёздочкой. Официально оно называется "секция". Список таких секций:
    • *KERNEL - секция для плагинов ядра (skprx), которые постоянно находятся в памяти
    • *ALL - секция для плагинов пользователя (suprx), работающих для всех запускаемых программ
    • *main - секция для плагинов пользователя (suprx), работающих в оболочке системы (SceShell)
    • *ABCD12345 - секция для плагинов пользователя (suprx), работающих только для "ABCD12345"
    Не допускайте дублирования (повторения одинаковых) секций! Хоть по стандарту оно возможно, но на практике часто приводит к сбоям в работе.
    Пример:
    Код:

    *KERNEL
    ur0:tai/nonpdrm.skprx
    *main
    ur0:tai/henkaku.suprx
    *NPXS10015
    ur0:tai/henkaku.suprx
    *NPXS10016
    ur0:tai/henkaku.suprx

Вывод: я скачал плагин "NoNpDrm", увидел у него расширение "skprx", скопировал этот плагин в папку "ur0:tai" и вписал путь до него в файле "ur0:tai/config.txt" на новой строке после первого объявления секции "*KERNEL", обнаруженного мною на первой же строке. После перезагрузки плагин будет работать.

Приоритеты плагинов, зависимости и установка suprx:
Из предыдущего примера можно подумать, что плагины ставятся как угодно - только строчки добавляй. Это не совсем так. Плагины считываются и применяются сверху вниз, потому порядок указания важен. Таких важных моментов, пожалуй, два:
  • Плагины подмены памяти - такие плагины (вернее плагин, так как больше одного за раз нормально работать не будет) стоит всегда держать первой строчкой после *KERNEL, а все прочие плагины для ядра писать после него.
  • Плагины с зависимостями - навскидку могу вспомнить таких только два, это kuio и ioPlus. Они дают доступ к функциям, которые используют другие плагины, и потому должны быть запущены раньше, чем зависимые от них (например, для VitaGrafix требуется ioPlus).
Также, не забывайте про нормальную человеческую логику - например, rePatch есть смысл вписать после NoNpDrm, так как без второго нельзя запустить игру, к которой будет применять изменения первый.

Рассмотрим установку пользовательских плагинов (напоминаю, это тех, чьё расширение suprx):
Код:

*KERNEL
ur0:tai/nonpdrm.skprx
ur0:tai/repatch.skprx
ur0:tai/kuio.skprx
*main
ur0:tai/henkaku.suprx
ur0:tai/shellsecbat.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
*ALL
ur0:tai/vsh.suprx
*PCSB00245
ur0:tai/Framecounter.suprx

Тут я установил плагин для изменения строки часов в меню (shellsecbat), для всех запускаемых приложений устаревший плагин для разгона (vsh) - не забыв про зависимости (kuio) и персонально для европейки Persona 4: Golden плагин для отображения счётчика кадров в секунду (Framecounter). Откуда я узнал код игры? Ответ тут.

Удаление плагинов:
  1. Удалить файл плагина
  2. Удалить строку из config.txt
  3. Перезагрузиться

Если ничего не получается:
Для оказания помощи необходимо предоставить три вещи:
  • Скриншоты или фотографии списка всех файлов и папок из раздела "ux0:".
  • Скриншоты или фотографии списка всех файлов и папок из папки "ur0:tai".
  • Скриншоты или фотографии списка всех строк из файла "ur0:tai/config.txt".

Elin 22.05.2019 16:20

Помогите разобраться
 
Скриншоты по ссылке
https://www.dropbox.com/sh/hsja8j5m5...odFKAakLa?dl=0
Пытаюсь понять, что не так, тк PKGj не работает (c0-9250-6)

Yoti 22.05.2019 21:13

Elin,
ты применил какую-то особую магию при копировании - плагин весит 0 байт, то есть по факту не существует.

ErikPshat 22.05.2019 21:18

Yoti, ответь тут человеку, я говорю, что все игры работают и проверены уже как 2 года, а он утверждает, что нифига не работает: https://www.pspx.ru/forum/showthread...34#post1181634

Elin 22.05.2019 21:51

Цитата:

Сообщение от Yoti (Сообщение 1181644)
Elin,
ты применил какую-то особую магию при копировании - плагин весит 0 байт, то есть по факту не существует.

Слона-то я и не заметил))) Перезалил плагин - все заработало) Спасибо!
:good:

Grafclanss 23.05.2019 23:42

Не работает rePatch
 
Доброго времени суток. Помогите понять что я делаю не так. Установил плагин по инструкции. Но он не работает. Закидываю файлы в папку rePatch и никакого толку нет. Переделывал уже раз 15. При этом устанавливал плагин reFOOD точно по такой же схеме и все получилось. Для инфы - хочу установить русификаторы на игры. Пытался с Rayman и FEZ. Результат один. Искал по темам , инфы нет о такой же проблеме. https://m.mega.dp.ua/YEaZH6 - скрины. Заранее благодарю.

Yoti 24.05.2019 02:05

Grafclanss,
Цитата:

Сообщение от Yoti (Сообщение 1158101)
Предлагаю сразу же удалить папку "ux0:tai" и забыть про использование раздела ux0 вообще!


ErikPshat 24.05.2019 05:27

Цитата:

Сообщение от Grafclanss (Сообщение 1181715)
Установил плагин по инструкции. Но он не работает.

Что-то сомневаюсь на 1000%, что установили плагин по инструкции. И это надо же иметь мозги наизнанку, чтобы картинки заливать на Мегу, вместо хостинга картинок.

Grafclanss 24.05.2019 08:58

Цитата:

Сообщение от Yoti (Сообщение 1181719)
Grafclanss,

Спасибо большое!!!!!!! Не удалил изначально эту папку так как туда устанавливал nonpdrm плагин по видео инструкции(т.к. не очень шарю). И папка была не пустая. Сейчас плагин перенес на ur0,и в конфиге путь изминил. Папку удалил и все заработало))) Сори за mega. На форумах лет 10 не сидел, и уже все подзабыл.

batareika 26.05.2019 10:42

Добрый день. Правильный ли у меня конфиг на ur0 в части KERNEL??

*KERNEL
ur0:tai/nonpdrm.skprx
ur0:tai/storagemgr.skprx
ur0:tai/reF00D.skprx
ur0:tai/repatch.skprx
ux0:app/PSPEMUCFW/sce_module/adrenaline_kernel.skprx
*main
ur0:tai/henkaku.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
*ALL
ur0:tai/oclockvita.suprx

, нужен ли плагин reF00D если используется nonpdrm? подскажите универсальный инструмент взлома пожалуйста. Рин чит - отказывается работать...Кстати - почему?

Yoti 26.05.2019 16:39

Цитата:

Сообщение от batareika (Сообщение 1181994)
Правильный ли у меня конфиг на ur0 в части KERNEL??

Нет.
Цитата:

Сообщение от Yoti (Сообщение 1158101)
Плагины подмены памяти - такие плагины (вернее плагин, так как больше одного за раз нормально работать не будет) стоит всегда держать первой строчкой после *KERNEL, а все прочие плагины для ядра писать после него.


Цитата:

Сообщение от batareika (Сообщение 1181994)
нужен ли плагин reF00D если используется nonpdrm?

Это разные плагины для разных функций. В идеале, нужно поставить оба (или даже три с репатчем).

Цитата:

Сообщение от batareika (Сообщение 1181994)
подскажите универсальный инструмент взлома пожалуйста

Не знаю, не пользуюсь.

batareika 28.05.2019 08:02

*KERNEL
ur0:tai/storagemgr.skprx
ur0:tai/nonpdrm.skprx
ur0:tai/reF00D.skprx
ur0:tai/repatch.skprx
ux0:app/PSPEMUCFW/sce_module/adrenaline_kernel.skprx
*main
ur0:tai/henkaku.suprx
*NPXS10015
ur0:tai/henkaku.suprx
*NPXS10016
ur0:tai/henkaku.suprx
*ALL
ur0:tai/oclockvita.suprx

Подмены памяти- в данном случае ur0:tai/storagemgr.skprx?

Yoti 28.05.2019 21:56

batareika,
теперь выглядит как нужно.

Hicofee 02.06.2019 23:52

Захотел поставить себе refood, взял и поставил, при запуске игры показывает ошибку, при втором запуске перезагружается, плагин бросил в ur0:tai туда же и ключь, что делать?

Yoti 02.06.2019 23:57

Hicofee,
Цитата:

Сообщение от Yoti (Сообщение 1158101)
Если ничего не получается:
Для оказание помощи необходимо предоставить три вещи:
Скриншоты или фотографии списка всех файлов и папок из раздела "ux0:".
Скриншоты или фотографии списка всех файлов и папок из папки "ur0:tai".
Скриншоты или фотографии списка всех строк из файла "ur0:tai/config.txt".


Hicofee 03.06.2019 00:03

Я применил чёрную магию и всё заработало)))) (внимательно прочитал что надо)

shayhi 12.07.2019 22:04

Цитата:

Сообщение от Yoti (Сообщение 1158101)
персонально для европейки Persona 4: Golden плагин для отображения счётчика кадров в секунду

Исходя из этого, вопрос. Как запретить запуск определенных плагинов в определенных приложениях/играх? Например тот же Lolicon в Adrenaline, который иногда приводит к зависаниям?
Встречал лишь такую информацию, что нужно добавить НАД идентификатором ID необходимого приложения по образцу - *!APP_ID(не совсем понятно, если честно). Показалось не совсем логичным, что нужно Над, попробовал прописать под lolicon.skprx - *!PSPEMUCFW, вроде бы помогло, но нет уверенности, что правильно сделал и вообще работает.

Yoti 12.07.2019 23:49

shayhi,
как-то так:
Код:

!*PSPEMUCFW
*KERNEL
ur0:tai/LOLIcon.skprx

То есть создавая дублирующую секцию KERNEL в конце файла.

shayhi 12.07.2019 23:52

Цитата:

Сообщение от Yoti (Сообщение 1187529)
создавая дублирующую секцию KERNEL в конце файла

Вот теперь всё понятно и доходчиво. Спасибо огромное!

Yoti 13.07.2019 11:33

shayhi,
вообще, попытки добавлять исключения для секций KERNEL и ALL по официальной документации могут привести к неопределённому поведению, но по отзывам на Реддит такой трюк работает. Без этой конструкции у людей консоль из спящего режима при запущенном Адреналине не выходит.


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

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