THE PSP攻略+α ~SONYへの挑戦状~

PSP関連ブログ?いいえ、ただのゆとりブログです

スポンサーサイト 

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

七次元vs吉里吉里2(抽出編) 

チラ裏に投稿するつもりだったけど、割と普通な内容だったのでこっちに投下することに
抽出とかそっち方面に興味の無い人や、抽出神にはつまらん内容です
ぶっちゃけ抽出関係に興味があってもつまらんです
じゃあ何で書いたんだよ… チラシの裏にでも書いてろヴォケ

あんまり詳しく書くと対策されそうなので軽く吉里吉里2の抽出について試してみた


吉里吉里2はフリーかつオープンゆえに、非常に抽出しやすいエンジンです。
標準機能が高機能だという点も抽出しやすい原因になってるみたいですが…

割と使える吉里吉里2のアーカイブ展開方法を見つけたと思ったが、最近のゲームはガードが固いね…
あのてこずってたExEであっさりデータの抜き出しができたので夏カナ体験版で試してみたら、すべてのファイル(プラグイン含む)の読み込み時にRSAによる鍵の署名確認までするようになってるとは…
一応知らない人のために吉里吉里2を使ってデータを抜き出す要点を書いておく(あくまで要点)

・なんらかの方法で自前スクリプトを実行できるようにする。
 ※テンプレートの隙を突いた方法が使えるが、メーカー側が簡単に対策できる。
  Shift+F4でコンソールが出せるのでこれでもいい。これも対策できる。
・吉里吉里2標準機能(TJS)ではテキスト形式の読み書きしかできない
 ※つまり、PNGやらTLGとかOGGなどはNULLまでしか抜き出せない。(バイナリでの0が終点)
  だが、シナリオデータは簡単に抽出できる。
・上記のことから、バイナリデータを抜き出すにはプラグインを使用する必要がある。
 ※fstatなどのプラグインを使って抜き出す。

簡単に言えばファイル操作系プラグインを読み込んで外に書き出せばおk

一昔前には、tpmを置くだけで抽出できるプラグインもあった。
拡張子をdllからtpmにすると自動読み込みなのでスクリプト要らず。
このプラグインは吉里吉里上で使ったファイルを勝手に保存するらしい。探したけどもう配布されてなかったが
ちなみに、最近のゲームは不正なtpmを検出するのでこの方法は使えない。

ExEだとtpmを置くとエラーが出るので、自前スクリプトを実行する方法で抽出が可能。
夏カナだとコンソールが出せないように対策されてるが、テンプレートの隙を突いた自前スクリプトの読み込みは可能。
だが、最初に書いたとおりxp3もプラグインもすべて読み込み時にsigファイルが必要なので、勝手にプラグインを読み込むことができない。
(吉里吉里にこんな機能は付いてないので、tpmでの機能かと。バイナリ覗いたらRSAのモジュール使ってるみたいだしw)
sigファイルに関しては暗号化された鍵と思えばおk
色々と自力で吉里吉里2の穴(?)を探してみたところ、対策をされていてもコンソールを出したり、自作スクリプトを起動する方法がわかったので、sigによるファイルチェックが無いゲームならなんでも展開できそう。
指定したプラグイン以外の読み込みができないようにするとかされたら無理だがw
メーカー側がこの穴に気づいてたら簡単に対策できると思います。
メッセージローダー系を作成してる人なら標準機能でシナリオが吸い出せるので困りませんがw

読み込み関係は暗号化プラグインで管理してるわけだから、それより前に他のプラグインを読み込めばsigの確認などをスルーできるが、他のtpmが読み込まれると暗号化プラグインがエラーを吐くので無理。
デバッガを使って、エラー回避すればいいわけだが、tpmはよくわからん

まぁ、自作ツールでtpmを読み込んで自分で展開すればいいだけの話ですけどねw
最近は呼び出し元のチェックとかされてますが、それも簡単に突破されてますし。

上の2つのゲームはとっくの昔に解析されてるので、どうでもいい内容でしたねw
(夏カナに至っては体験版より強力なプロテクトだったのに数日で解析されてたしww)
今後も某海月がさまざまなゲームの抽出に対応していくでしょうし、こんな手間のかかることしなくていいなw

注意:私はYUZUSOFT応援しています。例にゲーム名出したからって怒らないでね!!111
またつまらぬ記事を書いてしまった…

