Commit Graph
143 Commits
Author SHA1 Message Date
Sam Byass f1094bf1cb Decompiler: Method RGCTX, better array support, detect unknown generics via adjustor thunks 2026-08-08 23:30:42 +01:00
BiscuitDev b20ca0d04f Lib: Fix v106 (#590) 2026-07-28 10:58:12 +01:00
Sam Byass 17bcb005f7 Core+Lib: Stop using Il2CppTypeReflectionData in most places, it's not a good data type.
Also fixes silent coercion of SZArray types to Array[1] in various places in analysis
2026-07-25 16:21:39 +01:00
Sam Byass 01c1748426 Lib: v107 and v108 support. Fix v106.1 support. 2026-07-19 17:52:46 +01:00
Sam Byass 18bbf0d5a3 chore: Code cleanup 2026-07-04 19:58:38 +01:00
Mahmoud Rusty Abdelkader 2a7fbfe53a Fix NullReferenceException reading exported types on metadata v24.0 (#568) 2026-07-04 19:40:51 +01:00
ada-l0velace 1d66cb3812 Diffable fieldrva literals (#572) 2026-07-04 19:40:12 +01:00
Jeremy Pritts 5d99a946db Fix some build warnings (#562) 2026-06-20 17:16:08 +01:00
Aaron Robinson 9b6e67d1f9 Add support for exported type definitions (#554) 2026-06-08 00:08:33 +01:00
Sam Byass 9af44d53a0 Fix 106.1 support 2026-06-07 23:17:50 +01:00
Sam Byass 70164e0ea9 Speculative v106.1 support 2026-06-07 23:02:27 +01:00
Xpl0itR 9f6b2f6d76 Remove static mutable state from LibCpp2IL 2: Electric Boogaloo (#542) 2026-06-07 14:14:35 +01:00
Xpl0itR 653a683fd2 Add index/offset accessors to Il2CppMetadata
Introduce utility accessors to Il2CppMetadata for retrieving entries by index or by offset. Adds methods for nested type indices, interface indices, property definitions, method definitions, and field definitions (both index- and offset-based), complementing existing range helpers and reducing manual index arithmetic when parsing metadata.
2026-03-16 12:54:13 +00:00
Sam Byass c16ead4916 Lib: Fixes to v104-v106 impl
Closes #522
2026-02-28 15:47:46 +00:00
ds5678 62eff2b552 Remove implicit operator 2026-02-26 19:40:54 +00:00
ds5678 c79bc4c910 Add implicit conversion operator from Il2CppVariableWidthIndex<T> to int 2026-02-26 19:40:54 +00:00
Sam Byass 58fc404ac5 lib: Add debug assert to ensure the bug with a missing dynamic index doesn't happen again 2026-02-15 13:33:19 +00:00
Sam Byass 4672b69a08 lib: Fix enum base type handling on v35+
Fixes #519. Fixes #518
2026-02-15 13:19:07 +00:00
Sam Byass afb36079e2 lib: Fix issue on v38+ when Il2CppType index width is not 32 bits.
Fixes #517
2026-02-15 12:58:28 +00:00
Sam Byass 8c34e0497a lib: (untested) support for v105 + v106 2026-02-14 21:29:07 +00:00
Sam Byass 281ce3fe95 lib: (untested) support for v104 2026-02-14 20:37:53 +00:00
Sam Byass e7ef9fa0d5 Lib: Support v35, v38, v39 2026-02-14 17:41:57 +00:00
ds5678 5e7e18b7b6 Fix warnings 2025-12-24 14:22:57 +00:00
ds5678 a80030c838 Use + to separate a declaring type and a nested type in full name 2025-06-01 17:20:36 +01:00
ds5678 717c40a73c Support injecting anything
* Nested types
* Events
* Properties
* Assemblies

Support additional metadata in injected assemblies

Make setter for TypeAnalysisContext::OverrideBaseType public

TypeAnalysisContext::InterfaceContexts as list rather than array

Fix sign bug

Support generic parameters on type contexts and method contexts

Make GenericParameterTypeAnalysisContext instances unique

Revert change to Il2CppGenericParameter::Index

Use attributes to determine if injected methods are static
* Also add hide by sig attribute for injected constructors

Support overrides on injected methods

In ControlFlowGraphOutputFormat, exclude injected assemblies

Ensure injected assemblies can't delete existing assemblies

Backing field on .NET Standard for injected method overrides

Implement requested change
2025-05-15 19:16:23 +01:00
Jeremy Pritts e93c0fecc9 Implement some helpers to improve the debugging experience (#437)
* Implement some helpers to improve the debugging experience

* Revisions
2025-04-03 23:09:23 +01:00
Jeremy Pritts 117cc4fd67 Generic Parameter Fixes and Improvements (#433)
* Fix GenericParameterTypeAnalysisContext::Index when created from Il2CppTypeReflectionDataToContext
* Add Il2CppTypeReflectionData::GenericParameter
* Add properties to Il2CppGenericParameter
2025-03-28 23:35:15 +00:00
Sam Byass e4ffa0b69e Fix: Incorrect Il2CppTypeEnum for primitive type contexts
Closes #424
Closes #423
2025-03-17 20:51:28 +00:00
Sam Byass 9c49f88992 i may be stupid 2025-02-26 04:03:51 +00:00
Sam Byass fae0f9548a Lib: Fix support for 2021.3.40+
Closes #317
2025-02-25 16:27:04 +00:00
Jeremy Pritts 0749353ae8 Fix explicit interface method overrides (#414) 2025-02-24 16:27:23 +00:00
Sam Byass c91170a739 Fix issues from previous commits 2024-12-13 22:40:55 +00:00
Sam Byass 9bb6f0d0b9 Keep the unity version around and expose it in app context 2024-12-13 22:31:02 +00:00
Sam Byass ea00fc3adf Factor out some usage of static state 2024-12-13 22:29:28 +00:00
Jeremy Pritts ac99859aff String Public Key (#395)
* Handle public key being string on older versions

* Update version comment

* One more comment
2024-12-13 16:27:23 +00:00
Sam Byass d297c56a8b Lib: Improve perf of MetadataUsage#IsValid 2024-12-12 23:54:00 +00:00
Jeremy Pritts 896d6c3125 Set AssemblyDefinition::PublicKey when generating AsmResolver assemblies (#390) 2024-12-11 23:31:00 +00:00
Jeremy Pritts e454c5506f Add Il2CppFieldDefinition::DeclaringType (#348) 2024-10-19 20:29:49 +01:00
commonuserlolandcommonuserlol 0fc6a653cc LibCpp2IL: Return empty array if number of read elements is 0 (#345)
Co-authored-by: commonuserlol <[email protected]>
2024-09-29 20:40:50 +01:00
Sam Byass 2f8e5b3fcb Core: A bunch of changes to WASM sig calculation.
This still doesn't work properly. Make it make sense. Please.
2024-09-25 00:30:11 +01:00
Sam Byass 6d5d326690 Lib: v29.2 doesn't exist. And never did. 2024-09-01 00:02:24 +01:00
Sam Byass 059ab924e7 Standardise code formatting across entire repo 2024-08-25 00:19:11 +01:00
thegu5 b993b3eef8 bump language versions, use collection expressions and file-scoped namespaces 2024-08-21 09:15:53 +00:00
Sam Byass be1084f96f Lib: Also fixed bug in 29.2 handling 2024-06-24 16:43:14 +01:00
Sam Byass 959cda15f8 Lib: V31 doesn't have isUnmanagedCallersOnly, yet 2024-06-24 16:40:38 +01:00
Sam Byass 3d1cea6be2 Lib: Support v31. 2024-06-24 16:35:07 +01:00
Sam Byass e45cbda018 Lib: Support metadata 29.2 now that it's been dumped 2024-06-02 17:09:02 +01:00
Sam Byass 5fa8dddaf6 Remove VersionAwareSizeOf. Closes #243 2023-12-31 23:38:33 +00:00
Jeremy Pritts 6a4658a8ec Bump AssetRipper.Primitives (#244) 2023-12-31 14:39:13 +00:00
Jeremy Pritts 7d8d90f347 Use Assetripper.Primitives (#227) 2023-07-12 19:08:26 +01:00