Tutorial Hex Codes for ARM64 modding | True | False | NOP | High Value |

G-Bo ッ

Administrator
Staff member
Administrator
Hey guys,

this is just a simple code collection of the main codes you need to mod ARM64. Since more and more games starting to add ARM64 instead of ARMv7, many people started to ask me about the hex codes they need to mod it. To safe time for myself answering the same question over and over again, here the most important codes.


To return true:

ARM:
MOV X0, #1
ret

HEX:
20 00 80 D2 C0 03 5F D6

Example usage:
If the method is for example "IsPremium" the best way to mod it is to return a true. (IsPremium? -> Yes). True is equal to 1, so it can be used as well to return a 1.


To return false:

ARM:
MOV X0, #0
ret

HEX:
00 00 80 D2 C0 03 5F D6

Example usage:
If the method is for example "Skillcooldown" the best way to mod is to return a false. False is not only a "no", its a 0 as well. So the Skill Cooldown returns a 0 and the skill can be used instantly.


To return high value:

ARM:
MOV X0, #0x7F000000
ret

HEX:
00 E0 AF D2 C0 03 5F D6

Example usage:
Good to return things you want very high like damage, gold, coins or whatever. This code is equal to 2130706432.


To NOP something:

HEX:
1F 20 03 D5

Example usage:
Sometimes its necessary to NOP something. NOP means something like "skip it, ignore it". Its used mostly if in the middle of a code is a branch. Lets say a check to another method. The method you are modding is for example "CheckPremiumStatus" and inside that method you find a code jumping to another method which verify the premium status, lets call the method "isReallyPremium". By nopping that "jumpcode" you prevent the game from a double check. Its a weak example but better one I don't find without my coffee (I just woke up).
 
MOV X0, #0x7FFFFFFF
ret

you would have to translate it though to work
but this i dont know if you would want to use this cause if the value your changing increases it has a chance of going into a negative.
also sorry i commented twice i couldnt delete or edit my first comment
 
the NOP code is smaller than other codes, so if i put the NOP hex, what have i to do with the others 8 characters? have i to leave them, paste another NOP code, put 00 00 00 00 or?
 
the NOP code is smaller than other codes, so if i put the NOP hex, what have i to do with the others 8 characters? have i to leave them, paste another NOP code, put 00 00 00 00 or?
NOP just kills one line of the code, if you wanna close the method after you have to close it with RET which is C0 03 5F D6
 
how about hex code for negative value? to make it increase instead decrease to edit something like price
Man,


You already got your post answered.
 
Can I also use the ARM64 hex code on other games or in all games?

Or like there is a difference between other games or arm64 and arm7 games and so on; so means I need different hex codes to use?
 
if lib folder have arm7 always mod arm7 and delete all other folders. If game only have arm64 then you have to use arm64 codes
Ohh well, I see. Thank you so much!

One last question. What are the some reasons why I got an error when modding il2cpp? I mean what will be the possible reasons why the il2cpp modded game is having an error. Just like earlier, I've tried to mod temple run which uses arm64 and I used arm64 codes that you provide on this post and I get an get_TotalGems offset. (I only used dumper, hxd editor and dnspy)

But after compiling and installing, the game has stopped on my phone. What will be the possible reasons for that? Same as subway surfers.

Thank you so much, and I am very sorry about this!
 
Ohh well, I see. Thank you so much!

One last question. What are the some reasons why I got an error when modding il2cpp? I mean what will be the possible reasons why the il2cpp modded game is having an error. Just like earlier, I've tried to mod temple run which uses arm64 and I used arm64 codes that you provide on this post and I get an get_TotalGems offset. (I only used dumper, hxd editor and dnspy)

But after compiling and installing, the game has stopped on my phone. What will be the possible reasons for that? Same as subway surfers.

Thank you so much, and I am very sorry about this!
Maybe function breaks if you place a bx lr after assigning a value to X0.
 
Maybe function breaks if you place a bx lr after assigning a value to X0.
Uhmm, I didn't put something. I will only change the hex code inside the il2cpp lib using hxd just after finding the offset 0x1234 and finding the 1234 offset on il2cpp and by copying arm64 hex codes and by pasting it. Maybe there might be another reasons for that?

Thank you for your reply!
 
In HxD, if you paste, you change the file size, which breaks the lib. You have to replace the already existing values. (Maybe you mean replace, not paste; however, if easy games are braking, it must be you are indeed pasting)
My bad, the reason I got an error when installing modded apps is... I used CTRL+V instead of CTRL+B which I'm pasting the code instead of replacing it. >-< Thank you so much, because of you, I figured it out!
 
Last edited:
if lib folder have arm7 always mod arm7 and delete all other folders. If game only have arm64 then you have to use arm64 codes
A question, what if there are two arm folder inside lib, which has the same il2cpp but different sizes, just like this:
1602683300756.png

Which arm folder should I go and modified? The game is called Zombie Blast btw. Thank you for your answer and again I am so sorry for having lots of questions!
 
A question, what if there are two arm folder inside lib just like this:
View attachment 254826
Which arm folder should I go and modified? The game is called Zombie Blast btw. Thank you for your answer and again I am so sorry for having lots of questions!
first folder arm64, second armv7

if you wanna use the arm64 codes then delete second folder and go with the first
 
Back
Top Bottom