ページ 11

param.sfo の情報の取得について

未読記事Posted: 2011年5月04日(水) 23:39
by kazu
psp hack というと趣旨がずれている気がしたので雑談に書きました。
windows用ソフトウェアについてです。
vb.netを使って、param.sfoの情報を取得するにはどうしたらいいですか。
ちなみに、私は、C++については、全くの無知です。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月07日(土) 20:20
by Matyapiro
param.sfoがなんなのか教えてくだされば、お役に立てると思います。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月08日(日) 07:30
by kazu
Matyapiro さんが書きました:param.sfoがなんなのか教えてくだされば、お役に立てると思います。

ありがとうございます!
ここでのparam.sfo とは、umdなどのゲームに入っているゲーム名などの情報が格納されているファイルです。
あっ、情報は、ゲームidだけでいいです。
ゲームidをisoから、取得したいのです。
よろしくお願いします

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月09日(月) 21:31
by Matyapiro
ふーむ。それは難しそうですね。
sfo(システム情報ファイル)ですね。わたしはDSとLinuxなので・・・。
ISOファイルを開くためのライブラリはC/C++で書かれているものばかりでしょうし、
五分ほど考えてみて、
「UMD GEN」というソフトを使い、param.sfoを抽出させる方法
ISOファイルをマウントし、そのフォルダからparam.sfoを読み込む。
とにかく、抽出する必要があります。
param.sfoが暗号化されていないのであれば、そこからバイナリエディタ等で開き、ゲームIDを探してみてください。
私はPSPを持っていないのであまり力になれなくてすいません。
またコードでも貼ります。
System.IO.FileSreamクラスでよかったと思います。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月09日(月) 23:19
by kazu
Matyapiro さんが書きました:ふーむ。それは難しそうですね。
sfo(システム情報ファイル)ですね。わたしはDSとLinuxなので・・・。
ISOファイルを開くためのライブラリはC/C++で書かれているものばかりでしょうし、
五分ほど考えてみて、
「UMD GEN」というソフトを使い、param.sfoを抽出させる方法
ISOファイルをマウントし、そのフォルダからparam.sfoを読み込む。
とにかく、抽出する必要があります。
param.sfoが暗号化されていないのであれば、そこからバイナリエディタ等で開き、ゲームIDを探してみてください。
私はPSPを持っていないのであまり力になれなくてすいません。
またコードでも貼ります。
System.IO.FileStreamクラスでよかったと思います。

ありがとうございます。
今、PMにて、ゲームから抜き出したPARAM.SFOってのを一つ送りました。
あと、ひとつだけ、思ったことがあるので、それもかいておきました。
それでは、よろしくお願いします。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月19日(木) 20:34
by Matyapiro
了解しました!しかし、あいかわらずPSPはDSやWiiに比べて信じられないほど甘い。
DSのファームウェアとかソフトにはこんなに分かりやすくデータが書かれていません。ですからね。セキュリティ的には3DSはどんな電子機器よりハッキングに強く、
手ごわいと思っています。再起動してWindowsたちあげたらすぐに返事します。でも、初めにSystem.IO.FileStreamクラスか、System.IO.Fileクラスだといったはずなんですけどね。
何事も経験ですからね。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月23日(月) 16:15
by iSn0wX
前にtakka氏がこんな記事を書かれていましたよ。

PARAM.SFO内のデータ取得 » きまぐれblog
http://takka.tfact.net/blog/archives/2538

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月26日(木) 21:56
by kazu
iSn0wX さんが書きました:前にtakka氏がこんな記事を書かれていましたよ。

PARAM.SFO内のデータ取得 » きまぐれblog
http://takka.tfact.net/blog/archives/2538

ありがとうございます。でもそれは、実は一か月ほど前に見つけて読んではみたのですが、
そのコードが一体何を行っているのかわからず、移植ができなかったんです。

Re: param.sfo の情報の取得について

未読記事Posted: 2011年5月30日(月) 11:45
by Matyapiro
申し遅れました。
'宣言
Public Shared Function ReadAllBytes ( _
path As String _
) As Byte()

パラメーター
path
型: System.String
読み取り用に開かれるファイル。

戻り値
型: System.Byte()
ファイルの内容を格納しているバイト配列。

ファイル パスを指定すると、このメソッドはそのファイルを開き、ファイルの内容をバイト配列に読み取った後、ファイルを閉じます。

とのことです。

実際にやってみましょう :lol:

Dim byte As System.Byte()=New System.Byte()

byte=IO.File.ReadAllByte("param.sfo")
さて、ここからが本番です。バイナリ配列からString型に変換しなければいけません。
Object型を使うのが一番早いですが、param.sfo以外のファイルを開いたり、間違ってしまっても大丈夫なように、例外処理をちゃんとすることですね。
余談ですが、最近言葉を聞いて腹が立つと言われました。私がわからなかったら、すぐ言って下さい。

Re: param.sfo の情報の取得について

未読記事Posted: 2018年11月28日(水) 11:04
by ptt007x
了解しました!しかし、あいかわらずPSPはDSやWiiに比べて信じられないほど甘い。