FC2ブログ

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

Savedata Exploit発見 

とある日本のゲームでSavedata Exploitを発見しました
とりあえず「Hello World」を表示できるかどうか調べてみます

excv



スポンサーサイト

日記 

久しぶりの更新ですね

いきなりですが、sceKernelLoadModuleBuffer関数の使い方がわからない…
ぐぐっても使用例少なすぎてよくわかんないなあ

それと、バッチファイルで "bin2c プラグイン名 ファイル名 プラグイン名"
のようにするとプラグインをファイルに書き出せるんですね
知りませんでした

この頃は、関数をフックして挙動を調べるのが楽しい
今度、sceIo系の関数をフックしてなにかプラグインでも作ろうかな



EBOOT.PBPを起動させよう! 

ネタがなくなってきたので、EBOOT.PBPを起動させる関数を作りたいと思います。

#include <psploadexec_kernel.h>
#include <string.h>

int boot_ebt(const char *file)
{
  struct SceKernelLoadExecVSHParam param;
  memset(&param, 0, sizeof(param));

  param.size = sizeof(param);
  param.args = strlen(file)+1;
  param.argp = file;
  param.key = "game";

  sceKernelLoadExecVSHMs2(file, ¶m);

  return sceKernelExitDeleteThread(0);
}

引数の file は、EBOOT.PBPのパスを指定すればおkです。

UMDのリッピングテスト 

今回は、UMDのリッピングテストをやりたいと思います。

UMDのリッピングは意外と単純で簡単にできます。

int umd, iso, size;
char buffer[0x800];

umd = sceIoOpen("umd:", PSP_O_RDONLY, 0777);
iso = sceIoOpen("ms0:/iso/test.iso", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_TRUNC, 0777);

while(size = sceIoRead(umd, buffer, 1), size > 0)
    sceIoWrite(iso, buffer, 0x800);

sceIoClose(umd);
sceIoClose(iso);

でも、これだけだとかなりリッピングが遅いので色々手を加えないといけませんが.....
上のコードで作った物をアップしておきます ==> ダウンロード

MPO セーブデータ改造 

久しぶりにMPO(メタルギア)をやっていたらセーブデータを弄れたことを思い出したので、
ブログに忘備録として残しておくことにしました。

必須ツール

SED、MPOのセーブデータ

1. まず、ULJM05193.binというファイルを作成し、バイナリか何かで、0A FF BA 98 13 34 FD AC 55
  26 81 FA ED DE BC 76 と16byteのデータを書き込んで、SEDの中のgamekeyというファイルの中に
  入れておきます。

mpo_gamekey


2. PSPを起動後、SEDを起動し、MPOのセーブデータを復号化し終了します。

3. あとは、セーブデータを弄って暗号化してゲームで正常に読み込めたら成功です。

mpo_game


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。