SuperCard DSTWO の偽装イメージ対応の改造 ベース品: aqua/svn/TwlIPL/branches/20081113_launcher_save_app_to_sd ---- DSTWOはHashチェックを回避するために ブートチェック時とアプリ動作時でリードしたオーバレイ0が違う 判定はオーバレイリードまでのリードパターンで見てると思われる 改ざんした方を吸出せるよう、指定手順でリードする機能を追加。 インストール:  TwlNmenuFuill などで HNAA.tad をインポートします。  電源を入れなおす。 使用方法:  基本はベースになったツールほぼそのまま  ランチャから Aボタンのみでカード起動するとカードの先頭から256MをDSへ書き出す Y同時で32Mのみ行いますが、オーバレイが以降に配置されてると合成時におかしくなる可能性あります  しばらく画面が白黒くりかえし、DSTWO画面か表示が止まったら終わってるはず。  B同時押しで起動のみ。   偽装回避して吸出し:  SDに"accs.lst"という名前のファイルがあると  ROM吸出しの前後に指定の順でリード(プリ、ポストリード)を行います  記述方法はサンプルのコメントを見てください ブートチェックの流れと位置関係 ヘッダチェック->常駐部リード&Hash計算->プリリード ->ROM吸出し->ポストリード->(出力あれば)ROMに合成 ->オーバレイリード&Hash チェック 合成はプリ、ポストの順に行う 重複部分は リストの 前<後、プリ<ポスト 優先となる (hint) ポストリードでトリガとなるリードすれば チェック時に改竄されたオーバレイ0が読める ただし、改竄オーバレイは一度しか出ないため(2013.2.28 現在、原因不明) プリ/ポストリードでリードしてるとダメ オーバレイチェック時のオーバレイを出力する方法 (デバグ用の機能なので変更、削除するかも) ctrl.cfgをSDにおいてください。 -------- ctra.cfg //+0;default = 0 b7:オーバレイをハッシュチェック時にSD出力 b0:オーバレイサイズで読む b1:同ライト //+1:default = 0; オーバレイサイズで読む最大数; //+2:default = 1 b0: ROM吸出を有効 //+3:予約 ファイルがないときデフォ動作 ------------