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
Katy Coe
f7d2dd6e2d
C++: Output method pointers and signatures
2020-07-18 21:47:33 +02:00
Katy Coe
6d50ab7546
C++: Output Il2CppClass* (TypeInfo) pointers
2020-07-18 21:23:23 +02:00
Katy Coe
7124149fef
C++: Output IL2CPP API function pointers
2020-07-18 19:47:45 +02:00
Katy Coe
632d1d2d9b
C++: Generate output in a folder
2020-07-18 19:18:08 +02:00
Katy Coe
f5e5037a9b
AppModel: Add AppType.Name
2020-07-18 03:54:54 +02:00
Katy Coe
307cf29dcd
C++: Re-factor custom attribute generator signature handling
2020-07-18 03:33:33 +02:00
Katy Coe
d1501db903
IDA: Produced typed RuntimeInvoker methods
2020-07-17 04:29:38 +02:00
Katy Coe
fc313de0b2
IDA: Produce typed CustomAttributesCacheGenerator methods
2020-07-17 03:23:15 +02:00
Katy Coe
8bcdadd7b4
IDA: Tidy up output ordering and titling
2020-07-16 14:43:04 +02:00
Katy Coe
0808fe966a
AppModel: IDA output integration; item groups
2020-07-16 12:37:39 +02:00
Katy Coe
6e796a200f
AppModel: Generate composite type mappings
2020-07-13 19:52:04 +02:00
Katy Coe
20d0ffcdfe
AppModel: Move C++ type ordering to model
2020-07-13 17:55:32 +02:00
Katy Coe
873a6c98f6
AppModel: First iteration of ApplicationModel API
...
Integrate with C++ scaffolding
Add new tests
Rename Il2CppModel to TypeModel
Incomplete IDAPython integration
CLI and GUI support
Update README.md
2020-07-09 03:48:50 +02:00
Katy Coe
117a440b58
Outputs: Fix C++ output crash for il2cpp versions <19
2020-07-02 20:08:53 +02:00
Katy Coe
24e4c65c4c
Outputs: Add MSVC/GCC option to CppScaffolding and CLI
2020-07-02 15:18:15 +02:00
Katy Coe
c59245ec56
Outputs: Add C++ output module
2020-07-02 14:21:40 +02:00
Katy Coe
23db04c369
Minor re-organization
2020-06-30 00:13:18 +02:00
Robert Xiao
9e455fdabe
Renaming for clarity.
...
Renamed the class CppDeclarations => CppDeclarationGenerator to better reflect
its function and emphasize its statefulness.
Renamed Visit{Type,Method} => Include{Type,Method} to clarify that these methods
include the type or method into the generator state.
Renamed GenerateVisitedTypes => GenerateRemainingTypeDeclarations to clarify
that it outputs *remaining* declarations, i.e. declarations that haven't been
generated yet.
2020-06-29 22:10:45 +02:00
Robert Xiao
393d26b2a3
Move non-output to new CppUtils namespace
...
We prefer to have the Outputs directory contain just one file or
namespace per output module, so we'll move all C++-related stuff to a
new CppUtils namespace instead.
2020-06-29 22:10:45 +02:00