Commit Graph

1339 Commits

Author SHA1 Message Date
LukeFZ
776c507a36 mini typing fix in IDA script impl and bump Il2CppTests to .net 10 2026-01-07 20:39:10 +01:00
LukeFZ
cfccc6982c reformat disassembler scripts 2025-12-26 05:48:20 +01:00
LukeFZ
e1b64dfd65 enable folder creation by default on IDA 9.3+
testing showed that this is now fast enough to not cause meaningful slowdowns
2025-12-25 16:42:57 +01:00
LukeFZ
c72bd2174e add additional heuristics for metadata registration
closes #35
2025-12-23 00:51:00 +01:00
LukeFZ
73b1594a0e implement new C++ type dependency graph resolver
this attempts to more properly fix some longstanding type emitting issues.

closes #36
2025-12-22 23:05:41 +01:00
LukeFZ
67f3fbe35c preemptively check if MethodPointers/InvokerIndices are mapped to prevent exceptions 2025-12-22 21:55:10 +01:00
LukeFZ
64a2bb3db7 fix unity version parsing breaking with three letter metadata versions 2025-12-19 23:19:44 +01:00
LukeFZ
8c0ef09a77 add unity header for v104 2025-12-19 13:04:09 +01:00
LukeFZ
b0a82f1dd0 fix incorrect bit indices for IsByRefLike and HasInlineArray in Il2CppTypeDefinitionBitfield 2025-12-19 13:01:23 +01:00
LukeFZ
77b4b60014 add untested support for metadata version v104 2025-12-19 12:58:47 +01:00
Luke
9d6b0c0d82 Update README.md 2025-12-16 10:52:32 +01:00
LukeFZ
51af520405 fix workflow (again) 2025.1 2025-12-15 09:40:53 +01:00
LukeFZ
dd50c5d89e make build explicitly upload zips 2025-12-15 09:06:14 +01:00
LukeFZ
c9197a22f7 add rust caching to redux gui build workflow, fix release workflow 2025-12-15 08:23:38 +01:00
LukeFZ
332e3d4b27 bump version to 2025.1 2025-12-15 08:13:19 +01:00
LukeFZ
d872ac8014 fix redux gui workflow 2025-12-15 05:39:03 +01:00
LukeFZ
750a0c88d5 fix build workflow 2025-12-15 05:36:10 +01:00
LukeFZ
c3cc327feb explicitly specify required directories for each build job 2025-12-15 05:28:48 +01:00
LukeFZ
f8436517dc apply sparse checkout improvements to all build jobs 2025-12-15 05:21:35 +01:00
LukeFZ
d3d5ea4834 try to improve workflow clone times by excluding tests folder, add copyright to build props 2025-12-15 05:18:06 +01:00
LukeFZ
e25ea95ec6 update workflow to .net 10 and simplify logic a bit 2025-12-15 05:07:40 +01:00
LukeFZ
746abe53e3 update bin2object 2025-12-15 05:02:49 +01:00
LukeFZ
982396505d fix remaining compile time warnings 2025-12-15 05:00:02 +01:00
LukeFZ
9718c3025b unify some common project properties into Directory.Build.props, bump to .net 10 2025-12-15 04:55:56 +01:00
LukeFZ
5253bfb34a fix build.yml errors and add release workflow 2025-12-15 04:13:24 +01:00
LukeFZ
9bd32cee84 update sln 2025-12-15 04:12:41 +01:00
LukeFZ
16b1cffc0c rename "old" artifacts to "legacy" in workflow 2025-12-15 03:48:48 +01:00
LukeFZ
0da6aa67c5 fix compilation warnings 2025-12-14 08:33:04 +01:00
LukeFZ
e09776b4c8 fix reading interface and generic parameter constraint typeindices on v39 2025-12-14 08:32:32 +01:00
LukeFZ
4befde8ab4 increase CodeRegistration validation heuristics thresholds due to some games reaching them 2025-11-26 19:54:05 +01:00
LukeFZ
6d674ecc8c use same metareg scanner for < v27 and > v27, implement TryMapVATR in PEReader for performance 2025-11-11 04:14:31 +01:00
LukeFZ
8b93dda191 Merge branch 'master' of https://github.com/LukeFZ/Il2CppInspectorRedux 2025-10-13 09:17:05 +02:00
LukeFZ
bba8a2913a also unload mssdk64 tils to prevent type name conflicts 2025-10-13 09:16:45 +02:00
Luke
193395db29 Change Bin2Object URL to point to forked repo instead 2025-10-12 17:28:16 +02:00
LukeFZ
481d05668d (hopefully) lower python requirement to 3.8 2025-10-12 17:13:20 +02:00
LukeFZ
ca6c958f9a add pyghidra runtime annotation to fix support 2025-10-12 17:08:19 +02:00
LukeFZ
7a621b40c6 fix support for properties without methods 2025-09-26 00:30:59 +02:00
LukeFZ
1a418280fb update bin2object (again) 2025-09-26 00:28:51 +02:00
LukeFZ
f1a69cafe3 fix support for 35+, add support for 39 2025-09-18 23:36:57 +02:00
LukeFZ
e5f2fa703d update bin2object 2025-09-18 23:35:48 +02:00
LukeFZ
38aa333764 fix workflow pnpm install and caching 2025-09-03 23:11:01 +02:00
LukeFZ
3ae9dba60d improve caching in workflow, remove duplicated .net install steps 2025-09-03 23:04:23 +02:00
LukeFZ
c94bc1c225 update tauri js deps, make pnpm install always run on release build 2025-09-03 23:01:01 +02:00
TrialCarrot
ac361bd90f build: auto run pnpm install if node_modules/ doesn't exists (#24)
Co-authored-by: TrialCarrot <TrialCarrot@users.noreply.github.com>
2025-09-03 22:57:55 +02:00
LukeFZ
a88e91451a add (untested) support for metadata v38 2025-08-22 04:53:00 +02:00
LukeFZ
079373815f update readme to inform about the new UIs 2025-08-15 21:28:58 +02:00
Luke
3439ca912b Implement new GUI and CLI, fix misc. smaller issues (#22)
* Initial commit of new UI c# component

* Initial commit of new UI frontend component

* target WinExe to hide console window in release mode, move ui exe into resources

* force single file publishing and add initial gh workflow for publishing ui

* fix workflow errors

* update dependencies and remove cxxdemangler, as it was outdated

* fix c# single file output due to invalid output path

* smaller tweaks, hack around loops in cpp type layouting

* process other queued exports even if one fails and show error message

* add basic support for processing LC_DYLD_CHAINED_FIXUPS

* ELF loading should not use the file offset for loading the dynamic section

* fix symbol table loading in some modified elfs

* add "start export" button on format selection screen, clear all toasts after selecting an export format

* embed ui executable directly into c# assembly

* only build tauri component in c# release builds

* add il2cpp file (binary, metadata) export to advanced tab

* fix and enable binary ninja fake string segment support

* add support for metadata

* unify logic for getting element type index

* fix new ui not allowing script exports other than ida

* new ui: clear out loaded binary if no IL2CPP images could be loaded

* fix toAddr calls in ghidra script target

* remove dependency on a section being named .text in loaded pe files

* tweak symbol reading a bit and remove sht relocation reading

* add initial support for required forward references in il2cpp types, also fix issues with type names clashing with il2cpp api types

* reduce clang errors for header file, fix better array size struct, emit required forward definitions in header

* expose forward definitions in AppModel, fix issue with method-only used types not being emitted

* remove debug log line

* fix spelling mistakes in gui outputs

* fix il2cpp_array_size_t not being an actual type for later method definitions

* change the default port for new ui dev to 5000

* show current version and hash in new ui footer

* seperate redux ui impl into FrontendCore project

* make inspector version a server api, split up output subtypes and tweak some option names

* add redux CLI based on redux GUI output formats

* replace all Console.WriteLine calls in core inspector with AnsiConsole calls

* add workflow for new cli and add back old gui workflow

* disable aot publish and enable single file for redux cli
2025-08-15 21:13:32 +02:00
TrialCarrot
e161e0f226 Fix #14: Error while dotnet publish -c Release (#21)
Co-authored-by: TrialCarrot <TrialCarrot@users.noreply.github.com>
2025-07-18 16:32:20 +02:00
Luke
ec76447122 Fix misc. issues in the generated disassembler scripts (#17)
* attempt to fix ghidra script issues

* add ghidra python 3 note to readme

* fix binary ninja script erroring on function type parsing

* fix ida script not skipping function creation on pe binaries

* fix writing of multibyte strings breaking fake string segment

* also adjust binja write_string impl
2025-01-25 14:21:56 +01:00
LukeFZ
4e46c29cee Merge branch 'master' of https://github.com/LukeFZ/Il2CppInspectorRedux 2024-12-13 20:58:57 +01:00