サイトアイコン 大人のためのゲーム講座

大変革はタイヘンだが、ではtaiHENkakuとは何か

Yifan Lu氏が、 PS VitaでHoembrew起動などを実現するHENkakuのアップデート版 大変革と書いて”たいへんかく”と読ませるtaiHENkakuをリリースしていました。ニホンゴムツカシイネ。タイヘンデス。

一応私もtaiHENkakuについて時間があれば詳しく書くと予告したので、時間はなかったのですがtaiHENkakuとは何なのかについて詳しく書きます。


Yifan Lu氏がHENkakuのメジャーアップデートを予告していました。リリースが遅れたような気がしますが、Yifan Lu氏曰く午後11時55分(太平洋標準時)なので約束通りだそうです。

taiHENkakuの公式サイトは
https://tai.henkaku.xyz/
予告されていたソースコードは
https://github.com/yifanlu/taiHEN
で公開されています。

ところで、メジャーアップデートで名称まで変えてくるのは予想外でした。しかし名称変更には実は大きな意味が隠されていたのです。変革の上位表現が大変革で、それは大変なものだというのが基本ですが、大変と大変革だと「大」の読みが変わることがどれだけ大切なことなのかというのは日本人でないと理解できないのかもしれません。そもそもHENを変と結びつける時点で日本人的にはニュアンスに難ありなんですけどね。

さて、かつてYifan Lu氏がVita購入後に抱いていた夢は、「VitaでCFWを起動させたい」というものでした。それはカスタムカーネルコードを実行したいというものではなく、システムにフックやパッチを自在に施せるインフラを作りたいという願いでした。その実現のために今回開発されたのがtaiHENです。

taiHENはアプリケーションをコーディングしたり、システムレベルのパッチを作ったりするためのフレームワークです。簡単に説明すると、自作ゲームを起動したりカーネルプラグインを動作させたりなどができるようになるものですが、taiHENは新しいexploitではありません。あくまでもHENkakuのアップデートですのでtaiHENkakuと呼ぶことにしました。したがってVitaのファームウェアは3.60が対象です。

ただし実際にはファームウェアパッチはHENkakuとは同じではなくtaiHENシステム側に移動しています。これは今後新たにexploitが新しいファームウェア向けに見つかった時にそれを利用できる仕組みにするためです。将来のファームウェアに備えたと言えます。
今はWebkitのHENkaku exploitしかありませんが、例えば今後最新ファームウェアにexploitが見つかればtaihen.skprxと、可能であればプラグインをロードするようにしてやれば最新ファームウェアでtaiHENkakuが有効にできることになります。もちろん、古いファームウェアへの移植も可能です。

更にカーネルへのフック機能でtaiHENはシステムアプリやゲームへのフックが可能になります。ゲームのチートはもとより純正にはないメニューを追加したりなどの改造ができます。

taiHENkakuの主な機能は以下です。

・圧縮FSELFのサポート
・VitaShellの1.42へのアップデート。新HENkaku設定メニューによりPSN接続時のバージョン偽装に対応します。(実際にはベータ版では動作しないので注意)
・安全ではないHomebrew(ビルド時にSafeフラグ立ててビルドされていないもの)はデフォルトでは起動できなくなりました。molecularShellでスタートボタンを押し、HENkaku設定メニューで”enable unsafe homebrew”を選択すれば起動できるようになります(実際にはVitaShellの設定メニューに実装されていない関係でこの機能は無効になっているので注意。VitaShellが対応次第有効になります)。

[大変革: 変革の次のステップ]
taiHENkakuはHENkakuのすべてを網羅したHENkakuのアップデートです。Homebrewゲームやエミュレータなどは今まで通り起動できます。
今回のアップデートではプラグインの機能を付加しました。iOSやAndroidなどのソフトウェアプラットフォームCydia Substrateと同様のテクノロジーをベースに開発されたもので、開発者はゲームやシステムアプリ、そしてカーネルのアレンジするためのフックやパッチの作成が可能になります。

[さあ、はじめよう]
まだ不具合のすべてが解消しているわけではありませんが、初期ベータ版としてtaiHENkakuはリリースされました。
まずはVitaでhttp://beta.henkaku.xyz/へアクセスしてください。
安定版をお望みの方はVitaを再起動後 https://henkaku.xyz/へアクセスして下さい。

ベータ版は開発者がtaiHENプラグインをテストするために公開するもので、一般ユーザーは安定版のHENkakuをお勧めします。taiHENには現時点では開発者向け以外の新機能はありません。

[開発者のみなさま]
開発者のみなさまはtaiHENを活用していろいろハックを試してみることができます。新フックシステムでチートやUIのMODなどできることの可能性は無限に広がります。ただし、それにはこれからの開発者のみなさまの協力が必要です。まずは最新カーネル向けのtoolchaintaiHENライブラリをダウンロードしてください。taiHENのAPI ドキュメントも目を通しておいてください。FreeNode IRCの#vitasdkチャットルームでサポートも行っています。

[プラグインのビルド方法]
プラグインをビルドするチュートリアルは後日公開予定です。まずはhttps://github.com/henkaku/henkaku/tree/master/pluginを参考にしてください。

[プラグインの設定]
プラグインの有効/無効化は
ux0:tai/config.txt
の設定ファイルの内容で決定されます。テキストベースなので分かりやすいと思います。
# 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/somesettingsplugin.suprx

titleid for Package Installer

*NPXS10031
ux0:path/to/somepkginstaller_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

[まとめ]
基本的には現時点では開発者向けのベータ版リリースという現状はお分かりになったと思います。taiHENがCFWのためのフレームワークで、taiHENkakuは今までのHENkakuのアップデートです。
taiHENkakuの目的は、概念としてはYifan Lu氏のいう通り自由度を求めたということになりますが、これについては同じく開発に携わったDavee氏がわかりやすく例えています。

「PSP時代にCFW MEを好んで使っていたが、CFW PROのある機能の方が優れていても機能自体がビルトインされているのでCFW開発者本人でないとMEにPROの機能は実装できない」

そこで、全ての機能をプラグインとして実装すればユーザーが好みの機能を選択しユーザー自身がそれを実装できるという理想環境を実現しようという動きになったのです。それがtaiHENkakuです。PSP時代から長く続くハックシーンの経験資産を最大限に活用したと言えるでしょう。

現在はまだプラグインも何もありませんので全てはこれからですが、Vitaシーンの開発者がこの流れに乗れば、相当な自由度を持つVitaカスタマイズがあらゆる面で可能になります。

モバイルバージョンを終了