コガネブログ

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

【Unity】IL2CPP ビルドされた APK から .NET のメタデータを抽出できるリバースエンジニアリングツール「Il2CppDumper」紹介

はじめに

「Il2CppDumper」は IL2CPP ビルドされた APK から .NET のメタデータを抽出できる
リバースエンジニアリングツールです

入手方法

上記のページで「Il2CppDumper-vX.X.X.zip」を選択することで入手できます

使い方

まず APK ファイルを「7-Zip」などのツールで解凍します
そして、下記の2つのファイルが存在するかどうかを確認します

  • lib\armeabi-v7a\libil2cpp.so
  • assets\bin\Data\Managed\Metadata\global-metadata.dat

確認できたら「Il2CppDumper.exe」を起動して
最初に表示されたファイル選択ダイアログで「libil2cpp.so」を選択し、
次に表示されたダイアログで「global-metadata.dat」を選択します

f:id:baba_s:20190104141431p:plain

すると、上記のように表示されるので「4」を入力します

f:id:baba_s:20190104141514p:plain

そして、このように表示されたら適当なキーを押して終了します

f:id:baba_s:20190104141643p:plain

これで、上記のように3つのファイルが生成されて
IL2CPP ビルドされた APK から .NET のメタデータの抽出が完了します

  • dump.cs:クラスや関数のアドレスが記載されたファイル
  • script.py:IDA や IDAPython で使用できるファイル
  • DummyDll:dnSpy などの逆コンパイラで表示できる DLL ファイル

参考動画

参考サイト様