Commit Graph

472 Commits

Author SHA1 Message Date
Katy Coe
b0a7f303cf GUI: Create project boilerplate 2020-02-08 12:58:54 +01:00
Katy Coe
fe58884c34 Update README.md 2020-02-08 12:55:28 +01:00
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