mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
マスタリングツール関連のドキュメントを追加。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2259 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
2fbcd7c486
commit
8342327d46
87
docs/マスタリングツール/ビルド方法.txt
Normal file
87
docs/マスタリングツール/ビルド方法.txt
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
* ---------------------------------------------------
|
||||||
|
*
|
||||||
|
* TWL マスタリングツール 作成方法
|
||||||
|
*
|
||||||
|
* ---------------------------------------------------
|
||||||
|
|
||||||
|
* ---------------------------------------------------
|
||||||
|
* 手順
|
||||||
|
* ---------------------------------------------------
|
||||||
|
|
||||||
|
マスタリングツールは、TWLにおける暗号の秘密鍵を内部に持つツールです。
|
||||||
|
そのため、このツールが流出するとTWLの暗号が破られてしまいます。
|
||||||
|
(自作のゲームソフトや違法なゲームソフトを量産機で起動できてしまいます。)
|
||||||
|
|
||||||
|
その対策として、マスタリングツールの実行バイナリ(.exe)自体に暗号をかけ、
|
||||||
|
特殊なUSBキーをPCに挿さないと、復号できない仕組みを導入しています。
|
||||||
|
この対策によって、マスタリングツールの実行バイナリが流出しても、
|
||||||
|
秘密鍵が漏れることはないうえ、USBキーを持たないユーザは実行できません。
|
||||||
|
|
||||||
|
上記の対策を実現するために、マスタリングツールの作成方法は、
|
||||||
|
以下の2ステップに分かれます。
|
||||||
|
|
||||||
|
(Step1.) マスタリングツールのコンパイル
|
||||||
|
(Step2.) 実行バイナリの暗号化
|
||||||
|
|
||||||
|
[用語の定義]
|
||||||
|
・エンベロープ: Step2.の実行バイナリの暗号化処理
|
||||||
|
・ドングル: ツール実行のために必要な特殊なUSBキー
|
||||||
|
|
||||||
|
* ---------------------------------------------------
|
||||||
|
* (Step1.) マスタリングツールのコンパイル
|
||||||
|
* ---------------------------------------------------
|
||||||
|
|
||||||
|
このステップでは、マスタリングツールのソースをコンパイルします。
|
||||||
|
|
||||||
|
(注意!)
|
||||||
|
この作業だけでは、マスタリングツールの実行バイナリは暗号化されないため、
|
||||||
|
ツールが流出すると、誰でもマスタリングが可能になってしまいます。
|
||||||
|
|
||||||
|
(1) 準備
|
||||||
|
以下のパッケージが必要です。
|
||||||
|
|
||||||
|
○ TWLIPL_private
|
||||||
|
マスタリングツールのソースを含むパッケージ。
|
||||||
|
秘密鍵の生データを含むため、流出させない管理が必要です。
|
||||||
|
そのため、USBメモリ内にリポジトリとツリーが置かれ、
|
||||||
|
そのUSBメモリは指紋認証キャビネットで管理されています。
|
||||||
|
したがって、このパッケージを入手するには、
|
||||||
|
指紋認証キャビネットへの指紋の登録が必要です。
|
||||||
|
|
||||||
|
○ TwlSDK
|
||||||
|
いくつかのライブラリを使用しています。
|
||||||
|
|
||||||
|
○ TwlIPL
|
||||||
|
いくつかのインクルードファイルを使用しています。
|
||||||
|
|
||||||
|
ビルド前に、以下の環境変数に各ツリーのルートを指定しておく必要があります。
|
||||||
|
-- TWLSDK_ROOT
|
||||||
|
-- TWL_IPL_RED_ROOT
|
||||||
|
-- TWL_IPL_RED_PRIVATE_ROOT
|
||||||
|
|
||||||
|
(2) 方法
|
||||||
|
make してください。
|
||||||
|
|
||||||
|
(3) ビルドスイッチ
|
||||||
|
mastering.h には、各種のビルドスイッチが宣言されていますので、
|
||||||
|
適宜、変更してください。
|
||||||
|
|
||||||
|
|
||||||
|
* ---------------------------------------------------
|
||||||
|
* (Step2.) 実行バイナリの暗号化(エンベロープ)
|
||||||
|
* ---------------------------------------------------
|
||||||
|
|
||||||
|
(1) 準備
|
||||||
|
以下の機材が必要です。
|
||||||
|
|
||||||
|
○ エンベロープ用USBキー
|
||||||
|
実行用のUSBキーとは異なります。ソフトGの村上豊さんが所有しています。
|
||||||
|
|
||||||
|
○ エンベロープソフト
|
||||||
|
PCソフトです。ソフトGが所有しています。
|
||||||
|
|
||||||
|
(2) 方法
|
||||||
|
現在、エンベロープが可能なのは、ソフトGの村上豊さんのみです。
|
||||||
|
村上豊さんにお問い合わせください。
|
||||||
|
|
||||||
|
以上
|
||||||
BIN
docs/マスタリングツール/仕様概要.pdf
Normal file
BIN
docs/マスタリングツール/仕様概要.pdf
Normal file
Binary file not shown.
BIN
docs/マスタリングツール/仕様概要.ppt
Normal file
BIN
docs/マスタリングツール/仕様概要.ppt
Normal file
Binary file not shown.
66
docs/マスタリングツール/使用方法.txt
Normal file
66
docs/マスタリングツール/使用方法.txt
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
* ---------------------------------------------------
|
||||||
|
*
|
||||||
|
* TWL マスタリングツール 使用方法
|
||||||
|
*
|
||||||
|
* ---------------------------------------------------
|
||||||
|
|
||||||
|
(1) マスタリングツールとは
|
||||||
|
PC用ツール。
|
||||||
|
TWLのROMバイナリに含まれる開発機用の暗号データを量産機用データに置き換える。
|
||||||
|
|
||||||
|
(2) 使用に必要な機材
|
||||||
|
|
||||||
|
・マスタリングツール実行バイナリ(mastering.TWL.exe)
|
||||||
|
・Windows XP搭載PC
|
||||||
|
・cygwin
|
||||||
|
・実行用USBキー(通称 USBドングル)
|
||||||
|
|
||||||
|
(3) 使用方法
|
||||||
|
コマンドラインから以下の引数をつけて実行してください。
|
||||||
|
% mastering.TWL.exe [オプション] input_file output_file
|
||||||
|
|
||||||
|
○引数
|
||||||
|
input_file : 開発機用ROMファイル(srl)名
|
||||||
|
output_file : 量産機用ROMファイル(srl)名
|
||||||
|
|
||||||
|
(注意)
|
||||||
|
・input_file と output_file に同じ名前を指定することはできません。エラーとなります。
|
||||||
|
・output_file と同じ名前のファイルが存在すると、上書き確認メッセージが出力されます。
|
||||||
|
このとき'y'を入力すると出力データが上書きされます。
|
||||||
|
一方、'n'を入力するとマスタリングをせずに終了します。
|
||||||
|
|
||||||
|
○実行結果
|
||||||
|
成功すると、"mastering succeeded" の文字が表示されてプログラムが終了します。
|
||||||
|
失敗すると、エラーが発生した箇所と要因およびエラーコードが表示されてプログラムが終了します。
|
||||||
|
失敗したときには output_file は自動的に削除されます。
|
||||||
|
output_file に既存のファイル名を指定したときには、失敗時に削除されますのでご注意ください。
|
||||||
|
|
||||||
|
○特殊な入力に対する処理
|
||||||
|
ゲームコードが"NTRJ"であるプログラム(検査用プログラムなど)は、
|
||||||
|
以下の点で、通常のゲームソフトとはマスタリング処理が異なります。
|
||||||
|
・KeyTable2の算出が不可能であるとみなされ、エラー終了となる。
|
||||||
|
後述の -t オプションで強制的に算出可能。
|
||||||
|
・KeyTable1領域にデータが強制的にライトされる。
|
||||||
|
|
||||||
|
○通常オプション
|
||||||
|
-h : 使用方法を表示して終了します。
|
||||||
|
-v : 処理の経過などの詳細なメッセージを表示します。
|
||||||
|
-r : 逆マスタリング(逆変換)モード。
|
||||||
|
マスタリング後のROMファイルをマスタリング前のROMファイルに戻します。
|
||||||
|
-f : 上書き確認をせずに output_file にマスタリング後のROMデータをライトします。
|
||||||
|
|
||||||
|
○特殊オプション
|
||||||
|
-s : SDカードブートアプリ専用の秘密鍵で署名をつけます。
|
||||||
|
input_file がセキュアアプリであるときのみ指定可能です。
|
||||||
|
-t : input_file のゲームコードが"NTRJ"であるときにも、
|
||||||
|
エラー終了せずに、強制的に KeyTable2 を算出してライトします。
|
||||||
|
-p : ROMヘッダ内の開発用暗号が旧バージョンで、かつROMファイルがクローンブート対応ソフトのとき、
|
||||||
|
マスタリングによって署名に矛盾が生じるため、本来では、エラー終了しますが、
|
||||||
|
このオプションによって、上記のエラー判定なしにマスタリングが実行されます。
|
||||||
|
-g NEW_GAME_CODE :
|
||||||
|
input_file のゲームコードが"NTRJ"のときのみ、
|
||||||
|
ROMヘッダ内のゲームコード(およびTITLE ID)を
|
||||||
|
NEW_GAME_CODE で指定した任意の4文字の文字列に置き換え、
|
||||||
|
ゲームコードがその文字列であるとみなして、マスタリング処理を実行します。
|
||||||
|
|
||||||
|
以上
|
||||||
BIN
docs/マスタリングツール/内部仕様.vsd
Normal file
BIN
docs/マスタリングツール/内部仕様.vsd
Normal file
Binary file not shown.
BIN
docs/マスタリングツール/外部仕様.xls
Normal file
BIN
docs/マスタリングツール/外部仕様.xls
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user