Jump to content
  • 0

Field offset from dump.cs do not align with real field offset in game.


khushdeep05
 Share

Question

I have ran into an issue where field offset from dump.cs do not match with real field offset in game memory which leads me to wrong values.

This is what i get if i use class name and field offset sercher script.⬇️

Script ended:
1. For address 0x736C52664C
Namespace: BattleMechs.Client.Message.Balance.Battle
ClassName: MechBattleBalanceMessageLevel
Field offset: 0x4C

 

It says the field offset for health points is 0×4C whereas dump.cs shows that field offset for health points is 0×48.

Here is text from dump.cs⬇️

// Namespace: BattleMechs.Client.Message.Balance.Battle
[MessagePackObject(False)]
public class MechBattleBalanceMessageLevel
{
	// Fields
	[Key("id")]
	public string Id; // 0x10
	[Key("level")]
	public Nullable<int> Level; // 0x18
	[Key("rank")]
	public Nullable<int> Rank; // 0x20
	[Key("displayLevel")]
	public Nullable<int> DisplayLevel; // 0x28
	[Key("speedScale")]
	public double SpeedScale; // 0x30
	[Key("speedScaleHD")]
	public double SpeedScaleHD; // 0x38
	[Key("moveSpeed")]
	public Nullable<int> MoveSpeed; // 0x40
	[Key("healthPoints")]
	public Nullable<int> HealthPoints; // 0x48

Now i dont know if the problem is in dump.cs or the way my phone handles memory or the game itself, but when i compare my dump.cs with other people on the internet its exactly the same as theirs but they get the correct results by serching with field offset but i get incorrect results, the correct results are usually below the offset shown by dump.cs.

ill give some additional info.

DEVICE: Realme X3 (RMX2081)

GAME: War Robots

DUMP OBTAIMED BY: il2cpp dumper by perfare.

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hi @SYLVIA, that "0x736C52664C" is not offset but address after OP visit the mentioned offset.

Quote

I have ran into an issue where field offset from dump.cs do not match with real field offset in game memory which leads me to wrong values

Hi @khushdeep05, can you mention what "Field Offset" script that you use? You need to understand that some Field Offset finder uses x64 bit architecture by default, and you need to manually enable x32-bit feature inside the script. Both x64 and x32 have different memory allocation.
image.thumb.png.06317082cd71f8acf1cf1636877954f0.png

Link to comment
Share on other sites

  • 0
5 hours ago, MC874 said:

Hi @SYLVIA, that "0x736C52664C" is not offset but address after OP visit the mentioned offset.

Hi @khushdeep05, can you mention what "Field Offset" script that you use? You need to understand that some Field Offset finder uses x64 bit architecture by default, and you need to manually enable x32-bit feature inside the script. Both x64 and x32 have different memory allocation.
image.thumb.png.06317082cd71f8acf1cf1636877954f0.png

Btw Address everytime changed so dont use address

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.