TCPGecko Plugin は、開発、デバッグ、メモリ調査、チートコード運用のために TCP Gecko 互換サーバーを提供する Wii U Aroma プラグインです。サーバーは TCP ポート 7331 で待ち受けます。
Warning
TCPGecko には強力なメモリ操作・コード実行コマンドがあります。信頼できるローカルネットワークで、調査する権限のあるソフトウェアとハードウェアだけを対象に使用してください。
- ポート
7331の TCP Gecko 互換サーバー - ユーザーメモリ/カーネルメモリの読み書きコマンド
- General/Latest のコードハンドラーモード
- SD カード上の
.gctuチート読込と、クライアント送信コードとの任意の結合 - ブレークポイント、スレッド、スタックトレース、シンボル、メモリ検索、リモート呼出しコマンド
- スクリーンショットとファイル操作
- raw assembly の永続実行
- WUPS 設定メニューからのサーバー有効化とスレッド優先度設定
不正なアドレスやコードを低レベルコマンドへ渡すと、実行中タイトルまたは本体がクラッシュする場合があります。テスト前に作業内容を保存してください。
- Aroma が動作する Wii U
- WiiUPluginLoaderBackend
- NotificationModule
- 同じ信頼済みネットワーク上の TCP Gecko 互換クライアント
Aroma と各モジュールは互換性のある組合せを使用してください。通常、現在の Aroma パッケージには必要な実行時モジュールが含まれます。
推奨ビルドでは Docker Desktop または Linux コンテナ互換の Docker が必要です。ネイティブビルドには devkitPro/devkitPPC、WUT、WiiUPluginSystem、libwupsbackend、libnotifications、および Makefile に記載された portlibs が必要です。
-
プロジェクトをビルドするか、信頼できるリリースから
TCPGeckoPlugin.wpsを入手します。 -
次の場所へコピーします。
sd:/wiiu/environments/aroma/plugins/TCPGeckoPlugin.wps -
Aroma を起動するか、プラグインを再読込します。
-
Aroma/WUPS のプラグイン設定メニューで TCPGecko の設定を変更します。
-
互換クライアントから Wii U のローカル IP アドレス、ポート
7331へ接続します。
標準以外の Aroma 環境を使う場合は、パス中の aroma をその環境のディレクトリ名へ置き換えてください。
| 設定 | 内容 |
|---|---|
| Enable TCPGecko | TCPGecko サービスを開始/停止します。変更前にクライアントを切断してください。 |
| Code Handler | General または Latest の内蔵コードハンドラーを選択します。 |
| Enable SD cheats | 現在のタイトルに対応する SD カード上の .gctu を読み込みます。 |
| Combine SD and client cheat codes | クライアントが互換コードを送信した際に SD コードを追加します。 |
| Serialize assembly execution | 永続 assembly 実行の既存排他動作を有効にします。 |
| TCPGecko thread priority | Low、Normal、High、Real-time を選択します。Real-time は慎重に使用してください。 |
SD チートファイルは次の配置を使用します。
sd:/codes/<16桁のタイトルID>.gctu
タイトル ID は 16 桁の大文字 16 進数で記述し、拡張子を .gctu にします。
リポジトリのルートで実行します。
docker build --tag tcpgecko-plugin-builder .
docker run --rm --volume "${PWD}:/project" tcpgecko-plugin-builder make -j2リポジトリのルートに次のファイルが生成されます。
TCPGeckoPlugin.wps— Aroma にインストールするプラグインTCPGeckoPlugin.elf— 開発・シンボル調査用の ELF 成果物
ログを有効にしてビルドする場合:
docker run --rm --volume "${PWD}:/project" tcpgecko-plugin-builder make DEBUG=1 -j2詳細ログを有効にする場合:
docker run --rm --volume "${PWD}:/project" tcpgecko-plugin-builder make DEBUG=VERBOSE -j2ビルドモードを切り替える前に、生成物を別コマンドでクリーンします。
docker run --rm --volume "${PWD}:/project" tcpgecko-plugin-builder make cleanこれらのコマンドは PowerShell と POSIX 形式のシェルの両方で使用できます。Windows では Docker Desktop を Linux コンテナモードにしてください。
依存関係をインストールし、DEVKITPRO を設定した後に実行します。
make -j2Makefile は Docker ビルドと同じ DEBUG=1、DEBUG=VERBOSE オプションに対応します。
src/main.cpp プラグイン情報、ライフサイクル、設定、ストレージ
src/tcpgecko/ TCP Gecko プロトコルとコードハンドラー実装
src/tcpgecko/libs/ Wii U のFS、パッチ、サウンド、システム補助コード
src/utils/ ログ、例外、スレッド、汎用ユーティリティ
Dockerfile 再現可能な devkitPPC/WUPS ビルド環境
Makefile ソース一覧、コンパイル設定、リンク依存
変更は目的を絞って読みやすくし、既存の著作権表示を維持してください。変更を提出する前に次を確認します。
- クリーンな通常ビルドを実行する。
- ログまたは診断を変更した場合は、クリーンな
DEBUG=1ビルドも実行する。 git diff --checkを実行する。- Wii U またはエミュレーター上の実行検証と、ビルドだけの検証を分けて記載する。
本プロジェクトは BullyWiiPlaza/tcpgecko からフォークし、Katope が Aroma プラグイン向けに移植したものです。また、TCP Gecko および Wii U homebrew のコントリビューターによるコードを含みます。個別ソースファイルにある著作権・ライセンス表示も適用されます。
このプロジェクトは、フォーク元と同じ GNU General Public License v3.0 で配布します。追加の表示を含むファイルには、その表示も適用されます。全文は LICENSE を確認してください。
このプロジェクトは任天堂による提携・承認を受けたものではありません。