Commit Graph

49 Commits

Author SHA1 Message Date
Katy Coe
c0f8e0eb17 GUI: Add load options dialog with ELF image base option 2020-12-12 20:14:48 +01:00
Katy Coe
08c1559222 API: Allow passing of load options to binary loaders 2020-12-11 22:44:48 +01:00
Katy Coe
34819a114d CLI/GUI: Add support for saving processed metadata and binary 2020-12-09 21:55:29 +01:00
Katy Coe
21fa006085 Support XAPKs and ZIPs containing APKs 2020-12-08 18:57:48 +01:00
Katy Coe
e36be6de7d GUI: Show AppModel version and compiler in lightbox 2020-11-26 14:03:47 +01:00
Katy Coe
2afdc8b421 CLI/GUI: Support AAB files 2020-09-17 10:00:47 +02:00
Katy Coe
e384ec226e GUI: Support split APKs 2020-09-12 13:56:23 +02:00
Katy Coe
deba3035fc GUI: Add Select all/none buttons to namespace tree selector 2020-09-09 17:10:08 +02:00
Katy Coe
ca55125858 Rename AppModel.ILModel to AppModel.TypeModel 2020-08-14 02:18:53 +02:00
Katy Coe
7086a8f7ba GUI: Don't lose status handler on multi-image binaries / improve status output 2020-08-07 19:08:07 +02:00
Katy Coe
58cd9abe02 GUI: Don't crash when opening a 2nd binary with no overlapping possible Unity versions 2020-08-07 05:03:26 +02:00
Katy Coe
1a2a5010ea GUI: Regression: Don't forget the selected Unity version range when changing image 2020-08-07 04:57:20 +02:00
Katy Coe
df4b718348 GUI: Add Ghidra Python script output support (and future script targets) 2020-08-06 05:57:30 +02:00
Katy Coe
a81b2707c9 Change references to IDA to generic 'Python script' 2020-08-06 05:29:41 +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
753b37ad67 GUI: Add JSON output support 2020-08-02 22:57:33 +02:00
Katy Coe
a9661da14f GUI: Enable drag & drop for all file combinations 2020-07-27 22:14:55 +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
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
964685e44a Extract Unity version range management from UnityHeader to UnityVersionRange 2020-07-20 06:39:29 +02:00
Katy Coe
632d1d2d9b C++: Generate output in a folder 2020-07-18 19:18:08 +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
acc95e00c1 GUI: Add C++ scaffolding output support 2020-07-02 16:04:39 +02:00
Katy Coe
23db04c369 Minor re-organization 2020-06-30 00:13:18 +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
Robert Xiao
34f0d4ceef Add header files for every known Unity version.
We want to get types into the IDA output, and to do that we need
accurate types for the Il2Cpp structures. Unfortunately, some crucial
types like Il2CppClass change between versions without any corresponding
metadata changes, meaning that we have to manually identify the version
outside of the Inspector somehow (e.g. by looking at the version number
embedded in Unity asset files). This patch adds header files for *every*
known Unity version from 5.3.0 to 2019.3.8, merging them into version
ranges where header files don't change.

It also adds front-end support for supplying the version number in both
the CLI and GUI. The GUI is given the ability to guess the version
number approximately to reduce the number of choices presented to the
user.
2020-06-29 22:10:45 +02:00
Katy Coe
d38620a7d7 GUI: Add support for opening APK and IPA package files 2020-06-18 16:45:32 +02:00
Katy Coe
39bd356d85 GUI: Add .bin .prx .sprx to binary dialog filter 2020-02-24 10:11:48 +01:00
Katy Coe
a4f5b5ac5c GUI: Add "Not a decompiler" dialog on startup 2020-02-24 10:06:18 +01:00
Katy Coe
7f2987c3d9 GUI: Provide feedback when export completes 2020-02-10 08:08:45 +01:00
Katy Coe
8af51cad29 GUI: Provide default output filenames 2020-02-10 08:04:34 +01:00
Katy Coe
abaadc847e GUI: Fix root namespace wasn't excluded properly if selected 2020-02-10 07:04:03 +01:00
Katy Coe
8fe48686e9 GUI: Export asynchronously 2020-02-10 07:01:19 +01:00
Katy Coe
6afdd2c41c GUI: Implement all exports 2020-02-10 06:37:16 +01:00
Katy Coe
d88eb6ce2c GUI: Unity path selection and auto-detect behaviour 2020-02-10 02:01:41 +01:00
Katy Coe
1a579cfd3b GUI: Add footer text 2020-02-10 00:34:02 +01:00
Katy Coe
3514c377ab GUI: Implement TreeView checkbox behaviour 2020-02-09 11:06:05 +01:00
Katy Coe
c039b77a80 GUI: Populate TreeView with CheckBox'd namespaces 2020-02-09 09:43:29 +01:00
Katy Coe
4aad710451 GUI: Output preferences layout 2020-02-09 07:50:53 +01:00
Katy Coe
755a8ec88c GUI: Show progress messages in busy indicator 2020-02-09 04:11:16 +01:00
Katy Coe
4129785e17 GUI: Create type models 2020-02-09 03:29:05 +01:00
Katy Coe
c5999bb94f GUI: Master/detail list of Il2CppInspector images 2020-02-09 03:15:39 +01:00
Katy Coe
194707f3f5 GUI: Busy indicator lightbox dialog 2020-02-08 12:58:54 +01:00
Katy Coe
8a574664f0 GUI: Load binary file 2020-02-08 12:58:54 +01:00
Katy Coe
9376b15fcd GUI: Load binary file and back buttons 2020-02-08 12:58:54 +01:00
Katy Coe
f4a1a21e9e GUI: Load metadata file 2020-02-08 12:58:54 +01:00
Katy Coe
27b5fb7366 Add global-metadata.dat button and dialog 2020-02-08 12:58:54 +01:00
Katy Coe
b0a7f303cf GUI: Create project boilerplate 2020-02-08 12:58:54 +01:00