Katy Coe
382495d0c7
Unity: Fix 'abstract declaration' error in IDA header parsing
2021-01-04 21:00:27 +01:00
Katy Coe
71be0f2af2
Update year in copyright messages
2021-01-04 05:26:43 +01:00
Katy Coe
956cea0553
C++: Output C++ enums as enum classes
2021-01-04 05:14:11 +01:00
Katy Coe
b76d14b113
C++: Don't output negative enum values in hexadecimal
2021-01-04 04:53:26 +01:00
Katy Coe
b02db857c7
C++: Make C enum field type match underlying type
2021-01-04 04:18:50 +01:00
Katy Coe
c00b474f33
IL2CPP: Change metadata and binary to derive from BinaryObjectStream
2020-12-21 06:37:29 +01:00
Katy Coe
8ae727852f
Unity: Fix crash when comparing open-ended latest version
2020-12-20 23:24:59 +01:00
Katy Coe
37f0610eda
Unity: Update for 2018.4.30, 2019.4.16, 2020.1.15-17, 2020.2.0+
2020-12-19 19:47:14 +01:00
Katy Coe
4e4f794376
IL2CPP: Handle ROT encryption of API exports
2020-12-10 21:25:13 +01:00
Katy Coe
4fb805223b
C++: Include metadata-global.dat structs in v27 headers
2020-11-26 21:45:20 +01:00
Katy Coe
479aeb7bcd
IL2CPP: Implement Il2CppAssemblyNameDefinition change (metadata v24.4)
2020-11-26 21:42:03 +01:00
Katy Coe
ccf56385d8
C++: Include MemoryInformation.h in Unity headers ( #100 )
2020-11-26 12:30:21 +01:00
Katy Coe
4a22a33dc3
C++: Fix self-referential structs not working in Ghidra
2020-11-26 11:36:38 +01:00
Katy Coe
d67ef3e5ed
C++: Fix "_extension" is a reserved word in Ghidra ( #102 )
2020-11-26 10:20:42 +01:00
Katy Coe
65cf69741d
Unity: Update headers
2020-11-24 14:06:53 +01:00
Katy Coe
76825f231b
C++: Include IL2CPP intrinsics of .NET managed types ( #79 )
2020-10-07 08:00:42 +02:00
Katy Coe
9746a6f4a8
C++: Include primitive types in reserved name list
2020-10-07 05:49:06 +02:00
Katy Coe
0c983fcebd
C++: Allow parsing enums with negative values
2020-09-24 12:46:15 +02:00
Katy Coe
d26b2d91a8
C++: Types with enum fields will be output in a way that preserves alignment ( #62 )
2020-09-10 16:06:35 +02:00
Katy Coe
4a2cc55cb6
C++: Handle C and C++ versions of enum type definitions correctly ( #62 )
2020-09-09 19:06:09 +02:00
Katy Coe
eba76fcf15
C++: Add many new reserved IDA keywords ( #57 , #62 )
2020-09-02 09:18:19 +02:00
Katy Coe
2024a3bfac
AppModel: Add WordSizeBytes; tidy up a bit
2020-08-17 02:49:01 +02:00
Katy Coe
92d549081e
C++: Correctly handle nested function pointer definitions
2020-08-17 01:14:29 +02:00
Katy Coe
86dd475a56
C++: Fix bugs handling whitespace and typedef struct *
2020-08-16 01:08:18 +02:00
Katy Coe
2723657ee2
C++: Add headers for Unity 2020.2.0a19 (as Unity 2020.2.0)
2020-08-16 00:29:01 +02:00
Katy Coe
ca55125858
Rename AppModel.ILModel to AppModel.TypeModel
2020-08-14 02:18:53 +02:00
Katy Coe
4dd3e7cb92
C++: Add GetType no-alias option and GetComplexType
2020-08-13 06:56:28 +02:00
Katy Coe
75de69e338
C++: Fix calculation of alignment for some structs
2020-08-13 06:56:05 +02:00
Katy Coe
8609523eba
C++: Allow typedef aliases to be retrieved from CppTypeCollection indexer
2020-08-13 03:42:15 +02:00
Katy Coe
0c998de844
C++: Fix incorrect field alignment for 2/4/8-byte simple types
2020-08-13 03:41:49 +02:00
Katy Coe
f9c236f143
Unity: Add equality implementation for UnityVersionRange, UnityHeaders
2020-08-07 04:56:47 +02:00
Katy Coe
15fb96ba9a
Unity: Over-extend LTS version numbers (2018.4.x and 2019.4.x)
2020-08-06 04:55:30 +02:00
Katy Coe
6770bc2865
C++: Fix System.Array is not itself an array (it's a class) (fix Array__Class * error in Ghidra)
2020-08-05 08:45:45 +02:00
Katy Coe
4ae6772f5a
C++: Remove windows.h macros/types from reserved words list
2020-08-01 05:24:07 +02:00
Katy Coe
adb8594620
C++: Don't output enum underlying types (C compat)
2020-07-28 02:20:53 +02:00
Katy Coe
cf6b64e0d2
C++: Add PlatformInformation and LoadResource as reserved symbols
2020-07-25 16:55:16 +02:00
Katy Coe
271a85b7f1
C++: Fix incorrect variable declaration of VirtualInvokeData struct for 5.3.6-5.4.6
2020-07-25 16:54:52 +02:00
Katy Coe
87519ba66f
Unity: Fix select only matching APIs in discovery instead of all in total version range
2020-07-25 15:54:18 +02:00
Katy Coe
de73cfe8c3
Unity: Add headers for Unity 2020.1.0
2020-07-25 14:55:03 +02:00
Katy Coe
1240fe3647
Unity: Fix types/API header version mismatch when binary is missing exports
2020-07-25 14:50:09 +02:00
Katy Coe
4473a5225c
Unity: Update type header names for 2018.4.25 and 2019.4.5
2020-07-25 05:09:47 +02:00
Katy Coe
f7263c8388
Unity: Fix incorrect API header name version ranges
2020-07-25 05:09:14 +02:00
Katy Coe
b075821092
Unity: Fix crash in GetTypeHeaderText() when VersionRange.Max is null (no upper bound)
2020-07-25 04:13:31 +02:00
Katy Coe
48005b4093
C++: Fix enum int top bit set compile errors in VS <= 2017
2020-07-24 17:41:40 +02:00
Katy Coe
cd75d5e877
C++: Add 'Sleep' as a reserved keyword
2020-07-24 17:40:30 +02:00
Katy Coe
44a5fe009a
C++: Output il2cpp-api-functions.h with unavailable exports elided
2020-07-24 17:20:37 +02:00
Katy Coe
8bb40d98b2
Unity: Try really hard to find the best IL2CPP API header match for the binary
2020-07-24 17:01:13 +02:00
Katy Coe
336648e8bf
C++: Enums with default underlying type did not respect 32/64-bit architecture size
2020-07-24 16:23:36 +02:00
Katy Coe
deeb8daa97
Unity/C++: Significant re-factoring of Unity header management (see description)
...
Extract resource handling to UnityResource
Add API header resource helpers
Fix UnityVersion ToString() when Min == Max
Replace fixed list of Il2Cpp header reserved names with parsed names from actual selected headers (solves TypeInfo/MemberInfo problems in 5.3.0-5.3.4 (metadata v16-20))
Use CppDeclarationGenerator when initializing CppTypeCollection to ensure all Il2Cpp header symbols are reserved
Process API headers in CppTypeCollection.FromUnityHeaders
Move #define IS_32BIT handling to UnityHeaders
Update tests
2020-07-22 19:01:33 +02:00
Katy Coe
53909c539c
C++: Improve parsing of #defines, #ifdefs, #ifs, function pointers
2020-07-21 16:20:44 +02:00