mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@333 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
29a7451726
commit
af0e19b0fc
37
trunk/CardSaveData/docs/Error_code.txt
Normal file
37
trunk/CardSaveData/docs/Error_code.txt
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
//エラー表示コードの下位2桁
|
||||||
|
0, //不明
|
||||||
|
1, //デバイスが見つからない
|
||||||
|
2,//プロダクトコード不一致
|
||||||
|
3,//ベリファイエラー
|
||||||
|
4,//パスが長すぎ
|
||||||
|
5,//ディレクトリ深すぎ
|
||||||
|
6, //メディアが見つからない(サブ基盤外れなど)
|
||||||
|
10, //ファイルが見つからない
|
||||||
|
20, //既に存在
|
||||||
|
21, //空き容量がない
|
||||||
|
22, //書込み禁止
|
||||||
|
30, //アクセスエラー
|
||||||
|
50, //フォーマットエラー
|
||||||
|
60, //検証に失敗、改竄
|
||||||
|
70, //ROM情報エラー
|
||||||
|
80, //リトライ要求
|
||||||
|
90, //実行時エラー
|
||||||
|
99 //深刻なエラー
|
||||||
|
|
||||||
|
|
||||||
|
//上位
|
||||||
|
CARD = 100,
|
||||||
|
BKUP DEVICE = 200,
|
||||||
|
OTHER = 300
|
||||||
|
|
||||||
|
|
||||||
|
これらの合成で表示される
|
||||||
|
例えば、カードが刺さっていない場合は 101 となる
|
||||||
|
|
||||||
|
|
||||||
|
通常時に発生しやすいと思われるもの
|
||||||
|
|
||||||
|
302 .. プロダクトコードが一致しない
|
||||||
|
101 .. カードが見つからない
|
||||||
|
|
||||||
60
trunk/CardSaveData/docs/HowToビルド.txt
Normal file
60
trunk/CardSaveData/docs/HowToビルド.txt
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
動作確認環境:
|
||||||
|
ARM製 RVC_Nintendo 4.1
|
||||||
|
omake 0.9.8.5
|
||||||
|
CTR SDK2.3.4 + PrivateKit(SystemProgramKit,RepairTool,SystemMenu)
|
||||||
|
|
||||||
|
動作要件:1stNup(SDK 2.3x)以降のシステム本体
|
||||||
|
|
||||||
|
準備)
|
||||||
|
Sampledemos のcommon,gxをビルドしておく
|
||||||
|
omakerootのあるディレクトリにあるomakeファイルで
|
||||||
|
SAMPLED_DEMOS_COMMON_INCLUDE_DIR に
|
||||||
|
sampledemos/common/includeの位置を指定しておく
|
||||||
|
公開鍵pubkeyをimp/omakeで指定
|
||||||
|
|
||||||
|
ビルド)
|
||||||
|
omakerootのあるディレクトリでomake実行
|
||||||
|
body下でビルドし出来たcia を、Imp下のomake(SRC_IMPORTEE_PATH)で指定
|
||||||
|
(量産機で使うには、マスタリング後のciaを指定)
|
||||||
|
ビルドするとNANDインポート用のcciができる
|
||||||
|
|
||||||
|
|
||||||
|
インポート先:
|
||||||
|
ciaをSDからインポート -> SD .. DevMenu使用,DevMenufullならnandにも入れられる
|
||||||
|
カード起動しインポート -> NAND
|
||||||
|
|
||||||
|
量産実機での実行にはマスタリング必須
|
||||||
|
body下で作成したcia をOLS付でマスタリングし
|
||||||
|
そのciaを使って作成したcciをマスタリング
|
||||||
|
|
||||||
|
マスタリングの流れ:
|
||||||
|
・body/images下に出来たciaをマスタリングしOLSを付ける
|
||||||
|
・このciaをImpのomakeで指定、もしくは指定場所に置く
|
||||||
|
(bodyのビルドで上書きされないよう場所かファイル名変えたほうが安全)
|
||||||
|
・imp/omake実行し、cci作成
|
||||||
|
・cciをマスタリング
|
||||||
|
・デバッガかライタで開発カードに焼く、
|
||||||
|
デバッガではロード時にTARGET ERRORと表示されるが気にせず焼く
|
||||||
|
ライタは使ったこと無いが多分できるはず..
|
||||||
|
|
||||||
|
OLSごとリマスタバージョン更新が必要
|
||||||
|
common/ver.hは表示バージョン、ここだけ変更してもダメ
|
||||||
|
body/omekeのコメントを参考
|
||||||
|
|
||||||
|
NANDインポートで失敗する場合はciaをチェック
|
||||||
|
SDインポートし
|
||||||
|
開発実機で動く-> マスタリングしてない
|
||||||
|
量産実機で動く-> OLSが付いてない
|
||||||
|
(1stNup以降の量産機はマスタリング時にSDアプリフラグ必須)
|
||||||
|
|
||||||
|
インポート先の本体をシリアル番号で制限してます
|
||||||
|
"imp/imp_lis/"下にリストと署名サンプル
|
||||||
|
OpenSSL0.9.6k,rと 1.0.0d で動作確認
|
||||||
|
imp/imp_list 下にコマンドラインツール(win32版)用バッチ
|
||||||
|
使い方はcygwinでも同じ
|
||||||
|
ユーザにはomake指定のpubkeyと組のprivatekeyで作った署名を渡す
|
||||||
|
|
||||||
|
|
||||||
|
本ツール開発時のマスタリングは推進G(高橋さん)に依頼した
|
||||||
|
マスタリング済みDevMenu(full)および
|
||||||
|
CUP作成は飯島さんに聞く
|
||||||
8
trunk/CardSaveData/docs/csm_inf_sample.txt
Normal file
8
trunk/CardSaveData/docs/csm_inf_sample.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#サンプルです、使用時は
|
||||||
|
#csm_inf.txt に改名して下さい
|
||||||
|
|
||||||
|
#本体シリアル表示
|
||||||
|
-p
|
||||||
|
|
||||||
|
#テストメニュー有効
|
||||||
|
-t
|
||||||
27
trunk/CardSaveData/docs/import.txt
Normal file
27
trunk/CardSaveData/docs/import.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
目的:許可した本体のみインポート
|
||||||
|
|
||||||
|
公開鍵はROMから読み込む
|
||||||
|
|
||||||
|
SC) ツール用本体のシリアルをメールなどでREDへ連絡
|
||||||
|
RED) リスト(csm_list)と署名(csm_sign)を作成し送る
|
||||||
|
|
||||||
|
|
||||||
|
インポート手順
|
||||||
|
・ リスト、署名を書き込んだSDをCTRに差す
|
||||||
|
・ インポート用アプリをカード起動
|
||||||
|
・ 有効な本体ならインポートメニューが表示される
|
||||||
|
|
||||||
|
|
||||||
|
署名はOpeneelで作成
|
||||||
|
特に手を加えずSDルートに置く
|
||||||
|
|
||||||
|
リストの書き方
|
||||||
|
インポート許可シリアルをテキストで羅列
|
||||||
|
---
|
||||||
|
aaaaaaaa
|
||||||
|
bbbbbbbb
|
||||||
|
----
|
||||||
|
本体裏シリアル終端のdigit(四角い枠の数字)は省く
|
||||||
|
digit確認したい場合はリスト作成時にやっとく
|
||||||
|
ファイルサイズは64Kまで(シリアルのみ記載で、およそ4000台)
|
||||||
10
trunk/CardSaveData/docs/option.txt
Normal file
10
trunk/CardSaveData/docs/option.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<インポータのオプション有効化>
|
||||||
|
|
||||||
|
cms_inf.txtの名前でファイル作成
|
||||||
|
以下の記述でオプションが有効になる
|
||||||
|
|
||||||
|
-t: テストメニュー
|
||||||
|
カード上のセーブにテストパターン書き込み&ベリファイ
|
||||||
|
|
||||||
|
-p: 本体シリアルを表示
|
||||||
|
|
||||||
10
trunk/CardSaveData/docs/マスタリング.txt
Normal file
10
trunk/CardSaveData/docs/マスタリング.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
量産実機での動作にはマスタリングが必要
|
||||||
|
|
||||||
|
ciaはサーバ認証(OLS)必須
|
||||||
|
OLSは前回取得時からリマスタバージョンを上げる必要あり(2011/2月現在)
|
||||||
|
(例えば、前回 1.0.0 なら 1.0.1 )
|
||||||
|
メジャーはrsfで指定(Remasterversion)
|
||||||
|
マイナとマイクロはOmakefile
|
||||||
|
MAKECIAFLAGS = -minor 0 -micro 1
|
||||||
|
上の場合 *.0.1 (*はrsfのRemasterversion)
|
||||||
|
|
||||||
21
trunk/CardSaveData/docs/操作説明.txt
Normal file
21
trunk/CardSaveData/docs/操作説明.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
<ツール本体(bodyディレクトリ)>
|
||||||
|
操作が出来る状態のとき下画面にボタン表示
|
||||||
|
表示にしたがってタッチで進行します
|
||||||
|
|
||||||
|
(バックアップデリート)
|
||||||
|
先頭画面で 方向キー LEFT + X 同時押し
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<インポータ(impディレクトリ)>
|
||||||
|
SDに以下を記録して差しておく
|
||||||
|
cms(cts)_list.txt .. 本体シリアル
|
||||||
|
cms(cts)_sign.dat .. 署名
|
||||||
|
/imp/imp_list にサンプル
|
||||||
|
|
||||||
|
起動時に本体シリアルをチェックし
|
||||||
|
許可本体であればメニュー表示、表示にしたがってボタン押
|
||||||
|
|
||||||
|
署名はビルド時に指定した鍵とペアの鍵を使う
|
||||||
|
|
||||||
34
trunk/CardSaveData/docs/署名に関する覚え書.txt
Normal file
34
trunk/CardSaveData/docs/署名に関する覚え書.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
ビルド時に組み込んだ公開鍵のペアとなるプライベート鍵を使って署名を行う
|
||||||
|
|
||||||
|
バージョンで鍵を識別する
|
||||||
|
鍵変更だけの場合でもバージョンを変えること
|
||||||
|
|
||||||
|
Openssl.exe : cygwinのインスト、Win版がある
|
||||||
|
RSA鍵、ビット長は2048のみ
|
||||||
|
SHA256のダイジェストに署名する
|
||||||
|
Openssl0.9.6.k(r),1.0.0d作成の書名で動作確認
|
||||||
|
|
||||||
|
(鍵作成)
|
||||||
|
openssl genrsa -out private_key.pem 2048
|
||||||
|
openssl enc -d -base64 -in private_key.pem -out private_key.der
|
||||||
|
openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der
|
||||||
|
|
||||||
|
(1.0.0の場合)
|
||||||
|
openssl genpkey -out private_key.der -outform DER -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537
|
||||||
|
openssl rsa -pubout -inform DER -outform DER -in private_key.der -out public_key.der
|
||||||
|
|
||||||
|
(署名)
|
||||||
|
openssl dgst -sha256 -binary -keyform DER -sign private_key.der -out csm_sign.dat csm_list.txt
|
||||||
|
|
||||||
|
プライベート鍵のバイナリが不要なら
|
||||||
|
openssl genrsa -out private_key.pem 2048
|
||||||
|
openssl rsa -pubout -outform DER -in private_key.pem -out public_key.der
|
||||||
|
|
||||||
|
openssl dgst -sha256 -binary -sign private_key.pem -out csm_sign.dat csm_list.txt
|
||||||
|
|
||||||
|
作成したpub鍵をインポートアプリのomakeで指定
|
||||||
|
OBJECTS[] =
|
||||||
|
$`(ObjectFromBinary $(TARGET), ./Imp_list/Public_Key.der)
|
||||||
|
|
||||||
|
リストをプライベート鍵で署名作成、リストと署名をインポート時にSDから読む
|
||||||
Loading…
Reference in New Issue
Block a user