mapping文件包含stacktraceSignature信息,方便恢复混淆后的堆栈

backup
walon 2025-05-03 20:40:12 +08:00
parent b75b87191d
commit a7fd8fc097
1 changed files with 5 additions and 0 deletions

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Xml; using System.Xml;
using System.Xml.Linq; using System.Xml.Linq;
using UnityEngine; using UnityEngine;
@ -26,6 +27,7 @@ namespace Obfuz
public string signature; public string signature;
public string oldName; public string oldName;
public string newName; public string newName;
public string oldStackTraceSignature; // only for MethodDef
public object renameMappingData; public object renameMappingData;
} }
@ -169,6 +171,7 @@ namespace Obfuz
oldName = method.Name, oldName = method.Name,
newName = null, newName = null,
renameMappingData = rmm, renameMappingData = rmm,
oldStackTraceSignature = MetaUtil.CreateMethodDefIl2CppStackTraceSignature(method),
}); });
foreach (Parameter param in method.Parameters) foreach (Parameter param in method.Parameters)
{ {
@ -568,6 +571,8 @@ namespace Obfuz
var methodNode = typeEle.OwnerDocument.CreateElement("method"); var methodNode = typeEle.OwnerDocument.CreateElement("method");
methodNode.SetAttribute("signature", record.signature); methodNode.SetAttribute("signature", record.signature);
methodNode.SetAttribute("newName", record.newName); methodNode.SetAttribute("newName", record.newName);
methodNode.SetAttribute("oldStackTraceSignature", record.oldStackTraceSignature);
methodNode.SetAttribute("newStackTraceSignature", MetaUtil.CreateMethodDefIl2CppStackTraceSignature(method));
//methodNode.SetAttribute("status", record != null ? record.status.ToString() : RenameStatus.NotRenamed.ToString()); //methodNode.SetAttribute("status", record != null ? record.status.ToString() : RenameStatus.NotRenamed.ToString());
foreach (Parameter param in method.Parameters) foreach (Parameter param in method.Parameters)
{ {