第一步:安装和打开010Editor 要使用010 Editor模板解析globalmetadata.dat文件,首先需要在计算机上安装010 Editor软件。请确保从官方网站或可靠的来源下载并安装最新版本。安装完成后,打开010 Editor软件。 第二步:导入globalmetadata.dat文件 在010 Editor的主界面上,选择“File”菜单,点击“Open”选项。在弹出的对话框...
Ctrl G,直接跳转到该偏移,刚好是文件末尾 看了很多文件,最后一个属性都是在0x108,0x10C,有个注意点就是如果最后一个属性的值比倒数第二个小的话,就取倒数第二个的属性值。 基于以上两点,我们祭出frida,写下js脚本 解释如下: 代码如下: /* 获取解密后的global-metadata.dat github:https://github.com/350030...
1.在010 Editor中打开globalmetadata.dat文件。 2.选择“应用模板”选项,并从下拉菜单中选择我们之前创建的globalmetadata.dat模板。 3.点击“确定”按钮,010 Editor将自动根据模板的定义解析和显示globalmetadata.dat文件的内容。 4.您可以使用010 Editor提供的各种功能来浏览、搜索或修改文件的内容。这包括查看和编辑...
在运行时,IL2CPP会将global-metadata.dat文件加载到内存中,并将元数据信息与转换后的C++代码进行关联。当C++代码需要访问IL代码的类型信息、方法信息、字段信息等等时,IL2CPP会根据global-metadata.dat文件中的元数据信息,从内存中获取相应的信息,并将其转换为C++代码。
这题比较基础,只加密了global-metadata.dat文件,可以将global-metadata.dat拖入010Editor查看,正常的global-metadata.dat开头的四个字节应该是AF 1B B1 FA,而这题的global-metadata.dat显然被加密过了,因此只需要将其解密即可完成解析,后面的flag问题就迎刃而解。
globalmetadata.dat文件通常用于存储关于全局元数据的信息,其中包括文件的名称、大小、修改日期等。这些数据通常以特定的格式进行存储,因此我们需要创建一个010 Editor模板来解析和编辑它。 第二步:打开010 Editor和创建新模板 在电脑上安装并打开010 Editor后,我们可以开始创建新的模板文件。在菜单栏中选择"File",然后...
globalmetadata.dat模板 设置基础文件信息 SetFileInfo("globalmetadata.dat"); SetFileType("Binary"); 定义全局元数据块结构 struct GlobalMetadataBlock { unsigned long blockID;块ID unsigned long blockOffset;块偏移量 unsigned long dataLength;数据长度 byte[] data;数据内容 }; 定义全局元数据文件结构 struct...
1. global-metadata.dat 解密 一般来说像YM这种体量不大的厂商,一般只会在业务代码中写解密逻辑,不大可能在 Unity 源码里面塞解密和修改 global-metadata.dat 的读取结构 (点名某个厂商), 所以先把 il2cpp 的符号还原会看着舒服点。 先拿010 Editor 看下文件,标准签名头没有修改 (AF 1B B1 FA),但是后面的...
1. 加密 global-metadata.dat 文件,同时做到对开发者透明。开发者只需要上传游戏包文件,就可以实现加密,不需要上传额外文件。 加密前 globa-metadata.dat 文件: 加密后的 global-metadata.dat 文件: 2. 加密 libil2cpp.so 文件。由于 IL2cppDumper 需要依赖 libil2cpp.so 对应 global-metadata.dat 文件中的字符...
文件结构上,global-metadata.dat包含文件头和元数据,其中文件头标识Unity引擎和版本,元数据则按类型组织成表格,记录着具体的元数据信息。生成过程是Unity编译时完成的,将项目中的元数据提取并写入文件。global-metadata.dat在游戏开发中扮演重要角色,如支持脚本反射,保证跨平台一致性,并在反编译和安全...