Commit Graph

133 Commits

Author SHA1 Message Date
LukeFZ
d43157cab5 29/31.2 don't actually exist, this logic is not needed 2024-11-14 14:29:06 +01:00
LukeFZ
97cbf243b5 Merge refactored-versioning into master 2024-11-14 14:27:14 +01:00
LukeFZ
3982e5fd99 Make field offset reading use TryMapVATR to reduce exceptions 2024-11-09 15:43:39 +01:00
LukeFZ
08431b774a Fix metadata usage issues caused by it being a value type now 2024-11-08 23:33:13 +01:00
LukeFZ
d59f67216a support auto-recovering type indices from type handles
fixes loading of memory-dumped v29+ libraries since those replacee their class indices on load with a pointer to the corresponding type
2024-10-13 21:54:59 +02:00
LukeFZ
7632ff2283 29/31.2 was a psyop 2024-09-01 02:01:34 +02:00
LukeFZ
1a12cf5081 tweak .1 condition (again) 2024-08-30 20:23:17 +02:00
LukeFZ
e6c51b47d6 rework code registration offsetting a bit and add second 29/31.1 condition 2024-08-24 22:55:35 +02:00
LukeFZ
5b0476fcc5 add remaining 31.1/31.2 versioning conditions 2024-08-18 23:23:32 +02:00
LukeFZ
4ce4d0e799 backport 29/31 version fixes from new versioning branch 2024-08-18 23:20:49 +02:00
LukeFZ
5d827fe881 fix metadata usage validity checks 2024-08-18 22:40:29 +02:00
LukeFZ
a7081ccfa9 move 29/31.1/.2 to use tags (-2022,-2023) instead of minor versions 2024-08-18 22:40:14 +02:00
LukeFZ
43d7433e12 Rework metadata struct loading to use new struct versioning 2024-08-17 13:52:09 +02:00
LukeFZ
6c59434984 rename serialization methods and add BinaryObjectStreamReader for interop 2024-08-14 01:00:32 +02:00
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
LukeFZ
87766f6f96 Add support for metadata version 29.2 and 31 2024-06-24 18:41:14 +02:00
Luke
396c222ac5 Tweak 29.1 heuristic 2024-06-24 14:18:49 +02: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
7120970ece Use actual size of static array initializers 2023-12-01 08:14:12 +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
40201d6e84 Load tokens from AttributeDataRanges for v29 2023-11-30 21:38:06 +01:00
LukeFZ
d7067225fe fix Il2CppType definition for 27.2+ (better) 2023-11-30 21:37:17 +01:00
LukeFZ
ef1a5d1e83 Add BlobReader, fix Il2CppType for 27.2+ 2023-11-30 13:31:37 +01:00
LukeFZ
a4528e5f55 Add FieldRva MetadataUsage type and fix current heuristic 2023-11-30 05:15:01 +01:00
LukeFZ
a24fcb50bd use different late binding and image scan implementations 2023-11-29 21:34:49 +01:00
LukeFZ
8ffc7e0021 Add stuff for v29 2023-11-29 21:32:43 +01:00
LukeFZ
a6d9291303 add classes for ver 29, fix some stuff for v24 2023-11-29 21:22:51 +01:00
LukeFZ
e3e0382e8c forgot to commit the pointerSize decl 2023-11-29 21:20:26 +01:00
LukeFZ
96e466743d Fix 24.5 compatibility, check metadata from data first since thats more common now 2023-11-29 21:16:43 +01:00
Katy Coe
0844d4b6bd IL2CPP: Fix regression in Metadata.Sizeof relating to #148 2021-04-12 18:59:33 +02:00
Katy Coe
98157c99ed IL2CPP: Handle metadata v24.5 (Unity 2019.4.21-2019.4.24) (#148) 2021-04-12 17:53:31 +02:00
Katy Coe
0b3d065180 IL2CPP: Update struct layout for v24.5 (#148) 2021-04-12 17:22:15 +02:00
Katy Coe
55401a447f Formats: Don't crash on secondary load strategies with existing type mappings (#140) 2021-02-23 23:44:07 +01:00
Sam Byass
d8e9c60190 IL2CPP: Add metadata 27.1 structure layout (#139) 2021-02-16 12:48:06 +01:00
Katy Coe
cc0a0718df IL2CPP: Add basic validation to found CodeGenModule pointer (#137) 2021-02-12 14:04:30 +01:00
Katy Coe
f555ce40ff IL2CPP: Fix binary validation bug (typeDefinitionsSizes) 2021-01-15 16:33:27 +01:00
Katy Coe
c56bd26e4b IL2CPP: Abstract binary field order reconstruction to plugin 2021-01-12 14:31:14 +01:00
Katy Coe
5c66889e52 IL2CPP: Abstract metadata string decryption to plugin 2021-01-12 12:16:01 +01:00
Katy Coe
538078fcea IL2CPP: Add core plugin update reminder on failure 2021-01-12 12:10:07 +01:00
Katy Coe
c4cf6bb39c IL2CPP: Fix regression in TryPrepareMetadata 2021-01-12 12:09:44 +01:00
Katy Coe
c94fec41d7 IL2CPP: Abstract API export name decryption to plugin 2021-01-12 04:48:44 +01:00
Katy Coe
930b00f588 IL2CPP: Add plugin warning when failing to analyze 2021-01-12 01:10:30 +01:00
Katy Coe
52f477698e IL2CPP: Fix off-by-1 pointer error in non-PE x86/64 files (#123) 2021-01-11 19:13:28 +01:00
Katy Coe
71be0f2af2 Update year in copyright messages 2021-01-04 05:26:43 +01:00
Katy Coe
0ce0bbe74d Plugins: Add PreProcessBinary, PostProcessBinary, PostProcessAppModel 2020-12-29 21:32:54 +01:00
Katy Coe
14e80c3022 IL2CPP: Add statusCallback to LoadFromPackage and LoadFromFile 2020-12-26 22:41:38 +01:00
Katy Coe
e929d8d97e Plugins: Add LoadPipelineStarting / LoadPipelineEnding, rename IsHandled to FullyProcessed 2020-12-25 22:29:31 +01:00
Katy Coe
7f755d2282 IL2CPP: Allow more reversePInvokeWrappers (#117) 2020-12-24 05:08:19 +01:00