IL2CPP: Fix field offsets for certain 64-bit binaries (#10)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright 2017-2019 Katy Coe - http://www.hearthcode.org - http://www.djkaty.com
|
Copyright 2017-2020 Katy Coe - http://www.hearthcode.org - http://www.djkaty.com
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
*/
|
*/
|
||||||
@@ -152,7 +152,7 @@ namespace Il2CppInspector
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (var f = 0; f < def.field_count; f++)
|
for (var f = 0; f < def.field_count; f++)
|
||||||
offsets.Add(def.fieldStart + f, available? BinaryImage.ReadWord() : 0);
|
offsets.Add(def.fieldStart + f, available? BinaryImage.ReadUInt32() : 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,13 +87,13 @@ namespace Il2CppTests.TestSources
|
|||||||
{
|
{
|
||||||
// Fields
|
// Fields
|
||||||
private int[] foo; // 0x10
|
private int[] foo; // 0x10
|
||||||
private int[] bar; // 0x20
|
private int[] bar; // 0x18
|
||||||
private float[][] arrayOfArrays; // 0x30
|
private float[][] arrayOfArrays; // 0x20
|
||||||
private float[,] twoDimensionalArray; // 0x40
|
private float[,] twoDimensionalArray; // 0x28
|
||||||
private float[,,] threeDimensionalArray; // 0x50
|
private float[,,] threeDimensionalArray; // 0x30
|
||||||
private unsafe int*[] arrayOfPointer; // 0x10
|
private unsafe int*[] arrayOfPointer; // 0x38
|
||||||
private unsafe int** pointerToPointer; // 0x19
|
private unsafe int** pointerToPointer; // 0x40
|
||||||
private unsafe float*[][,,][] confusedElephant; // 0x8047EDC0
|
private unsafe float*[][,,][] confusedElephant; // 0x48
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
public unsafe int* PointerProperty { get; set; } // 0x00000001801513A0-0x00000001801513B0 0x00000001801140B0-0x00000001801140C0
|
public unsafe int* PointerProperty { get; set; } // 0x00000001801513A0-0x00000001801513B0 0x00000001801140B0-0x00000001801140C0
|
||||||
|
|||||||
@@ -98,9 +98,9 @@ namespace Il2CppTests.TestSources
|
|||||||
{
|
{
|
||||||
// Fields
|
// Fields
|
||||||
private ExampleKind kindValue; // 0x10
|
private ExampleKind kindValue; // 0x10
|
||||||
private string noteValue; // 0x20
|
private string noteValue; // 0x18
|
||||||
private string[] arrayStrings; // 0x29
|
private string[] arrayStrings; // 0x20
|
||||||
private int[] arrayNumbers; // 0x8047D628
|
private int[] arrayNumbers; // 0x28
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
public ExampleKind Kind { get => default; } // 0x00000001800ECD10-0x00000001800ECD20
|
public ExampleKind Kind { get => default; } // 0x00000001800ECD10-0x00000001800ECD20
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ namespace Il2CppTests.TestSources
|
|||||||
{
|
{
|
||||||
// Fields
|
// Fields
|
||||||
private float floatField; // 0x10
|
private float floatField; // 0x10
|
||||||
private Test test; // 0x10
|
private Test test; // 0x18
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
public Test() {} // 0x00000001800E2000-0x00000001800E2010
|
public Test() {} // 0x00000001800E2000-0x00000001800E2010
|
||||||
|
|||||||
Reference in New Issue
Block a user