2016年4月9日土曜日

androidでパズドラなどのアプリのデータを抽出する(root不要、要PC)......書き換えもできるかも?

androidではパズドラなどのアプリのデータはスマホ内の『/data/data/アプリのパッケージ名』に入っています。 アプリのパッケージ名はブラウザでgoogle play store内を検索した時のURLから分かります。 パズドラなら、

などというURLで、『jp.gungho.pad』がパッケージ名です。 『/data/data/jp.gungho.pad』に画像、音楽などのデータが入っていることになります。 で、スマホのファイラなどでそのディレクトリにアクセスしようとすると権限がなくて内容が見れません。 PCにつないでadbで見る場合も同じ。 ってことで、データを抽出するにはアクセス制限を回避する方法が必要になります。

じゃあどうするかというと、android公式のバックアップ機能を使って該当フォルダ内のデータを全部PCに引っ張ってきます。 こちらのサイトに詳しいやり方が書いてあるので、その通りにやってください。

ある程度パソコンに詳しくないとできません。 勉強しましょう。 中途半端な知識でいじくりまわしてパソコンの環境をぐちゃぐちゃにしないよう、注意。

参考サイトのとおりにやったらpad.abというファイルができているハズです。 これはバックアップ用の独自形式の圧縮ファイルです。 パッケージ名を間違えた場合はエラーにならずに小さいゴミファイルができます。 ちゃんとバックアップファイルができているか、最低限ファイルサイズの確認はしましょう。 正しいabファイルができたら、abファイルと一般的なアーカイブであるtarファイルとの相互変換ソフトがあるので、そのソフトを使ってtarファイルに変換します。

ちょっとわき道にそれますが、簡単なセキュリティのお話し。 この手のソフトに悪意のある機能が埋め込まれていることは稀です。 開発期間が長いソフトや数年前のソフトなどはだいたい大丈夫でしょう。 それでも一応ウィルスチェックは忘れずに。 さらに警戒するというなら、VirtualBoxなどのヴァーチャルマシン上で実行するようにしましょう。

話を戻します。 このツールはコマンドプロンプトで使います。 (adbの用意をするときにいっしょにインストールされてると思うけど)javaの環境をインストールしてコマンドプロンプトで、

  • java -jar abe.jar unpack pad.ab pad.tar 『パスワード』

のようにすればabファイルをtarファイルに変換できます。 パスワードの復号に失敗した場合はabファイルを作るときにパスワード指定をせずにやってみてください。 (Password is set but strong AES encryption is not allowedと言われた場合、続けて対処法が表示されます。それがわかる人はその通りにどうぞ。) あとは普通の解凍ソフトで開くだけ。 この方法でいろんなアプリのデータにアクセスできます。

データを書き換えてabファイルに戻す場合は

  • java -jar abe.jar pack pad.tar pad.ab 『パスワード』

ですね。 あとはバックアップを戻すのと同様の手順でスマホに書き込めば、例えば好きな画像でゲームが楽しめるかもしれません。 試してないですけど。 こちらでは試す気はないのでやるならこの投稿を一通り読んでから、自己責任でちゃんと判断してやってください。 もしかしたら、チェックサムとかの関係で単純に差し替えただけでは無理かもしれません。 そのとき、メーカーが目くじらを立てるチートとただの画像差し替えは区別されない可能性があります。 メーカーからすればわざわざ区別してやる義理もありませんから。 つまり、アプリが動かなくなるリスクやアカウントを停止されるリスクにもつながります。 そういうところが自己責任になります。 あと、著作権上のリスクを後述するので、そちらも参照してください。

以降はパズドラの話です。 画像や音楽などは『解凍先のパス\apps\jp.gungho.pad\f\mon2』に入っています。

  • oggファイル ...... bgm
  • wavファイル ...... 効果音
  • bcファイル ...... 静止画像
    1. cards_???.bc ...... モンスターのアイコン
    2. mons_000.bc ~ mons_1837.bc ...... モンスター画像(旧フォーマット)
    3. mons_1838.bc ~ ...... モンスター画像(新フォーマット)
  • btexファイル ...... 画像の部品をまとめたリソースファイル?

bgmはある程度普及しているフォーマットですね。 oggが聞けない場合は適当に検索してください。 解説サイトはいくらでもあります。 効果音はwavなのでなんのひねりもなくそのまま聞けます。

問題は画像ファイルです。 独自形式なのでそのままでは表示できません。 そして何度かフォーマットが変わっているようです。 日本語の解説サイトでは初期の画像に対してbc⇔pngの相互変換ができるソフト(padImageEditorなど)が紹介されてました。 しかし全ての画像を変換できるツールは発見できませんでした。 ってことでそれっぽい英語で検索したら出てきたのはこれ。

(bc または btex) → pngの一方向の変換のみできます。 ヴァーチャルマシンのUbuntuに入っていたPython 2.7.6で動作確認。 端末で

  • python PADTextureTool.py mons_2823.bc

とやったら新フォーマットの画像、mons_2823.bcがpng画像に変換できました。

bcファイルのフォーマットがまた変更になる可能性はあります。 でもまぁ、それまでのしばらくはこれでモンスターの立ち絵が変換できそうですね。

