Robert Xiao
4f074837b7
Fix fieldOffsetsArePointers logic on 64-bit builds
...
The logic for fieldOffsetsArePointers was always reading 32-bit units
even on 64-bits. When fieldOffsetsArePointers is true, fieldOffsets is
declared as int32_t**, so each element *must* be a pointer and therefore
word-sized (64 bits on 64-bit machines). So it doesn't make sense to
only read 32-bit words for this test.
This fixes metadata extraction for 64-bit builds from Il2Cpp versions
5.3.7f1, 5.3.8f2, 5.4.1f1, 5.4.2f2, 5.4.3f1, 5.4.4f1, 5.4.5f1 and
5.4.6f3. Notably, 5.4.0f3 is an unusual outlier which uses int32_t * for
fieldOffsets.
2020-06-16 23:30:53 +02:00
Robert Xiao
02fab932ae
referencedAssemblies was added in v5.3.3 (metadata 20)
...
According to the headers I have available, Unity v5.3.2f1 (metadata 19)
lacks the referencedAssemblies{Offset,Count} fields in
Il2CppGlobalMetadataHeader. These appear to have been added some time
between that version and 5.3.3f1 (metadata 20).
Changing these fields makes the Inspector work properly on the output from
Il2Cpp from Unity v5.3.2f1.
2020-06-16 23:30:53 +02:00
Robert Xiao
7fce43aba0
Fix IDA writeUsages for metadata <19
...
This fixes a NullReferenceException that was being thrown for IDA script
generation for metadata 16 files (e.g. as generated by Il2Cpp v5.3.0f4).
2020-06-16 23:30:53 +02:00
Robert Xiao
5b78fc3f3c
Fix pointer extraction for MSVC in metadata <21.
...
This change causes the Inspector to properly parse DLLs generated with
Il2Cpp versions 5.3.0f4 through 5.3.4f1 (excluding 5.3.2f1, which is a
separate problem).
2020-06-16 23:30:53 +02:00
Katy Coe
b9dffd3500
Allow divergent metadata/binary versions
...
Il2CppInspector reports the highest version of the two
2020-06-16 23:27:51 +02:00
Katy Coe
0f2fff6e70
Tidy up error handling slightly
2020-06-16 23:08:15 +02:00
Katy Coe
d16db6f1f5
X64: Fix R8 unused compile warning
2020-06-16 23:07:42 +02:00
Katy Coe
89b3c2b3aa
ELF: Detect a specific type of packing that isn't handled
2020-06-16 23:07:01 +02:00
Katy Coe
0b9b5022ab
CLI: Fix regression causing Windows path search to fail
2020-06-16 23:06:08 +02:00
Katy Coe
370eebfffc
ELF: Slightly more careful XOR decryption ( #27 )
2020-06-16 21:53:57 +02:00
Katy Coe
5e435465f1
ELF: Don't crash on duplicate section names ( #26 )
2020-06-16 15:35:17 +02:00
Callie LeFave
dee6c45056
Fix CSharp output paths on POSIX filesystems
2020-06-16 12:25:10 +02:00
Katy Coe
3e1228495f
Tests: Update expected results
2020-02-28 11:29:35 +01:00
Katy Coe
40ab603c56
C#: Don't output field offsets for open generic types
2020-02-28 11:01:38 +01:00
Katy Coe
c0e90f2e9c
IL2CPP: Fix field offsets for value types ( #25 )
2020-02-28 11:01:26 +01:00
Katy Coe
a5a5d66182
Update README.md
2020-02-26 15:38:51 +01:00
Katy Coe
c540318363
Update version to 2.1
2020-02-26 15:38:45 +01:00
Katy Coe
b961db78f2
SELF: Initial support for PRX/SPRX files (issue #21 )
2020-02-26 02:59:02 +01:00
Katy Coe
e4034e6a39
SELF: More boilerplate code
2020-02-25 16:15:37 +01:00
Katy Coe
b509b4d227
SELF: Boilerplate code
2020-02-25 16:15:17 +01:00
Katy Coe
250c3a2fc9
Loader: Unwrap FileFormatReader.Load exceptions
2020-02-24 13:37:06 +01:00
Katy Coe
58771cf308
Tests: Update test results
2020-02-24 12:32:23 +01:00
Katy Coe
027dde8358
C#: Replace "in, out" with "[In, Out]" (CS8328)
2020-02-24 12:28:38 +01:00
Katy Coe
168c955558
C#: Set static and instance constructor defaults correctly (CS0120)
2020-02-24 12:24:04 +01:00
Katy Coe
6046f2493d
C#: Reduce scope redundancies in type declarations
2020-02-24 12:05:33 +01:00
Katy Coe
39bd356d85
GUI: Add .bin .prx .sprx to binary dialog filter
2020-02-24 10:11:48 +01:00
Katy Coe
39d1a95b37
GUI: Fix window height for 120% text size
2020-02-24 10:10:03 +01:00
Katy Coe
fc72003f9a
Update README.md
2020-02-24 10:08:19 +01:00
Katy Coe
a4f5b5ac5c
GUI: Add "Not a decompiler" dialog on startup
2020-02-24 10:06:18 +01:00
Katy Coe
3f72ff38c2
ARM: Allow R0-R2 in any order and any indirection (Unity 2019.3-compat)
2020-02-23 22:37:28 +01:00
Katy Coe
8bdea7780b
X64: Handle mov before push in prologue (issue #23 )
2020-02-23 20:49:34 +01:00
Katy Coe
55148e0271
Output: Add Mocrosoft.Reflection and Internal.Runtime to default exclusions
2020-02-15 06:38:03 +01:00
Katy Coe
538810f441
X64: Generalize Il2CppCodegenRegistration scan (part of #21 )
2020-02-15 06:30:12 +01:00
Katy Coe
0a99f549ff
X64: Generalize Codegen initializer search (part of #21 )
2020-02-15 05:19:54 +01:00
Katy Coe
6ec5c06fbc
X64: Handle DT_INIT-style initializer (part of #21 )
2020-02-15 03:55:03 +01:00
Katy Coe
ee93343ff8
ELF: Fix DT_INIT from GetFunctionTable() wasn't mapped to file offset
2020-02-14 15:11:29 +01:00
Katy Coe
164535ad6a
Merge branch 'master' of https://github.com/djkaty/Il2CppInspector
2020-02-13 18:49:45 +01:00
Katy Coe
192d62006c
X64: Refactor to allow new function analysis (part of #21 )
2020-02-13 18:41:19 +01:00
Katy Coe
245a95b15b
IL2CPP: Allow code at address zero to be evaluated (part of #21 )
2020-02-13 18:22:38 +01:00
Katy Coe
29a49d3170
ELF: Include DT_INIT function in function table (part of #21 )
2020-02-13 18:16:48 +01:00
Katy Coe
9083be4c18
ELF: Don't decrypt if there is no .rodata section (part of #21 )
2020-02-13 18:08:14 +01:00
Katy Coe
37f43580e4
ELF: Don't crash if there are no section names (part of #21 )
2020-02-13 18:03:53 +01:00
Katy Coe
34cb2bc029
PS: More robust pathing in generate-binaries (Unity 2019.3-compat)
2020-02-13 06:09:52 +01:00
Katy
a389569a10
Update README.md
2020-02-11 06:22:43 +01:00
Katy Coe
97c8b8f878
Output: Fix thread safety crash in WriteFilesByClassTree
2020-02-10 09:40:44 +01:00
Katy Coe
2487b945a4
Suppress NU1701 in Release builds
2020-02-10 09:38:23 +01:00
Katy Coe
556926bbbb
Update README.md
2020-02-10 09:05:05 +01:00
Katy
45f92f22f6
Add LICENSE
2020-02-10 09:03:31 +01:00
Katy Coe
46bf6f2413
IL2CPP: Don't crash on assemblies with zero attributes (issue #19 )
2020-02-10 08:44:43 +01:00
Katy Coe
3b62a44426
Update README.md
2020-02-10 08:28:53 +01:00