プライマー
インターネット上で非常に優れた Unity ゲームを作成している人がいることを発見しました。研究のためにソース コードのコピーが必要だったので、いくつかのゲームの APK を見つけました。dnSpy ソフトウェアで APK を逆コンパイルし、Unity ゲームのソース コードを入手しました(リソースとコードを含む)
リソースの準備
dnスパイ
ユニティ APK
逆コンパイルしたいAPKを準備する
ダウンロード
以下の図に示すように、dnSpy の GitHub ダウンロード アドレスを開きます。
以下の図に示すように、これはダウンロード後の dnSpy フォルダーです。
Unity APKを逆コンパイルする
1. Unity APK を準備する
以下に示すように:
2. ファイル形式を変更する
次の図に示すように、APK ファイルのサフィックス名を .apk から .rar または .zip 形式に変更します。
3. ファイルを解凍します。
以下の図に示すように、これは解凍後のフォルダー構造ディレクトリです。
4. フォルダー機能の分析
資産 | Unity プロジェクトのリソース ファイルとコード ファイル |
ライブラリ | したがって、arm および x86 に必要なファイル |
メタINF | 情報パッケージ |
レス | アイコンなどのリソース画像を保存します。 |
AndroidMainifest.xml | マニフェストファイル |
クラス.dex | Android Dalvik バイトコード |
リソース.arsc | コンパイルされたバイナリリソースファイル |
この記事のエディターは主に、必要なリソースとコードが含まれるアセット ファイル ディレクトリに焦点を当てています。
5. ソースコードを表示する
下図のように操作してください 開いてもAssembly-CSharp.dllが見つからない場合は、このUnity ApkがMonoモードではなくIL2CPPモードでビルドされている可能性があります。
以下のように操作します
APK レンダリングを逆コンパイルする
要約する
Unity ゲームは簡単すぎて分析できません。プロジェクトが非常に重要であれば、コードの難読化、暗号化、その他の作業が依然として非常に重要です。
もちろん、テクスチャ以外にもオーディオファイル、XMLファイル、シェーダーなども表示できますが、モデルを視覚的に抽出することはできません(これには不統一性が必要です)