【Unity3D】apk加密(global-metadata.dat加密)

涉及:apk、aab、global-metadata.dat、jks密钥文件、APKTool、zipalign

使用7z打开apk文件观察发现有如下3个针对加密的文件。

xxx.apk\assets\bin\Data\Managed\Metadata\global-metadata.dat
xxx.apk\lib\armeabi-v7a\libil2cpp.so
xxx.apk\lib\arm64-v8a\libil2cpp.so

xxx.aab\base\assets\bin\Data\Managed\Metadata\global-metadata.dat
xxx.aab\base\lib\armeabi-v7a\libil2cpp.so
xxx.aab\base\lib\arm64-v8a\libil2cpp.so

如上打包配置:Player Settings - Other Settings - Scripting Backend 选IL2CPP
若选Mono,libil2cpp.so会变成libmono.so,针对.so文件的加密较为复杂可参考libmono.so打包
【Unity3D】unity-mono编译libmono.so成功-CSDN博客

本文章仅针对global-metadata.dat文件加密,global-metadata.dat是一种元数据文件,包含了编译后的IL代码所需要的所有信息,包括类型信息、方法信息、字段信息等等。

它由两部分组成:文件头和元数据。
文件头包含了两个重要的信息:魔数和版本号。
魔数是一个4字节的标志,用于确定这个文件是Unity的元数据文件,它的值是0xFAB11BAF。
版本号是一个4字节的无符号整数,用于表示Unity引擎的版本号,它的值为24(0x18)

HxD Hex Editor工具查看

【Unity3D】apk加密(global-metadata.dat加密)_第1张图片

你可能感兴趣的:(Unity3d,个人见解,unity,apk,加密)