djkaty / Il2CppInspector

Powerful automated tool for reverse engineering Unity IL2CPP binaries
http://www.djkaty.com
GNU Affero General Public License v3.0
2.62k stars 433 forks source link

Generated ghidra python script errors #194

Open Martmists-GH opened 3 years ago

Martmists-GH commented 3 years ago

Error:

il2cpp.py> Running...
Generated script file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
Processing method definitions
Processing constructed generic methods
Processing custom attributes generators
Processing Method.Invoke thunks
Processing string literals
Processing Il2CppClass (TypeInfo) pointers
Processing Il2CppType (TypeRef) pointers
Processing MethodInfo pointers
Processing function boundaries
Processing IL2CPP type metadata
Traceback (most recent call last):
  File "/home/mart/Downloads/Il2CppInspector/Il2CppInspector.CLI/il2cpp.py", line 220, in <module>
    ProcessJSON(jsonData)
  File "/home/mart/Downloads/Il2CppInspector/Il2CppInspector.CLI/il2cpp.py", line 197, in ProcessJSON
    DefineField(d['virtualAddress'], d['name'], d['type'])
  File "/home/mart/Downloads/Il2CppInspector/Il2CppInspector.CLI/il2cpp.py", line 119, in DefineField
    SetType(addr, AsUTF8(type))
  File "/home/mart/Downloads/Il2CppInspector/Il2CppInspector.CLI/il2cpp.py", line 60, in SetType
    createData(addr, t)
    at ghidra.program.database.code.CodeManager.checkValidAddressRange(CodeManager.java:1941)
    at ghidra.program.database.code.CodeManager.createCodeUnit(CodeManager.java:2055)
    at ghidra.program.database.ListingDB.createData(ListingDB.java:422)
    at ghidra.program.flatapi.FlatProgramAPI.createData(FlatProgramAPI.java:1646)
    at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
ghidra.program.model.util.CodeUnitInsertionException: ghidra.program.model.util.CodeUnitInsertionException: Insufficent memory at address 04aa3ac0 (length: 136 bytes)

Sadly I cannot provide the main binary and metadata as this would put my account at risk and I'm not willing to take any chances when it comes to Nintendo. It does not seem like there is any meaningful data at 04aa3ac0 though.

ilpescerosso commented 1 year ago

I know this is quite old, but did you get it working? I'm having the same problem in SetType(), just different address (mine doesn't even get past the string literals part)