Commit Graph

92 Commits

Author SHA1 Message Date
Katy Coe
b327fdf341 C#: Fix indexer name corruption if length was not 4 characters 2020-09-09 14:13:50 +02:00
Katy Coe
f3ae5e79f2 JSON: Add arrayMetadata entry (currently Il2CppCodeGenModule *[]) 2020-09-06 05:23:57 +02:00
Katy Coe
e341f8886b Python: Allow creation of typed arrays in IDA and Ghidra 2020-09-06 05:23:28 +02:00
Katy Coe
fd4e61bacd AppModel/C++: Unused concrete value types were not included 2020-09-05 11:42:58 +02:00
Katy Coe
671e028e37 Python: Don't use built-in 'type' as parameter name 2020-09-02 09:11:25 +02:00
Katy Coe
1368d06170 Python: Support Python 3 (for IDA 7.4+) (#57) 2020-09-02 09:10:19 +02:00
Katy Coe
dde0b74831 C++: Don't overwrite contents of user/main.* in scaffolding 2020-09-02 05:02:48 +02:00
Katy Coe
da1316586a IDA: Fix failure to process C header if script and binary folders differ 2020-09-02 04:51:07 +02:00
Katy Coe
5828ed106b Model/C#: Provide FieldHasRVA flag; output metadata preview for static array initializer implementations (#59) 2020-08-22 03:14:11 +02:00
Katy Coe
2024a3bfac AppModel: Add WordSizeBytes; tidy up a bit 2020-08-17 02:49:01 +02:00
Katy Coe
ae44e2fce7 Python: Apply typed IL2CPP API function signatures to disassembly 2020-08-16 22:43:35 +02:00
Katy Coe
d892423829 JSON: Write APIs with full C++ signatures 2020-08-16 22:43:07 +02:00
Katy Coe
dcafd81ed2 JSON: Write all exports, not just API export symbols 2020-08-16 22:26:42 +02:00
Katy Coe
99a7e2e8cb C#: Output async keyword for async methods (and suppress AsyncStateMachine) 2020-08-14 03:33:41 +02:00
Katy Coe
f08cfd573c C#: Output DefaultMemberAttribute if the type doesn't have an indexer 2020-08-14 03:20:56 +02:00
Katy Coe
ca55125858 Rename AppModel.ILModel to AppModel.TypeModel 2020-08-14 02:18:53 +02:00
Katy Coe
0f3b31749b AppModel: Rename AppType.ILType to AppType.Type for consistency 2020-08-14 02:01:37 +02:00
Katy Coe
ea8a18353a Model: Change CustomAttributeData.VirtualAddress to be non-nullable 2020-08-09 20:44:13 +02:00
Katy Coe
e2289fb9c0 AppModel: Include all binary symbols in model 2020-08-09 19:54:43 +02:00
Katy Coe
47de0ff56f JSON: Output symbol data 2020-08-09 00:30:31 +02:00
Katy Coe
c97bd7054e JSON: Write all exports in metadata file 2020-08-08 21:39:40 +02:00
Katy Coe
567bbd2706 Script: Rename IDAPythonScript to PythonScript 2020-08-06 05:21:55 +02:00
Katy Coe
b5a70d94fd Script: Allow script target API to be passed as argument 2020-08-06 05:20:20 +02:00
Katy Coe
25d5a68755 Script: Auto-detect available script targets (GetAvailableTargets) 2020-08-06 05:16:44 +02:00
Katy Coe
da61933788 Ghidra: Ensure function names are set correctly in all cases 2020-08-06 04:49:53 +02:00
Katy Coe
beb859128c Ghidra: Only reset image base to zero for ELF binaries 2020-08-04 05:44:08 +02:00
Katy Coe
eb55e5b527 AppModel/C++/JSON/Script: Don't output generic method definitions (no compiled code) 2020-08-04 05:14:19 +02:00
Katy Coe
5c2e06daee IDA: Refactor to use universal script and JSON metadata 2020-08-04 02:32:16 +02:00
Katy Coe
dea29751ef Add embedded resources for universal script handling (ScriptResources) 2020-08-04 01:52:43 +02:00
Katy Coe
160569f239 JSON: Fix il2cpp_codegen_register signature for Unity < 5.3.5 2020-08-04 01:52:07 +02:00
Katy Coe
64860d9c03 JSON: Replace array of pointer *[x] with * * in Il2CppCodeGenModule (Ghidra fix) 2020-08-04 00:50:30 +02:00
Katy Coe
5bb879a676 JSON: Disable comments by default; re-factor handling of string literals 2020-08-03 22:11:40 +02:00
Katy Coe
8926af341f JSON: Add initial JSONMetadata output module (with address map) 2020-08-02 21:21:57 +02:00
Katy Coe
2ab43c41c9 IDA: Separate comment types and function/field types 2020-08-01 18:58:54 +02:00
Katy Coe
c22227441e C++: Output .vcxproj.filters file for solution folder structure 2020-08-01 17:03:44 +02:00
Katy Coe
8372afd619 C++: Rename il2cpp-api-functions-ptr.h and il2cpp-types-ptr.h 2020-08-01 16:56:11 +02:00
Katy Coe
5c97202d8e C++: Significant iteration of scaffolding output (see commit description)
Generate pre-compiled headers for IL2CPP types and functions
Resolved naming conflicts with functions and macros from windows.h
IL2CPP app functions and TypeInfos were incorrectly placed in global namespace instead of 'app'
Added /MP compiler option (multi-processor compilation)
Split source files into folders
Move GetBaseAddress() into helpers.cpp
Add NewConsole() to helpers.cpp
Move init_il2cpp() from IL2CPP declarations header to own source file
Refactor some header files for consistency and duplicate elimination
2020-08-01 05:23:44 +02:00
Katy Coe
792cdc8711 IDA: Fix backslash escaping in C++ header path include 2020-08-01 05:07:22 +02:00
Katy Coe
c6175989cf C++: Add #pragma to disable MSVC C4309 enum truncation warnings 2020-08-01 03:35:07 +02:00
Katy Coe
0bfc5750ad IDA: Abstract idc.set_cmt into SetComment 2020-07-29 01:34:36 +02:00
Katy Coe
7b9c28fdf3 IDA: Don't produce C type header file if it's already available 2020-07-28 19:23:53 +02:00
Katy Coe
4978348d8f C++/IDA: Output text files as ASCII instead of UTF8 (Ghidra fix) 2020-07-28 04:13:43 +02:00
Katy Coe
867ddea168 IDA: Separate type declarations into own header file 2020-07-28 02:40:47 +02:00
Katy Coe
7fa80a4848 C++: Allow il2cpp-types.h to be output independently; include conditional disassembler pre-amble 2020-07-28 02:26:15 +02:00
Katy Coe
59f5083235 C++: Add #pragma to disable MSVC C4369 enum range warnings 2020-07-25 16:55:40 +02:00
Katy Coe
44a5fe009a C++: Output il2cpp-api-functions.h with unavailable exports elided 2020-07-24 17:20:37 +02:00
Katy Coe
deeb8daa97 Unity/C++: Significant re-factoring of Unity header management (see description)
Extract resource handling to UnityResource
Add API header resource helpers
Fix UnityVersion ToString() when Min == Max
Replace fixed list of Il2Cpp header reserved names with parsed names from actual selected headers (solves TypeInfo/MemberInfo problems in 5.3.0-5.3.4 (metadata v16-20))
Use CppDeclarationGenerator when initializing CppTypeCollection to ensure all Il2Cpp header symbols are reserved
Process API headers in CppTypeCollection.FromUnityHeaders
Move #define IS_32BIT handling to UnityHeaders
Update tests
2020-07-22 19:01:33 +02:00
Katy Coe
2f3b0d7276 AppModel/IDA: Typed MethodInvokers for 5.3.0-5.6.7 don't use Il2CppMethodPointer 2020-07-20 22:48:40 +02:00
Katy Coe
ccb401bb12 IL2CPP: Add Binary.GetAPIExports() 2020-07-20 17:09:19 +02:00
Katy Coe
386a666fff C++: Output DLL injection boilerplate project 2020-07-19 15:44:26 +02:00