unity3d的代码怎么写( 三 )


为了找到资源对代码的映射形式,笔者调整Unity编辑器的设定,将资源的序列化格式改为文本格式,并进行对比分析 。发现资源中是通过一个GUID来对应具体代码的[B4]。
(如下)m_ObjectHideFlags: 1m_PrefabParentObject: {fileID: 0}m_PrefabInternal: {fileID: 100100000}m_GameObject: {fileID: 100000}m_Enabled: 1m_EditorHideFlags: 0m_Script: {fileID:11500000, guid: , type: 1}m_Name:mInt: 1mFloat: .5中的类型虽然还没有进行过混淆,但GUID已经发生了变化 。将新的GUID替换到资源文件中,引用关系果然恢复了 。
Unity引擎下的特殊问题都是可以解决的 。于是顺着这思路,开发了若干工具,得到了前后GUID的对应关系,并扫描所有资源以进行GUID的替换 。
另一方面,在混淆之后,类型的变量名发生了改变,资源中变量名赋有具体的值,也需要替换资源中的变量名对应到混淆后的变量名 。这一切花费了不少的 。

unity3d的代码怎么写

文章插图