コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 製のゲームやアセットバンドルからアセットを抽出できるリバースエンジニアリングツール「AssetStudio(UnityStudio)」紹介

はじめに

「AssetStudio(UnityStudio)」はUnity 製のゲームやアセットバンドルから
アセットを抽出できるリバースエンジニアリングツールです

目次

入手方法

上記のページから「AssetStudio」を入手できます
この記事を公開した時点では「UnityStudio v0.9.0」が最新版、
「UnityStudio v0.8.0」が安定版となっていました

使い方

アセットバンドルからアセットを抽出

f:id:baba_s:20190104120806p:plain

例えば上記のような画像を「card」という名前でアセットバンドル化した場合、

f:id:baba_s:20190104125030p:plain

「AssetStudio」を起動して

f:id:baba_s:20190104125034p:plain

「AssetStudio」メニューの「File>Load file」を選択してアセットバンドルを選択して

f:id:baba_s:20190104125044p:plain

「Asset List」タブを選択すると、
アセットバンドルに含まれているアセットのプレビューを確認できます

f:id:baba_s:20190104125056p:plain

そして「Export>All assets」を選択して保存先のフォルダを選択すると

f:id:baba_s:20190104125330p:plain

アセットバンドルから抽出したアセットを保存できます

キャッシュされたアセットバンドルからアセットを抽出

「AssetStudio」では、元となるアセットバンドルから抽出するだけでなく、
キャッシュされたアセットバンドルからアセットを抽出することもできます

Unity の標準機能でダウンロードしたアセットバンドルは

C:\Users\【ユーザー名】\AppData\LocalLow\Unity\【Company Name】_【Product Name】

Windows 10 であれば上記のフォルダに、

Android/data/【Package Name】/files/data

Android であれば上記のフォルダあたりに保存されているので

それらのフォルダ内に含まれている「_data」ファイルや英数字の羅列のファイルを
「AssetStudio」で読み込むことで、アセットを抽出することができます

Unity 製の PC ゲームからアセットを抽出

Unity 製の PC ゲームからアセットを抽出したい場合は

f:id:baba_s:20190104134448p:plain

「XXXX_Data」フォルダ内に含まれている .assets ファイルを
「AssetStudio」で読み込むことで、アセットを抽出することができます

関連記事