そしてもしかしたらですが、新フォーマットのmons_2???.bcの絵を旧フォーマットの絵(padImageEditorで作る)で差し替えてスマホに戻せばパズドラが動くかもしれません。 それは前述のリスクがあるんで試す気はありませんけどね。

btexファイルをPADTextureToolに渡してみたら複数の画像が出てきました。 ガチャドラの部品やダンジョンの背景などです。 ファイルに含まれる全ての絵が抽出されたかは不明。 差し替えは難しそうです。

ホントはドロップの画像を修正したかったんですよね。 色盲気味で色覚サポートでもちょっと見分けづらいときがあったので。 でも画像フォーマットや画像が納められたファイルが他の解説ページにあったものとは変わってしまったらしくて修正できませんでした。 まぁ、何度も書いたように画像の差し替えには多少のリスクもある事ですし、今回はあきらめましょう。

ってことでこのネタは画像と音の抽出のみ。 データ書き換えについては「できそうだな」っていうアタリを付けただけで終了とします。

最後に著作権について書いておきます。 私の理解なのでどこまで正解かはわかりませんが、ゲームの画像や音楽などを扱った場合の法的なリスクについて箇条書きにしておきます。 参考にしてください。

  • ゲームをスクリーンキャプチャ(録画)して個人のスマホやPC内に保存、鑑賞する。 →
    • 私的コピーは合法。友人数人に見せるくらいまでならok。
  • ゲームをスクリーンキャプチャ(録画)してネットにアップロード、誰でも見れる状態にする。 →
    • 違法だが親告罪(告訴されない限りペナルティは無い)。 メーカー側の都合により警告を受けたり何も言われなかったり様々。 例えば謎解きゲームやサウンドノベルなどは動画にされてばらまかれると商品価値が下がる。 積極的に対処するメーカーはあるだろう。 RPGなども発売直後は動画投稿を控える人が多い。 格ゲーやスマホのパズルゲームなどはプレイヤーの動画投稿が宣伝にもなる。 例えばパズドラの場合、ゲームのプレイ動画をYoutubeやニコニコ動画に投稿することはガンホーの利益にもつながるので不問。 ただし、悪徳サイトの客寄せにパズドラのネタが使われたとき、それを止めるために著作権法の本来の役割をちらつかせて悪徳サイトを止めた例はあるらしい。 メーカーが動画投稿などについて方針を明示している場合はよく確認すること。 節度と常識があればまず大丈夫だろう。
  • ゲームのリソースを解析して画像、音楽を抽出する。(このネタ) →
    • グレーゾーン。 おそらく判例は無い。 個人で使う場合、ネットにアップした場合の扱いは現状では上の2例に準じると思われる。 ただし、『解析』『抽出』しているということで単純なキャプチャより多少重りが付く可能性は否定できない。 誰かが無茶をやって裁判沙汰になったらハッキリと違法にカテゴライズされる可能性はあるが、普通にゲームをやっていて見れる絵については多分大丈夫だろう。 Youtubeの動画の挿絵に使うくらいなら大丈夫だと思うけど、警告が来たらすぐ取り下げるという前提でやる事。 また、解析・抽出ツールの配布については慎重になった方がよさそう。
  • ゲームのプログラムや絵の書き換え、音楽の差し替えをしてプレイする。 →
    • 著作権の同一性保持権に抵触する可能性がある。 合法、違法両方の判例がある。 メーカーの目はまずチートツールの販売元に行くようだ。 フリーのチートツールでも、開発と配布は火種になる可能性はある。 一般プレイヤーはオフラインゲームならリスクは少なめ。 オンラインゲームの場合は法的リスクは少ないがアカウント停止などの処分は覚悟すべき。 画像の書き換えなどは比較的リスクは少ないが、全くのノーリスクではない。 個人がジョークで済む範囲でやる場合にはとやかく言われる可能性は低い。 成人向けの改造などをネットで得意げに吹聴してたら個人でも処罰の対象になるだろう。 オンラインゲームのチートツールとアダルト方面には近づかない方がよい。
    • 参考1 : ガンホー公式 ..... 【パズル&ドラゴンズ】「著作権法違反」容疑による逮捕の発表に関して
    • 参考2 : wikipedia ...... 同一性保持権
  • ゲームの画像、動画、音楽を著作権者の許可を得ずにそのまま売る。パクって自分の作品に使う。
    • 昔からあるガチ違法。 カネが絡んだらメーカーも動く。 『ファンアート』も魔法の言葉ではないので注意。

違法行為については、「この地域では原付で二段階右折しなくても警察に文句言われないよ」というレベルの物から「見つかったら逮捕 → 退学や仕事クビ」のレベルまで色々あります。 それをよく調べ、どれに当てはまるかよく考えましょう。 「みんなやってるから大丈夫」ってのはダメなときはダメだし、「自分の考えでは大丈夫」なんてのは役に立ちません。 たとえ裁判で勝てる事例だとしても、訴えられたというだけで周りの目は変わります。 脇が甘くならないように注意。 逮捕者が出たようなハッキリした違法行為には近づかないように。