LukeFZ
2d3b186b4d
add new struct definitions
2024-08-13 18:34:22 +02:00
LukeFZ
23e873280d
migrate versioning to StructVersion class, add handling/detection for 29.2/31.2
2024-08-13 15:00:20 +02:00
commonuserlol
665e70324f
Ghidra script improvements ( #7 )
...
* Always set image base to 0 for Ghidra
* Script improvements
Everything here is for Ghidra:
* Use `%` instead of f-string (Ghidra still uses python 2.7, meanwhile f-strings were added in 3.6)
* Handle errors when applying type (Ghidra throws exception unlike IDA)
* Don't trigger decompiler (analysis will be faster)
* Revert back string literals
* Set image base to zero only for ELF
I don't know about PE with Ghidra
* Update README for disassemblers
* IDA 7.6 required due `ida_ida.inf_is_32bit_exactly()`
* Ghidra now don't launch decompiler for whole binary
* Set image base to 0 in script
Remove %IMAGE_BASE% since we don't use it anymore
* Create XREFs for Ghidra
Now you can jump from `MethodInfo` to actual method
* Fix demangler for Ghidra
Ghidra's demangler can process only functions in auto analysis. Now both `TypeInfo` and `MethodInfo` are displayed properly
---------
Co-authored-by: commonuserlol <commonuserlol@users.noreply.github.com >
2024-08-10 21:00:41 +02:00
LukeFZ
b4aaa8df5e
Make script paths always use / as the path seperator to be cross-compatible
2024-07-15 16:11:24 +02:00
LukeFZ
87766f6f96
Add support for metadata version 29.2 and 31
2024-06-24 18:41:14 +02:00
Luke
692f4e05ef
Fix ghidra script output
2024-05-24 03:09:00 +02:00
LukeFZ
1e27f8672d
Dump default bytearray value as base64 in c# output
2024-02-25 15:26:46 +01:00
LukeFZ
0f7cd027c3
create fake string segment to allow ida to show the actual strings, also add custom xref between methodinfo and method when both exist
2024-02-16 11:43:15 +01:00
LukeFZ
42d97813df
Fix idaclang support for 8.3
2024-02-16 09:49:00 +01:00
LukeFZ
939bedac57
Skip function boundaries when a .pdata segment is detected, add (very slow) folder creation which is disabled by default
2024-02-13 15:02:16 +01:00
LukeFZ
55532fdc8a
Overhaul IDA script output and add progress waitbox
2024-02-13 06:48:36 +01:00
LukeFZ
6b060c274a
Fix assembly shim output for older Unity versions due to non-explicit class layouts
2023-12-10 21:58:22 +01:00
LukeFZ
5b1d9c67d1
Add name mangling to Methods/MethodInfo/TypeInfo/TypeRef, remove Boxing from ValueTypes when used as the this parameter, fix crashes when a module has no attributes
2023-12-06 20:09:35 +01:00
LukeFZ
e9434f4cad
Add better il2cpp_array_size_t definition for script outputs in versions post 2017.2.1, fix some other cpp gen issues
2023-12-02 11:22:32 +01:00
LukeFZ
f1cb0d14a2
Export FieldInfo/FIeldRva contents into script metadata and import as comments
2023-12-02 08:27:12 +01:00
LukeFZ
5afe295ef0
also set rva value as dnlib InitialValue
2023-12-01 09:39:02 +01:00
LukeFZ
7120970ece
Use actual size of static array initializers
2023-12-01 08:14:12 +01:00
LukeFZ
7e7d345c30
Add support for ThreadStatic fields
2023-12-01 07:08:48 +01:00
LukeFZ
227aefedef
simplify custom attribute logic a bit by always returning arrays as ConstantBlobArrayElement
2023-12-01 06:46:58 +01:00
LukeFZ
6aa96b431d
Support reading and writing custom arguments for v29
2023-12-01 04:43:27 +01:00
LukeFZ
2d73e28cea
Add fields to script export (PrivateImplementationDetails)
2023-11-29 19:59:48 +01:00
Katy Coe
297b3016f8
C#: Fix crash on machines/VMs with 1 hardware thread ( #134 )
2021-02-04 12:58:24 +01:00
Katy Coe
2901b6de26
DLL: Output static field offsets (StaticFieldOffsetAttribute)
2021-01-26 17:50:29 +01:00
Katy Coe
61bd7637c6
C#: Don't emit assembly type indices with --suppress-metadata ( #127 )
2021-01-23 23:36:42 +01:00
Katy Coe
0b8a42d9a2
DLL: Fix AddressAttribute.Slot being empty
2021-01-12 02:29:50 +01:00
Katy Coe
fca91ff556
DLL: Allow suppression of metadata attributes
2021-01-12 02:17:23 +01:00
Katy Coe
9437749455
Ghidra: Rebase dumped ELF images correctly ( #120 )
2021-01-10 17:41:52 +01:00
Katy Coe
34ebd31deb
DLL: Fix not outputting 0-offsets on first struct field
2021-01-10 14:41:54 +01:00
Katy Coe
ad7a09021d
DLL: Fix RVAs for PE files
2021-01-10 14:31:35 +01:00
Katy Coe
ba1f69540f
DLL: Eliminate Il2CppInspector.DLL dependency on System.Private.CoreLib
2021-01-10 13:48:57 +01:00
Katy Coe
1cf0fc8c54
DLL: Fix bug with parameter default values
2021-01-10 12:56:05 +01:00
Katy Coe
7961fc6dab
CLI/GUI: Add shim DLL output support
2021-01-10 11:38:45 +01:00
Katy Coe
64119a9dfc
DLL: Apply zero-parameter custom attributes directly
2021-01-10 09:11:30 +01:00
Katy Coe
cd7ddf193a
Model: Implement MetadataToken property
2021-01-10 08:37:49 +01:00
Katy Coe
8ffff24079
DLL: Add assembly and module tokens
2021-01-10 08:26:12 +01:00
Katy Coe
0cdb028e88
DLL: Fix missing ParameterAttributes
2021-01-10 08:18:43 +01:00
Katy Coe
daa2741b05
DLL: Revert special explicit interface implementation name handling
2021-01-10 08:17:52 +01:00
Katy Coe
15731e60db
DLL: Output enum return type method bodies correctly
2021-01-10 07:38:50 +01:00
Katy Coe
96e15a7521
DLL: Don't try to add property tokens if there is no definition
2021-01-10 03:32:30 +01:00
Katy Coe
c56a4c6a3a
DLL: Forward declare all assemblies
2021-01-10 03:32:03 +01:00
Katy Coe
57b37711ae
DLL: Add static array initializer value preview
2021-01-10 02:38:11 +01:00
Katy Coe
894075d676
DLL: Don't output method body for abstract methods
2021-01-10 02:20:58 +01:00
Katy Coe
7869d7af03
DLL: Output custom attributes
2021-01-09 22:11:06 +01:00
Katy Coe
d4db6666d9
DLL: Output explicit interface implementation names correctly
2021-01-09 21:50:31 +01:00
Katy Coe
900b690d36
DLL: Output events
2021-01-09 21:37:55 +01:00
Katy Coe
75ced39fdc
DLL: Ensure all non-extern methods have bodies
2021-01-09 21:21:22 +01:00
Katy Coe
135984bbdd
DLL: Fix failure to import some signatures
2021-01-09 04:06:15 +01:00
Katy Coe
5540ba296b
DLL: Fix our attribute field references
2021-01-09 03:50:41 +01:00
Katy Coe
09c5c6af23
DLL: Support arrays, pointers, ref types
2021-01-09 03:36:50 +01:00
Katy Coe
3df026c5cb
DLL: Don't output offset for static fields
2021-01-09 02:37:45 +01:00