Commit Graph

470 Commits

Author SHA1 Message Date
Katy Coe
fc7e63c0aa Output: Sanitize C# filenames for invalid characters 2020-02-08 12:55:13 +01:00
Katy Coe
6c66b5534f CLI: Make -i and -m optional 2020-02-08 12:42:12 +01:00
Katy Coe
5652e89abe ELF: Detect and defeat trivial XOR encryption 2020-02-08 12:19:26 +01:00
Katy Coe
b9061e573b Update README.md 2020-02-06 02:52:04 +01:00
Katy Coe
59568aba57 Tests: Update expected results 2020-02-06 02:51:54 +01:00
Katy Coe
e971cb8502 Refactor solution layout 2020-02-06 02:51:42 +01:00
Katy Coe
66b8e30586 Output: Correctly scope type parameters in class declarations 2020-02-06 01:46:31 +01:00
Katy Coe
7d88fd8fc4 Output: Generate dummy constructors when using MustCompile (CS1729, CS7036) 2020-02-05 11:55:39 +01:00
Katy Coe
ed2c0f8ae1 Output: Only create method and constructor bodies if MustCompile is enabled 2020-02-05 11:18:02 +01:00
Katy Coe
3b7b0d8b9d Output: Generate dummy private fields for ref return methods (CS8156) 2020-02-05 11:08:54 +01:00
Katy Coe
3981557601 Output: Don't initialize statics or consts to default in struct constructors (CS0131) 2020-02-05 10:29:08 +01:00
Katy Coe
fdfef84cce Update README.md 2020-02-05 09:26:42 +01:00
Katy Coe
8eb7a0721a IDA: Display progress when executing script 2020-02-05 09:12:42 +01:00
Katy Coe
0402917100 IDA: Generate function boundaries for all known functions 2020-02-05 08:07:00 +01:00
Katy Coe
77ce86e7c1 IDA: Escape strings, add r prefix to names, add metadata output, refactor code 2020-02-05 07:10:56 +01:00
Katy Coe
97238644d4 IL2CPP: Link CodeGenModule names to pointers 2020-02-05 07:09:51 +01:00
Katy Coe
a3ff845727 IL2CPP: Make various initialization pointers available in properties 2020-02-05 06:12:53 +01:00
Katy Coe
b8abfee54f IDA: Include method invokers in output 2020-02-05 05:28:21 +01:00
Katy Coe
ee97261242 IL2CPP/Model: Handle invokers from Il2CppGenericMethodFunctionsDefinitions 2020-02-05 05:21:02 +01:00
Katy Coe
896b3b6f69 Model: Implement MethodInvoker and MethodBase.Invoker 2020-02-03 10:06:53 +01:00
Katy Coe
250e034db8 IL2CPP: Handle method invoker pointers and indices 2020-02-03 10:06:12 +01:00
Katy Coe
01f43af2ab IDA: Add method signature comments to all method output 2020-02-03 00:10:32 +01:00
Katy Coe
a5a79e2bef IL2CPP: Add GetMetadataUsageType() and GetMetadataUsageMethod() 2020-02-02 23:55:11 +01:00
Katy Coe
8a0c912bc5 IDA: Add custom attribute generator function names and addresses 2020-02-02 23:28:45 +01:00
Katy Coe
fd96b02065 IDA: Add concrete generic method names and addresses 2020-02-02 23:19:44 +01:00
Katy Coe
3e69784898 IL2CPP: Eliminate public BinaryMetadataUsages 2020-02-02 23:03:38 +01:00
Katy Coe
c43f92b1e2 Tests: Add generic method MethodSpec tests to TestGenerics 2020-02-02 22:41:18 +01:00
Katy Coe
e0fcd59693 Model: Fix generic method type arguments naming inconsistency with .NET 2020-02-02 22:40:52 +01:00
Katy Coe
07a956f07e Model: Fix DeclaringType doesn't work for concrete generic instances from TypeSpecs 2020-02-02 22:40:28 +01:00
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