追記:話に関係ないけど夏カナのtpmはFateのtpmを作った人と同じっぽい?
バイナリ覗いたら動的であれ静的であれ云々があったので多分そう。
tpmだけ作るプログラマーでも居るのだろうか
[ 2008/12/11 02:20 ] 日記的なもの | TB(0) | CM(7)
No.543
すげーとしか(ry
半分も理解できなかった自分です、はい。
署名確認、RSA??何それおいしいの?なレベル^^;

毎月さまざまなゲームが発売される中でプロテクトも日々強化されているということですね(ぇ
でも結局こういうのっていたちごっこなんですよね。
新しいプロテクト開発→有志によって解析
な感じに。
このまま行くと3年後とかやばいだろwとか思ったり。
自分ももうちょっと勉強して抽出鶴とか作りたいとか思います。道のりは長そうですが…
[ 2008/12/13(土) 12:56 ] [ 編集 ]
No.544
ディスクのプロテクトもデータのプロテクトもPC上で動いている限り、必ず突破されますね。
しかし、椎名里緒のwarはデバッガを検出すると閉じるらしく、かなり解析にてこずってるみたいです。(新型war1.7はまだ解析されず)
膨大な復号用テーブルがあり、なぜか円周率まで使うみたいですw

>このまま行くと3年後とかやばいだろwとか思ったり。
テレビが地デジに変わるんですね、わかr(ry

自分で解析したり、抽出鶴が作れるようになると非常に便利なんですが、かなり難しいのでもう他人まかせでおk(ぉ
デコードルーチンさえ見つければ、あとはそのアセンブラコードをコピペするだけで抽出ツールができたりするそうですw(最初はここから始めるらしい)
[ 2008/12/14(日) 05:19 ] [ 編集 ]
No.545
七次元さん
いきなりで申し訳ありません
少し相談に乗っていた飽きたいことが
あります。

画像ファイルがセル3枚で作成されています
その画像ファイルを細かく説明すると
1セル→人とハートマーク
2セル→人とかばん
3セル→人と財布
このような感じですね
ここでの問題は自分が移植しているゲームが
セルを切り替えてアニメーションを作って場合が多く
尚且つ、そのアニメーションがセル連番で作成しているに関らず、なぜか財布が消えて人だけ動いていたり
いきなりハートマークだけ表示され人が消えたりと
奇妙な動きをしているんですよね・・・・・・
こう言うことはONSで可能なのでしょうか?


[ 2008/12/14(日) 05:39 ] [ 編集 ]
No.546
すみませんが少し内容が把握し辛いです。
図で示してもらうのが一番わかりやすいと思いますが…
α値があるのか無いのか。ある場合はpngなのかjpgなのか。画像タグは正しいか。
1枚ずつ表示させて不具合はないのか。
Nスクでも同じ症状になるのか。
これらである程度原因がわかるかもしれません。
[ 2008/12/14(日) 06:19 ] [ 編集 ]
No.547
七次元さん

コメレスありがとうございます。
今、言った動作は吉理吉理です。
それと申し訳ありません。
確かに内容が把握しにくいですね

それと画像ファイルはbmpだと思います。
EXdataでpng抽出するとα値が付くことから32bitbmpだと
思われます。

ちなみ事細かく説明すると

pikatyu.png(セル3枚で1枚の画像ファイルになっている)
1セル→人とハートマーク
2セル→人とかばん
3セル→人と財布
吉理側では、セルを切り替えることでアニメーションを
作動させている


pikatyu.pngのセル1で画面を表示させ、その画像ファイルの2セル→3セルで画像セルを切り替えアニメーションを実行している。

でも吉理側の命令では画像ファイルは一枚しか読み込んでいないにもかかわらず、他アニメーションも実行しています
それが先程の、ハートだけが表示され次に人だけが表示される。 イミフな命令です
一枚の画像ファイルでセルアニメーションを読み込む場合
ハートだけが表示されるなんてありえないと思うのですが・・・・・・・・・
とりあえずハートだけの画像がないかチェックしてみます
ハートだけの画像があればこのアニメーションは
ONSで再現可能です。
探してきます


[ 2008/12/14(日) 07:15 ] [ 編集 ]
No.548
上の動作は元の動作ということですね。

画像の中のセル数は3だと書いてありますが、6ということはないでしょうか?
元画像とアニメーションを見ないとわかりませんが、アニメーションセグメント方式(1枚に複数のセルが入ってる画像を使う方法)ではNスクのようにセル数を指定するのではなく、座標で切り取る位置を決めるので縦にもセルがある場合もあります。
ファイル名と同じ名前で拡張子がasdのファイルがあると思いますので、それを見た方が早いかもしれません。
また、吉里吉里ではおっしゃる通り同時に複数のアニメーションをすることも可能なので、Nスクで表示する場合は同じ画像を複数読み込む必要があると思います。
Nスクで実装するには画像を分割してそれぞれ個別のファイルにする必要があるかもしれません。
または、分割した後に連結してNスク用のアニメーション画像を作れば面倒なスクリプトを組まずにアニメーションができると思います。
[ 2008/12/14(日) 11:42 ] [ 編集 ]
No.549
七次元さん

アドバイスありがとうございます。
asdファイルは確かにありますね
少し調べてみます。
それとどうやら、ハートマークの画像はありませんでした
これによりどうやら七次元さんの仰る通り画像を加工する必要がありそうです。
この度はアドバイスありがとうございました。
また何かありましたらよろしくお願いします。
[ 2008/12/14(日) 17:08 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する
プロフィール

七次元

Author:七次元
永遠の18才
夢を追い求める学生
プログラミング初心者(笑)
愛用言語はHSP(スイーツ)
プログラマーを目指すものの「C言語?読むだけ^^」「C++?知らんがな。クラスって何?おいしいの?」
というゆとりっぷり。
Delphi入れたりVC++2008入れたり迷走中。
夢はコミケで何かやりたい。一般参加すらしたこと無いけど。
PSP-1000(CFW)持ち。PSP-4000マダー?
よく難波周辺のゲーセンに出没するらしい。
STGも格げーも初心者。
ろ、ロリコンちゃうわ!!!

連絡先:homepage_touroku[a]yahoo.co.jp
(メールはほとんど確認してません。掲示板に書き込むのが確実です)

関連リンク
そふとうぇあこうかいじょ
公開したファイルが置いてあります。

掲示板
連絡やら雑談やら適当にどうぞ。
カウンター



現在の閲覧者数:
ブロとも申請フォーム


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