
CFW framework for PS Vita
taiHEN es un framework de CFW para PS Vita™. Cuando se carga con un exploit de kernel, actúa como un sustrato común para aplicar parches al sistema. taiHEN ofrece tres funcionalidades principales:
El último punto significa que los desarrolladores pueden añadir parches personalizados al kernel, a las aplicaciones del sistema y a los juegos por igual.
Para compilar, necesitas la última versión de la toolchain con soporte de kernel. Después solo tienes que usar CMake para compilar.
$ mkdir build && cd build
$ cmake ../
$ make
taiHEN requiere un exploit de kernel independiente para ejecutarse. Una vez que el exploit carga
taihen.skprx en el kernel, taiHEN se encarga del resto. Consulta la
documentación del exploit para más información.
Los plugins se cargan en el kernel después de que taiHEN se haya cargado, o bajo demanda cuando
se lanza una aplicación. taiHEN lee el archivo de configuración en
ux0:tai/config.txt.
La configuración que determina qué plugins cargar y el orden de carga se puede
encontrar en ux0:tai/config.txt. El formato es muy sencillo y
autoexplicativo.
# ignored line starting with #
# Kernel plugins are started with taiHEN and are in this section
*KERNEL
ux0:app/MLCL00001/henkaku.skprx
ux0:path/to/another.skprx
ux0:tai/plugin3.skprx
ux0:data/tai/plugin4.skprx
ux0:data/tai/plugin5.skprx
# titleid for SceSettings
*NPXS10015
ux0:app/MLCL00001/henkaku.suprx
ux0:data/tai/some_settings_plugin.suprx
# titleid for Package Installer
*NPXS10031
ux0:path/to/some_pkg_installer_plgin.suprx
# titleid for SceShell is special (does not follow the XXXXYYYYY format)
*main
ux0:app/MLCL00001/henkaku.skprx
ux0:data/tai/shell_plgin.skprx
Los puntos clave a tener en cuenta son:
# inicia un comentario, * inicia una sección y cualquier otro carácter inicia
una ruta.KERNEL es un nombre de sección especial que indica cargar un plugin de kernel cuando
se inicia taiHEN. Todos los demás nombres de sección son el title id de la
aplicación/juego en el que se cargará el plugin al inicio. Ten en cuenta que SceShell
tiene un title id especial de main.ux0:tai o ux0:data/tai. Es válido tener un plugin en varias
secciones, pero el desarrollador debe asegurarse de que el plugin sepa en qué aplicación
se carga si necesita hacer cosas diferentes.taiHEN exporta una interfaz API tanto para el kernel como para el usuario. Esta interfaz se
encuentra en las [páginas de documentación](@ref taihen). También deberías leer la
guía de uso para más detalles. Puedes descargar la versión publicada
o compilar taiHEN tú mismo. Después, puedes incluir taihen.h en tu
proyecto y enlazar con libtaihen_stub.a (para módulos de usuario) o
libtaihen_kernel_stub.a (para módulos de kernel).