Hello first of all, i was reading now some tutorials about string hooking and modifying, but sadly it doesnt help me much from what i see on my output.
I followed his tutorial
ARM64 Unity String Function Hooking LGL Menu
my code:
none are working i also tried one different way but also its simply not giving me the correct output.
output from example
would be nice if someone could enlight me.
I followed his tutorial
ARM64 Unity String Function Hooking LGL Menu
C++:
[Token(Token = "0x600669D")]
[Address(RVA = "0x2612AA4", Offset = "0x2612AA4", VA = "0x2612AA4")]
public static string get_version()
{
return null;
}
my code:
C++:
typedef struct _monoString {
void* klass;
void* monitor;
int length;
char chars[1];
int getLength() {
return length;
}
char* getChars() {
return chars;
}
} monoString;
monoString* (*String_CreateString)(void* _this, const char* str);
void(*get_StringInstance);
monoString* (*get_version)(void* instance);
char* (*get_version_str)(void* instance);
void (*old_Update)(void *instance);
void Update(void *instance) {
if(instance != NULL){
monoString* a = get_version(instance);
LOGI("Version: %s", a);
char* b = get_version_str(instance);
LOGI("Version: %s", b);
}
old_Update(instance);
}
void* hack_thread(){
String_CreateString = (monoString * (*)(void*, const char*))getAbsoluteAddress(targetLibName, 0x1125790);
get_StringInstance = (void(*))getAbsoluteAddress(targetLibName, 0x1125790);
get_version = (monoString* (*) (void*)) getAbsoluteAddress(targetLibName, 0x2612AA4);
get_version_str = (char* (*) (void*)) getAbsoluteAddress(targetLibName, 0x2612AA4);
}
none are working i also tried one different way but also its simply not giving me the correct output.
output from example
Code:
06-27 01:21:54.571 17173 17238 I Mod_Menu: Version: Ç╨ⁿ¬
06-27 01:21:54.571 17173 17238 I Mod_Menu: Version: Ç╨ⁿ¬
would be nice if someone could enlight me.