Katy Coe
fd0b3ec797
CLI: Add JSON output option (--json-out / -o)
2020-08-02 22:28:55 +02:00
Katy Coe
19a5b3735b
Update TestRunner and update-expected-results.ps1
2020-08-02 22:19:31 +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
4ae6772f5a
C++: Remove windows.h macros/types from reserved words list
2020-08-01 05:24:07 +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
adb8594620
C++: Don't output enum underlying types (C compat)
2020-07-28 02:20:53 +02:00
Katy Coe
a9661da14f
GUI: Enable drag & drop for all file combinations
2020-07-27 22:14:55 +02:00
Katy Coe
2459bcb4a6
IL2CPP: Add registration structs search via data heuristics
2020-07-27 21:16:44 +02:00
Katy Coe
a621e20b62
Metadata: Add static Sizeof helper
2020-07-27 21:11:43 +02:00
Katy Coe
613747fc9a
Implement mapping from file offset to virtual address (all file formats)
2020-07-27 21:10:59 +02:00
Katy Coe
8b2c254235
Tests: Update expected results
2020-07-25 17:24:39 +02:00
Katy Coe
9865813b96
Update README.md
2020-07-25 16:55:48 +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
cf6b64e0d2
C++: Add PlatformInformation and LoadResource as reserved symbols
2020-07-25 16:55:16 +02:00
Katy Coe
271a85b7f1
C++: Fix incorrect variable declaration of VirtualInvokeData struct for 5.3.6-5.4.6
2020-07-25 16:54:52 +02:00
Katy Coe
dd5a4a29e7
Tests: Update expected results
2020-07-25 16:04:43 +02:00
Katy Coe
87519ba66f
Unity: Fix select only matching APIs in discovery instead of all in total version range
2020-07-25 15:54:18 +02:00
Katy Coe
cdc02cb475
Tests: Update UnityVersions test
2020-07-25 15:30:57 +02:00
Katy Coe
de73cfe8c3
Unity: Add headers for Unity 2020.1.0
2020-07-25 14:55:03 +02:00
Katy Coe
1240fe3647
Unity: Fix types/API header version mismatch when binary is missing exports
2020-07-25 14:50:09 +02:00
Katy Coe
4473a5225c
Unity: Update type header names for 2018.4.25 and 2019.4.5
2020-07-25 05:09:47 +02:00
Katy Coe
f7263c8388
Unity: Fix incorrect API header name version ranges
2020-07-25 05:09:14 +02:00
Katy Coe
b075821092
Unity: Fix crash in GetTypeHeaderText() when VersionRange.Max is null (no upper bound)
2020-07-25 04:13:31 +02:00
Katy Coe
48005b4093
C++: Fix enum int top bit set compile errors in VS <= 2017
2020-07-24 17:41:40 +02:00
Katy Coe
cd75d5e877
C++: Add 'Sleep' as a reserved keyword
2020-07-24 17:40:30 +02:00
Katy Coe
d09d53cc67
Tests: Target MSVC for C++ projects
2020-07-24 17:24:37 +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
9966af0e73
AppModel: Prefer the latest Unity header versions instead of the earliest
2020-07-24 17:01:55 +02:00
Katy Coe
8bb40d98b2
Unity: Try really hard to find the best IL2CPP API header match for the binary
2020-07-24 17:01:13 +02:00
Katy Coe
e0a6c8746e
AppModel: Only populate API exports existing in both the binary and selected API header
2020-07-24 16:32:34 +02:00
Katy Coe
336648e8bf
C++: Enums with default underlying type did not respect 32/64-bit architecture size
2020-07-24 16:23:36 +02:00
Katy Coe
7e9c6b1ee0
AppModel: Implement APIExports with CppFnPtrType
2020-07-23 02:28:18 +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
53909c539c
C++: Improve parsing of #defines, #ifdefs, #ifs, function pointers
2020-07-21 16:20:44 +02:00
Katy Coe
3fd97649e6
IL2CPP: Ignore API exports starting "il2cpp_z_"
2020-07-21 16:19:47 +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
a4d3ae8dc9
Tests: Update expected results
2020-07-20 20:19:33 +02:00
Katy Coe
64fbee92b0
Tests: Fix copy il2cpp-types.h from wrong location in update-expected-results.ps1
2020-07-20 20:18:45 +02:00
Katy Coe
83e94ebf28
Unity: Fix missing VirtualInvokeData for 5.3.6-5.4.6
2020-07-20 18:56:32 +02:00
Katy Coe
e37de64839
AppModel/C++: Fix regression in handling of C# primitive pointer types
2020-07-20 18:15:41 +02:00