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
Katy Coe
83e94ebf28
Unity: Fix missing VirtualInvokeData for 5.3.6-5.4.6
2020-07-20 18:56:32 +02:00
Katy Coe
e37de64839
AppModel/C++: Fix regression in handling of C# primitive pointer types
2020-07-20 18:15:41 +02:00
Katy Coe
8cd2d4ff4a
Unity: Add version range CompareTo, Intersect and handle no version upper bound
2020-07-20 17:06:25 +02:00
Katy Coe
ea91c2b4ec
Extract assembly resource management from UnityHeader to ResourceHelper
2020-07-20 07:05:20 +02:00
Katy Coe
964685e44a
Extract Unity version range management from UnityHeader to UnityVersionRange
2020-07-20 06:39:29 +02:00
Katy Coe
e7d3600f67
Include all Unity il2cpp-api-functions.h versions
2020-07-19 21:27:29 +02:00
Katy Coe
4cb7f50f13
Update Unity header generation support to latest
2020-07-19 21:26:52 +02:00
Katy Coe
071b1efa67
C++: Generate Il2CppClass definitions for enum and array types
2020-07-19 15:43:50 +02:00
Katy Coe
2b1aff5bd1
C++: Preserve function name in CppFnPtrType.FromSignature
2020-07-18 03:32:23 +02:00
Katy Coe
ef043383fc
AppModel: Handle .NET unmapped pointer type definitions
2020-07-14 16:56:30 +02:00
Katy Coe
6e796a200f
AppModel: Generate composite type mappings
2020-07-13 19:52:04 +02:00
Katy Coe
fdf198084f
C++: Fix regression causing string literals to not be given a type in IDAPython output
2020-07-13 19:50:38 +02:00
Katy Coe
20d0ffcdfe
AppModel: Move C++ type ordering to model
2020-07-13 17:55:32 +02:00
Katy Coe
3c4908c470
Fix fatal crash in Unity version parsing for non-English locales
2020-07-12 19:33:04 +02:00
Katy Coe
873a6c98f6
AppModel: First iteration of ApplicationModel API
...
Integrate with C++ scaffolding
Add new tests
Rename Il2CppModel to TypeModel
Incomplete IDAPython integration
CLI and GUI support
Update README.md
2020-07-09 03:48:50 +02:00
Katy Coe
72e8bb352c
Satan is happy with our progress
2020-07-05 13:24:54 +02:00
Katy Coe
3db319711c
C++: Many small quality-of-life code improvements
2020-07-05 04:02:43 +02:00
Katy Coe
2412da4f8b
C++: Add boilerplate for CppApplicationModel
2020-07-04 23:41:30 +02:00
Katy Coe
6c6f72618a
C++: Split CppType, CppField, CppTypes into separate files
2020-07-04 17:10:09 +02:00
Katy Coe
e3043f63c4
C++: Implement "o" string format for offsets and sizes
2020-07-04 16:52:19 +02:00
Katy Coe
dd47ed7203
C++: Properly implement function pointers + tidying up / minor fixes
2020-07-04 16:14:36 +02:00
Katy Coe
91b93f3263
C++: Implement enums
2020-07-04 13:03:23 +02:00
Katy Coe
a9d002fd78
C++. Compatibility fixes for release 2020.1
2020-07-04 02:30:50 +02:00
Katy Coe
4ca640d551
C++: CppTypes add enumerators & indexers, flattened fields, force sorting, update test
2020-07-04 02:30:50 +02:00
Katy Coe
46f2b9eb53
C++: Fix FromUnityVersion not forwarding wordSize
2020-07-04 02:30:50 +02:00
Katy Coe
9e72412230
C++: Handle function pointers
2020-07-04 02:30:50 +02:00
Katy Coe
9ee8065d57
C++: Fix assembly resource location bug
2020-07-04 02:30:50 +02:00
Katy Coe
8a85acb242
C++: Various tweaks
...
Indent output
Handle bool fields
Skip comments and methods
Check that every line that matters is parsed
Update test to check every Unity version
2020-07-04 02:30:50 +02:00
Katy Coe
8f56aea002
C++: Handle #ifdef IS_XXBIT, allow word size argument
2020-07-04 02:30:49 +02:00
Katy Coe
14b7d09e9d
C++: Handle comma-separated fields
2020-07-04 02:30:49 +02:00
Katy Coe
b38a348709
C++: Handle enum prefix in field
2020-07-04 02:30:49 +02:00
Katy Coe
727cabe0db
C++: Parse __attribute((aligned(X)))
2020-07-04 02:30:49 +02:00
Katy Coe
f6e4c6eb09
C++: Parse array fields
2020-07-04 02:30:49 +02:00
Katy Coe
630b0a771d
C++: Implement bitfields
2020-07-04 02:30:49 +02:00
Katy Coe
29c9514fdf
C++: Handle unsigned/volatile, improve output, typedefs, regexes
2020-07-04 02:30:49 +02:00