Commit Graph

441 Commits

Author SHA1 Message Date
Katy Coe
9ba0498d9b Model: Add GetType() and GetGenericMethod() convenience functions 2020-02-02 22:39:42 +01:00
Katy Coe
60202e72a5 Tests: Update expected results (improved method end address detection) 2020-02-02 09:42:55 +01:00
Katy Coe
57451de036 Model: Eliminate stream reads and duplicate TypeInfos from GetTypeFromVirtualAddress 2020-02-02 09:36:23 +01:00
Katy Coe
b73885ca8e Model: Correctly resolve metadata MethodRefs (affects IDA output) 2020-02-02 07:21:22 +01:00
Katy Coe
21e77b7965 IL2CPP: Implement GetGenericMethodPointer and VirtualAddress for concrete generic methods from MethodSpecs 2020-02-02 07:20:02 +01:00
Katy Coe
63eb2562b7 IL2CPP: Add concrete generic method pointers to function address list 2020-02-02 06:51:43 +01:00
Katy Coe
25e35be59f Model: Temporary hack to ensure concrete type parameter substitution works 2020-02-02 06:47:37 +01:00
Katy Coe
f715586b3b IL2CPP: Process Il2CppGenericMethodFunctionsDefinitions and Il2CppGenericMethodIndices 2020-02-02 06:45:52 +01:00
Katy Coe
7b1d46644d Model: Generate ConstructorInfo for generic class constructors from MethodSpecs 2020-02-02 05:17:47 +01:00
Katy Coe
63fb345bb1 Model: Include TypesByMethodSpecClassIndex in Model.Types 2020-02-02 04:54:24 +01:00
Katy Coe
759a77031e Model: Substitute concrete parameter types into generic methods from MethodSpecs 2020-02-02 04:45:43 +01:00
Katy Coe
d2cb63dc95 Model: Add basic concrete generic method definitions from MethodSpecs 2020-02-02 03:57:19 +01:00
Katy Coe
e33206a360 Model: Add basic concrete generic types from MethodSpecs 2020-02-02 03:00:06 +01:00
Katy Coe
cfb384e22a Tests: Add generic method unit tests 2020-02-02 01:07:19 +01:00
Katy Coe
6f830fd909 Tests: Update TestNames for new internal generic method signatures 2020-02-02 01:06:14 +01:00
Katy Coe
e4ef5471af Model: Fix incorrect behaviour of MethodBase.IsConstructedGenericMethod and IsGenericMethodDefinition 2020-02-02 01:04:57 +01:00
Katy Coe
9658d4475a Model: Show generic method parameters in internal full type strings 2020-02-02 00:11:14 +01:00
Katy Coe
e60f1ef89b Model: Implement various generic method properties 2020-02-01 23:42:51 +01:00
Katy Coe
f04604edc7 Tests: Include array of derived closed generic type in GenericTypes 2020-01-30 08:00:58 +01:00
Katy Coe
007779df62 Model: Don't return duplicates or nulls in Model.Types
Prevents duplicates appearing in IDA Python script
2020-01-30 07:57:38 +01:00
Katy Coe
37f1c49828 Model: Ensure all TypeRefs are initialized with the model
Ensures that all types are output in the IDA Python script
Includes TypeRefs that aren't used in any type definition or member
2020-01-30 07:54:45 +01:00
Katy Coe
a1e332620c Move FileFormatReader.cs and Il2CppModel.cs 2020-01-30 06:44:03 +01:00
Katy Coe
9220799d56 Model: Fix ContainsGenericParameters behaviour for element types etc. 2020-01-30 06:32:31 +01:00
Katy Coe
a640d866ae Model: Types from TypeRefs should not have a definition or index 2020-01-29 10:20:36 +01:00
Katy Coe
a338196057 Model: Introduce TypeInfo.GetGenericArguments(), refactor handling 2020-01-29 10:14:41 +01:00
Katy Coe
871c368e49 Model: Implement GenericParameterPosition for TypeRefs 2020-01-29 08:46:46 +01:00
Katy Coe
a7027c886e Minor tidying up 2020-01-28 05:57:24 +01:00
Katy Coe
feed8aa378 IL2CPP: Load generic type/method instantiation signatures 2020-01-28 04:25:05 +01:00
Katy Coe
aafbfc946d IL2CPP: Fix incorrect resolution of FieldRefs in MetadataUsages 2020-01-28 00:30:47 +01:00
Katy Coe
8a27b45775 IDA: Output string literals correctly 2020-01-27 06:41:18 +01:00
Katy Coe
f41a98fc7c IL2CPP: Fix loading incorrect number of metadata usages 2020-01-27 06:20:58 +01:00
Katy Coe
d0583e83b7 Model: Handle string literals in GetMetadataUsageName 2020-01-27 02:55:26 +01:00
Katy Coe
9e6c7ccd36 IL2CPP: Load managed code string literals 2020-01-27 01:10:33 +01:00
Katy Coe
8e4859b563 Il2CPP: Don't attempt to read metadata usages on version < 19 2020-01-27 01:10:10 +01:00
Katy Coe
d9cedeca15 IL2CPP: Refactor metadata usage name discovery 2020-01-26 23:00:56 +01:00
Katy Coe
274f61d605 Minor re-factoring 2020-01-26 22:18:29 +01:00
Katy Coe
90f563f8d2 Output: Tidy up Il2CppIDAScriptDumper 2020-01-26 22:08:07 +01:00
Katy Coe
e75f3931fa Add copyright comments to Il2CppIDAScriptDumper.cs 2020-01-26 21:55:59 +01:00
Katy Coe
e2490fce44 Fix no IDA output when creating a Visual Studio solution 2020-01-26 21:54:28 +01:00
Katy Coe
ae5c2bee99 Fix C# code benchmark timing regression 2020-01-26 21:53:22 +01:00
Katy Coe
5a3e4d85ac Clarify IL2CPP image error message meaning 2020-01-26 21:46:20 +01:00
Katy Coe
eb930876a1 Update README.md 2020-01-26 21:44:05 +01:00
Katy Coe
248e49ead3 Update product info and add banner 2020-01-26 21:42:06 +01:00
Carter Bush
8045f2cfd7 Output: IDA Python script generation
IL2CPP: Implement MetadataUsages
2020-01-26 21:34:48 +01:00
Katy Coe
89a0b2e97f Update README.md 2020-01-21 04:01:32 +01:00
Katy Coe
024b390f25 Output: Suppress global::Locale when using --must-compile 2020-01-21 03:30:22 +01:00
Katy Coe
4c29821ee0 Add UnityEditor and JetBrains.Annotations to default ignored namespaces 2020-01-21 02:42:21 +01:00
Katy Coe
ff90ab7c96 Output: Add <ProjectReference> elements in .csproj files 2020-01-21 02:38:45 +01:00
Katy Coe
f01c20570b Output: Create Visual Studio .csproj files when using --project (Project References are not currently resolved) 2020-01-21 01:44:47 +01:00
Katy Coe
a136f49603 CLI: Add --unity-path and --unity-assemblies options 2020-01-20 23:11:30 +01:00