const ass = domain.assembly("Assembly-CSharp");
const image = ass.image;
const SurvivorInGame = image.class("Survivor.Game.SurvivorInGame");
const method = SurvivorInGame.method("set_EnemyKillCount");
const ObscuredInt = SurvivorInGame.field<Il2Cpp.ValueType>(
"<EnemyKillCount>k__BackingField" //is of type ObscuredInt
).value.type.class; //get Class instance of ObscuredInt
const newValueObj = ObscuredInt.new();
newValueObj.method(".ctor").invoke(99);
method.invoke(newValueObj.unbox());
This looks really interesting! I'm gonna try it just out of how cool it lookscreate a new instance of ObscuredInt
call the setter method for the ObscuredInt field if there's any.
this is roughly how you would do it with frida-il2cpp-bridge/
in c++, maybe you can achieve this with BNM lib, but idk, never tried itJavaScript:const ass = domain.assembly("Assembly-CSharp"); const image = ass.image; const SurvivorInGame = image.class("Survivor.Game.SurvivorInGame"); const method = SurvivorInGame.method("set_EnemyKillCount"); const ObscuredInt = SurvivorInGame.field<Il2Cpp.ValueType>( "<EnemyKillCount>k__BackingField" //is of type ObscuredInt ).value.type.class; //get Class instance of ObscuredInt const newValueObj = ObscuredInt.new(); newValueObj.method(".ctor").invoke(99); method.invoke(newValueObj.unbox());
Nothing that I'm aware ofAlso, there's no other way to get these ObscuredInt methods to throw new values by only modifying ARM / hex code, right?
Alright, thank you very much!Nothing that I'm aware of
Thank you for helping me in my modding journeyYou should definitely learn c++, especially pointers.
But the most important thing is reverse engineering skill
I seeYou could easily hexpatch an obscuredint data type, but in most cases it will remain only visual, so, hooking methodology is superior.
Also, this type of data is holding the real value, and you can currently achieve it only by hooking it. (There could be cases where they don't remain visual when hexpatching, but these exceptions are not representing the reality.).
We use cookies to personalize content and ads, to provide social media features and to analyse our traffic. We also share necessary information with our advertising and analytics partners to optimize your experience on our site.
Learn more about cookies
We use cookies to personalize content and ads, to provide social media features and to analyse our traffic. We also share necessary information with our advertising and analytics partners to optimize your experience on our site.
Learn more about cookies