PDA

Просмотр полной версии : taiHEN плагины PS Vita - теория и практика


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

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

Какие бывают плагины:
Плагины, как и системные модули, могут быть рассчитаны для работы на уровне ядра (kernel) и на уровне пользовательского приложения (user). Первые имеют больше возможностей, но работают постоянно, вторые же имеют меньше возможностей, но зато их можно привязать к отдельным приложениям. Отличить их можно по расширению (https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BC%D0%B5% D0%BD%D0%B8_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0) - пользовательские плагины имеют расширение suprx (буква "u" взята из слова "user"), плагины уровня ядра имеют расширение skprx (буква "k" взята из слова "kernel").

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

Как устанавливать плагины:
Установка плагина состоит из трёх шагов!

Скопировать файл в папку ur0:tai
Добавить путь в файле ur0:tai/config.txt
Перезагрузиться


Синтаксис конфигурационного файла, секции и установка skprx:
На всякий случай, приведу содержимое файла "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 (https://github.com/Rinnegatamante/kuio) и ioPlus (https://github.com/CelesteBlue-dev/PSVita-RE-tools/tree/master/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). Откуда я узнал код игры P4G? Ответ тут (https://www.pspx.ru/forum/showthread.php?t=109598).

Удаление плагинов:

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


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

Elin
22.05.2019, 16:20
Скриншоты по ссылке
https://www.dropbox.com/sh/hsja8j5m5t0knka/AADvZHGaGZuoxbOXodFKAakLa?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.php?p=1181634#post1181634

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

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

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

Yoti
24.05.2019, 02:05
Grafclanss,
Предлагаю сразу же удалить папку "ux0:tai" и забыть про использование раздела ux0 вообще!

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

Grafclanss
24.05.2019, 08:58
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
Правильный ли у меня конфиг на ur0 в части KERNEL??
Нет.
Плагины подмены памяти - такие плагины (вернее плагин, так как больше одного за раз нормально работать не будет) стоит всегда держать первой строчкой после *KERNEL, а все прочие плагины для ядра писать после него.


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

подскажите универсальный инструмент взлома пожалуйста
Не знаю, не пользуюсь.

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,
Если ничего не получается:
Для оказание помощи необходимо предоставить три вещи:
Скриншоты или фотографии списка всех файлов и папок из раздела "ux0:".
Скриншоты или фотографии списка всех файлов и папок из папки "ur0:tai".
Скриншоты или фотографии списка всех строк из файла "ur0:tai/config.txt".

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

shayhi
12.07.2019, 22:04
персонально для европейки 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
создавая дублирующую секцию KERNEL в конце файла
Вот теперь всё понятно и доходчиво. Спасибо огромное!

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

Lolo4kin
25.09.2019, 22:39
Предлагаю сразу же удалить папку "ux0:tai" и забыть про использование раздела ux0 вообще!
А если я удалил из ur0: текстовый файл config, а на ux0: остался, могу ли я его просто перенести в ur0: ???

shayhi
25.09.2019, 22:46
могу ли я его просто перенести в ur0: ???
Почему нет? В шапке различие содержимого конфигов:
Но работать мы будем с файлом "ur0:tai/config.txt", который лишь на одну (первую) строку больше:
Так же там есть инструкция, как упростить дальнейшие действия с конфигом:
Вывод: все строчки с решёткой в начале можно смело удалить, и ничего не сломается!

Lolo4kin
25.09.2019, 22:54
Почему нет? В шапке различие содержимого конфигов:

Так же там есть инструкция, как упростить дальнейшие действия с конфигом:

СПАСИБО))

Yoti
26.09.2019, 00:36
Lolo4kin,
тогда у тебя останутся файлы в разделе ux0, а также пути внутри конфига будут указывать на ux0. Это тоже нужно будет изменить.

MaxWooD
23.03.2020, 22:19
Админэ делете!

Yoti, спасибо за ответ, это я туплю просто. Плагин адреналина же лежит же в папке ux0.

Yoti
24.03.2020, 17:57
MaxWooD,
нужно просто написать строчку текста, сам файл никуда дёргать не нужно.

Gell
16.12.2020, 22:47
Сделал всё по инструкции как описано выше. Итог - консоль не реагирует на клавиши нажатия, а только на шокер-аналог. Приставка-кирпич.

Yoti
17.12.2020, 11:18
Gell,
мне интересно, что же ты сделал по инструкции выше, когда она имеет ознакомительный характер и применяется только в связке с чем-либо?

