From a8c518b4c0f0a9dda0575cf5dd5f0e83d6197f29 Mon Sep 17 00:00:00 2001 From: lifeengines Date: Thu, 24 Sep 2020 18:19:07 +0800 Subject: [PATCH] IDA: Fix idc.SetType elides leading underscores from parameter names (#78) --- .../Outputs/ScriptResources/Targets/IDA.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Il2CppInspector.Common/Outputs/ScriptResources/Targets/IDA.py b/Il2CppInspector.Common/Outputs/ScriptResources/Targets/IDA.py index cc98422..95cb9b6 100644 --- a/Il2CppInspector.Common/Outputs/ScriptResources/Targets/IDA.py +++ b/Il2CppInspector.Common/Outputs/ScriptResources/Targets/IDA.py @@ -29,7 +29,13 @@ def SetFunctionType(addr, sig): SetType(addr, sig) def SetType(addr, cppType): - ret = idc.SetType(addr, cppType) + if not cppType.endswith(';'): + cppType += ';' + tinfo = idc.parse_decl(cppType,idaapi.PT_RAWARGS) + if not(tinfo is None): + ret = idc.apply_type(addr,tinfo) + if ret is None: + ret = idc.SetType(addr, cppType) if ret is None: print('SetType(0x%x, %r) failed!' % (addr, cppType))