Advertisement
Guest User

Untitled

a guest
Aug 5th, 2011
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.39 KB | None | 0 0
  1. 【UMDファイル(iso)の良品判定】
  2. 1)isoの 8054h から4byteを見て、その数字に0800hをかけて10進数にする
  3.  (この計算はWindowsの電卓でできる)
  4.  例) 01 23 45 67 → 01234567h * 800h = 91A2B3800h (= 39093745664 )
  5.  
  6. 2) isoファイルのサイズがこの値より小さくないかチェック
  7.  小さかったら尻切れ確定
  8.  CFWのUSB接続やUSBSSSで吸い出したものがこうなる
  9.  その他状況によって以下の判定へ
  10.  
  11. 3-a) isoファイルのサイズが上で計算した値より小さい場合
  12.  isoファイルの終端を見る
  13.   00 00 00 ・・・なら、その後ろも00である可能性は高い
  14.   2048 Byte 00 データを足すことで正規のものと一致する可能性を持っているが、
  15.   切れている以上そこに何があったかは分からない
  16.   たまたまそこが00データで後ろにデータがあるのに切れているパターンもある
  17.   無双オロチなどが該当し、起動しない/特定のケースでフリーズなどお祭り状態となる
  18.  
  19.   00 00 00 ・・・ではないなら、データブッ千切れ確定
  20.   コレはいかんともしようがない
  21.  
  22.   どのみち起動したらラッキー、遊んでいる間に不具合があっても当たり前
  23.  
  24. 3-b) サイズが一致している場合
  25.  isoファイルの終端を見る
  26.   00 00 00 ・・・なら
  27.    終端から0800h(2048 Byte)手前を見る
  28.    そこでデータが途切れて唐突に00データが始まっていたら
  29.    UMD DAX Dumperで吸った可能性が高い
  30.    こいつはデータがあってもなくても終端2048Byteを0データで埋めてしまう
  31.  
  32.    データが自然に続いている
  33.    PSP Filer、または手動補完によって完全に吸い出されたものと考えられる
  34.  
  35.    0800h(2048 Byte)手前よりもっと前から00データが続いている
  36.    良品である可能性が高い
  37.    が、3-a)後者のケース(データブッ千切れ)に00データを付加してしまうという
  38.    見分けがつかなくなることをUMD DAX Dumperがやってくれてしまうので判別不能
  39.    コレも動いたらラッキー
  40.  
  41. 3-c) ファイルサイズの方が大きい場合
  42.    いわゆるオーバーダンプ。あまり見かけないが、手動補正でミスしている可能性も。
  43.    無害なものであれば良いが、いずれにしても正しいisoとはいえない
  44.  
  45.  
  46.  
  47. まず主な吸出し方法の特徴まとめ、これを踏まえた上で次のISOの良品判定へ。
  48.  
  49. ・サイズ欠損なし、データ欠損なしで正常ISOを吸い出せる。
  50. PSP Filer 3.9以降
  51. PSPlorer
  52.  
  53. ・データがあった場合でも終端1セクタ(2048byte)分が欠損する。
  54. CFWのUSB-UMDリダイレクト機能
  55.  
  56. ・データがあった場合でも終端1セクタ(2048byte) or 3セクタ(6144byte)分が欠損する。
  57. USBSSS
  58.  
  59. ・データがあった場合でも終端1セクタ(2048byte) or 3セクタ(6144byte)分が欠損し、
  60.  その欠損した分だけ0x00で埋めてしまう。ISOサイズ自体は正常の物と同一になる。
  61. Fastloader
  62. DAX UMD Dumper
  63. FILER3.8以前?
  64.  
  65. ・オーバーDumpになる(オーバーした分を削れば正常ISOと同一になる)。
  66. UMD Operator
  67.  
  68. ・正常なイメージが作れないもの、論外。
  69. UMDumper 020
  70. new-umd-dumper_0200
  71.  
  72.  
  73. 【UMD ISOファイルの良品判定】
  74.  
  75. (1)ISOをバイナリエディタで開き、0x8054から0x8057の4byteに書かれているISOファイルのセクタサイズを見る。
  76.  4byteの値を10進数に直し、2048byteを乗じた値が正しいISOサイズになる。計算はWindowsの電卓でできる。
  77.  例) MHP 2nd Gの場合
  78.   00 06 AC 30 -> 6AC30(h) -> 10進数で 437296sector
  79.   437296 sector * 2048 byte/sector = 895,582,208 byte
  80.  
  81.  また正常なISOの場合セクタ数は16で割り切れる。 437296 sector / 16 = 27331
  82.  もし割り切れない場合は何らかの改変が行われている(UPDATAを削除して再構築など)。
  83.  
  84. (2)ISOをUMDGen v4.0で開き「Layout」タブの一番下に表示されているファイルのEndセクタを見る。
  85.  例) MHP 2nd Gの場合
  86.   437289 \PSP_GAME\USRDIR\DATA.BIN
  87.   従って(437289 + 1) * 2048 = 895,569,920 bytes -> 35615000(h)まではデータがある事が分かる。
  88.  
  89.  バイナリエディタでISOを開き0x35615000に移動してみると、0x35614FFFいっぱいまでデータが存在することが確認できる。
  90.  また、いっぱいまでデータが無い場合でも手前1セクタ -> 2048byte -> 800(h) 分まで見れば(大抵は)データの存在が確認できる。
  91.  
  92.  例のように計算したアドレスいっぱいまでデータがある事も有るし、ファイルの最後の方は00の場合も有るし、
  93.  あるいは、ファイルの大部分が00で構成されていて800(h)以上手前を見ても00の場合も稀にある。
  94.  
  95. (3)ISOのファイルサイズと(1)で計算したサイズと比べる。状況によって以下の判定へ。
  96.  i)計算した値と一致した場合
  97.  
  98.   {(1)で計算したサイズ} - {(2)で計算したサイズ} >= 6144byte であれば、正常なISOである可能性が高い。
  99.   (最も大きくデータ欠損するのはFastLoaderやDAX UMD Dumperを使った場合の6144byte分だと考えられるので)
  100.  
  101.   {(1)で計算したサイズ} - {(2)で計算したサイズ} = 4096byte の場合、エディタでISOの終端から4096byte分の
  102.   1000(h)手前を見て、そのアドレスまでデータが詰まっていれば正常なISOである可能性が高い。
  103.   またデータが詰まっていなくても、そこからさらに800(h)手前までの間でデータが存在すれば正常なISOである可能性が高い。
  104.  
  105.   ISO終端から6144byte分の1800(h)手前まで見て、唐突にデータが切れて00が続いていればデータ欠損。
  106.   (FastLoaderやDAX UMD Dumperで吸い出した場合、データが欠損するが00で埋めてしまう。欠損例として「街」などが該当)
  107.   また1800(h)手前よりさらに手前から00が続いていても、その後ろにデータが存在していて00で埋められた可能性もある。
  108.  
  109.   {(1)で計算したサイズ} - {(2)で計算したサイズ} = 2048byte の場合、エディタでISOの終端から2048byte分の
  110.   800(h)手前を見て、そのアドレスまでデータが詰まっていれば正常なISOである可能性が高い。
  111.   またデータ詰まっていなくても、そこからさらに800(h)手前までの間でデータが存在すれば正常なISOである可能性が高い。
  112.  
  113.   {(1)で計算したサイズ} = {(2)で計算したサイズ} の場合、ファイル終端までデータが存在しており最も欠損例が多い。
  114.   ISOの終端から800(h)手前までの間にデータが存在していれば正常なISOである可能性が高い(PSP Filer3.9以降使用や手動で補完した場合)
  115.  
  116.   ISO終端から2048byte分の1800(h)手前まで見て、唐突にデータが切れて00が続いていればデータ欠損。
  117.   また800(h)手前よりさらに手前から00が続いていても、その後ろにデータが存在していて00で埋められた可能性もある。
  118.   (欠損例としては「無双ORICHI」)
  119.  
  120.  ii)計算した値よりも小さい場合
  121.   a)ISOサイズが本来のサイズよりも2048byte小さい場合はCFWのリダイレクト機能を用いて吸い出されておりサイズ(データ)欠損している。
  122.  
  123.    {(1)で計算したサイズ} - {(2)で計算したサイズ} >= 2048byte であれば、ISO終端から
  124.    2048byte分00を付け加えれば正常なISOになる可能性が高い(元々00であった部分が欠損しただけなので)。
  125.  
  126.    {(1)で計算したサイズ} = {(2)で計算したサイズ} の場合、基本的にはデータ欠損しており00で埋めても正常なISOにはならない。
  127.    ISOの終端を見てもデータが途切れていることが確認できる。
  128.    (例外として確認できているのは「仮面のメイドガイ」。UMDGenで確認するとISOの終端までファイルが詰まっているが、
  129.    そのファイルの大部分が00で構成されているため、サイズ欠損していても00で埋めるだけで正常なISOになる。)
  130.  
  131.   b)ISOサイズが本来のサイズよりも6144byte小さい場合はUSBSSSを用いて吸い出されておりサイズ(データ)欠損している。
  132.  
  133.    {(1)で計算したサイズ} - {(2)で計算したサイズ} >= 6144byte であれば、ISO終端から
  134.    6144byte分00を付け加えれば正常なISOになる可能性が高い。
  135.  
  136.    {(1)で計算したサイズ} - {(2)で計算したサイズ} = 4096 or 2048 or 0 byte の場合は
  137.    基本的にはデータ欠損しており00で埋めても正常なISOにはならない。
  138.  
  139.  iii)計算した値よりも大きい場合
  140.    いわゆるオーバーダンプ。UMD Operatorを使用した場合や手動補完でミスしている可能性も。
  141.    ISOを正しいサイズまで削れば正常なISOになる可能性は高い。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement