1. 当前位置:网站首页 > 技术分享 > 软件

苹果dat文件免对位修改教程|global-metadata.dat修改工具(MetaDataStringEditor.exe)

苹果dat文件免对位修改教程,Unity直接导出的global-metadata.dat里面的信息很多,如果要修改只能用UE等工具对位修改,本期分享一个MetaDataStringEditor工具,可以对global-metadata.dat直接修改。

一、工具使用教程

1、在\assets\bin\Data\Managed\Metadata下找到global-metadata.dat文件

使用MetaDataStringEditor工具打开

苹果dat文件免对位修改教程

上面的输入框是搜索用的,搜索要改的字符串,回车或者点击下一个找到它,然后右键该字符串,编辑(可以中文,但要考虑字体支不支持),保存,效果如下

苹果dat文件免对位修改教程

修改后 另存为 然后覆盖回去即可。




二、基本原理(来源某博客)


global-metadata.dat里面的信息很多,在il2cppdumper里面可以看到,字符串的区域有两个,代码中的字符串在其中一个,这个区域的特点是这样,首先在文件头部有一个列表,里面放了每一个字符串的长度和在数据区的偏移量,同时在数据区,字符串是紧凑放置的,也就是说字符串和字符串之间没有分割符号,用010 Editor打开文件的话,可以找到字符串的区域,

苹果dat文件免对位修改教程

而另一个区域则是每一个字符串的结尾都会有一个\0,两个区域的功能应该是不同的,我的猜测是,我改的这个区域是代码中的字符串,而另一个区域则是类名、方法名等。

具体修改过程也比较简单,对于头部的列表,因为修改前后字符串的数量是不变的,所以这个列表所占据的空间也是不变的,数据区的话大概率是会变的,我的做法是,在修改之后先计算数据区的长度,如果可以放入原来数据区所在的空间,就直接放,否则在文件尾另外开辟一块空间来放,这样我就不需要去重排后面的其他数据了。关于字符串的编码,还是Unity常用的UTF-8编码。


三、工具下载


MetaDataStringEditor下载(包含教程、工具源码、工具成品):https://www.dwymw.com/ziyuan/view1791.html

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:https://www.90175.com/wenku/txtlist_i141v.html

联系我们

在线咨询:点击这里给我发消息

微信号:76891828

工作日:9:30-18:30,节假日休息