Gell
19.12.2020, 21:20
Gell,
мне интересно, что же ты сделал по инструкции выше, когда она имеет ознакомительный характер и применяется только в связке с чем-либо?

Сделал установку пользовательских плагинов как описано выше по коду начиная с KERNEL. Каждый раз при запуске консоли работают клавиши минуты 2-3 в приложения потом всё - не реагируют на нажатия. Пришлось сносить систему и прошивать заного до 3.60 чтобы установить HENKAKU. Тоже не помогло еле-еле как поставил h-encore и VitaShell. Кнопки перестают работать через минут 5. Крч я сглупил.Надо было скриншоты папок показать и плясать от них, а не аниматься самодеятельностью.


Сообщение от https://www.pspx.ru/forum/showthread.php?t=108283
Скриншоты или фотографии списка всех файлов и папок из раздела "ux0:".
Скриншоты или фотографии списка всех файлов и папок из папки "ur0:tai".
Скриншоты или фотографии списка всех строк из файла "ur0:tai/config.txt".

Yoti
19.12.2020, 21:42
Сделал установку пользовательских плагинов как описано выше по коду начиная с KERNEL.
Пользовательские плагины не могут быть в kernel - туда идут плагины ядра. Вот прямо подробно расписал.

Каждый раз при запуске консоли работают клавиши минуты 2-3 в приложения потом всё - не реагируют на нажатия.
Впервые про такое читаю.

Пришлось сносить систему и прошивать заного до 3.60 чтобы установить HENKAKU. Тоже не помогло еле-еле как поставил h-encore и VitaShell.
Ещё интереснее. h-encore не ставится на 3.60.

Надо было скриншоты папок показать и плясать от них, а не аниматься самодеятельностью.
Я тоже не понял, каких ты там плагинов мог наставить.

FessBC
02.08.2023, 21:36
Здравствуйте.
Прикупил sd2vita и следую местной инструкции.
Небольша замника на шаге "отказаться от плагинов на карте памяти (ux0) и настроить всё в ur0".
https://imgur.com/a/84Utpzv
Первые два скриншота это config в ux0 как он был последние 4 года.
Вторые два в ur0, где я сейчас добавил 5,6 и 7 строки(соответствующие файлы перенс в ur0:tai/).

Вопрос по 9 и 12 строкам на первом скришоте. Нужно ли переносить папку MLCL00001 в раздел ur0:app/ и указывать новый путь или надо указать прежний путь в ux0:?
Просто с приложением не сразу очевидно.

Yoti
03.08.2023, 00:13
FessBC,
у тебя этой папки быть вообще не должно, она от очень старой версии HEN.

FessBC
03.08.2023, 00:18
Yoti,
Спасибо.
Да, я как в те времена запустил всё так и боялся что-то менять что бы не сломать. Но сегодня обновился до текущей версии, как вы в инструкции и писали.
Я уже сдела всё, полёт нормальный. Спасибо вам, ещё раз, за гайд.

takhirtv
18.08.2025, 00:52
Здравствуйте. Прикупил ps vita fat 3g с memory stick vita 16 gb и sd2vita на 512 гб, консоль частично полетела и я пока чайник в этом вопросе, теперь пытаюсь восстановить и понять что и как работает, не совсем разбираюсь во всех этих плагинах какие нагружают систему и повреждают карту памяти, а какие нет( Возможно все проблемы с неотображением данных с sd2vita в autoplugin 2 и нужно все плагины с него установленные каким-то образом удалить и записать их вручную самому без него. Не могли вы бы помочь/подсказать что из этого лишние и что можно удалить и как это вообще сделать?
Вот ссылки на все данные в config.txt: https://disk.yandex.ru/i/X-WrCDebIpb_cw https://disk.yandex.ru/i/2cY1D-9Id8ipyA https://disk.yandex.ru/i/8lJfnUzJISdfEA

Yoti
19.08.2025, 01:06
takhirtv,
никто не знает, что не нужно лично тебе. Чем отличаются ссылки 2 и 3? Куда пропали остальные строки (1 и 19-20)? Почему было просто не закинуть текстовик?
Предположим, что тебе нужна SD2VITA и коммерческие игры без прикрас. Тогда можно удалить строки: 6-9, 11, 15, 17, 23, 26-36. Вот только строки не все...
Вся прочая информация касательно "как и почему" подробно расписана в шапке. Также могу предложить альтернативную ссылку (https://dev.pgteam.org/main/guides/gaidy/playstation-vita-or-ps-vita-or-ps-tv/programmy-igry-i-plaginy/plaginy), где написано другими словами.

P.S. Чуть-чуть обновил шапку минимальными правками.