UnityPyでアセットを分解する
インストール
Section titled “インストール”システムPython環境を壊すのも困るので、失敗しないように以下ではDockerコンテナの中で実行する手順を示す。
apt-get updateapt install python3 python3-pip python3-venv素朴に UnityPy の README に書かれている手順を試すと、Ubuntu 24.04ではシステム環境に入れるなと警告が出たので、venv を使って隔離した環境にインストールする。
python3 -m venv unipycd unipysource bin/activatepip install UnityPyコマンドの準備
Section titled “コマンドの準備”tools/extractor.py が用意されているけれど、これ単体では動作しないので、main の処理を実装していく。
cp lib/python3.12/site-packages/UnityPy/tools/extractor.py .コードの差分はこの程度。
--- extractor.py 2025-09-24 10:00:29.365632601 +0900+++ extractor.py 2025-09-24 10:08:42.981609965 +0900@@ -345,3 +345,6 @@ yield from flatten(elem.values()) # type: ignore else: yield elem++extract_assets("a.cab", "out")ファイル名は固定値だけど頻繁に実行するものではないので、一旦はこれでいい。あとは実行するだけでファイルが出力される。
python extractor.py