#if defined(__aarch64__) //To compile this code for arm64 lib only. Do not worry about greyed out highlighting code, it still works
// New way to patch hex via KittyMemory without need to specify len. Spaces or without spaces are fine
// ARM64 assembly example
// MOV X0, #0x0 = 00 00 80 D2
// RET = C0 03 5F D6
//hexPatches.Ölümsüzlük = MemoryPatch::createWithHex(targetLibName,
//string2Offset(OBFUSCATE("0x123456")),
//OBFUSCATE("00 00 80 D2 C0 03 5F D6"));
//You can also specify target lib like this
//hexPatches.Speed = MemoryPatch::createWithHex("libtargetLibHere.so",
//string2Offset(OBFUSCATE("0x222222")),
//OBFUSCATE("20 00 80 D2 C0 03 5F D6"));
HOOK("str", FunctionExample, old_FunctionExample);
HOOK_LIB("libFileB.so", "0x123456", FunctionExample, old_FunctionExample);
HOOK_NO_ORIG("0x123456", FunctionExample);
HOOK_LIB_NO_ORIG("libFileC.so", "0x123456", FunctionExample);
HOOKSYM("__SymbolNameExample", FunctionExample, old_FunctionExample);
HOOKSYM_LIB("libFileB.so", "__SymbolNameExample", FunctionExample, old_FunctionExample);
HOOKSYM_NO_ORIG("__SymbolNameExample", FunctionExample);
HOOKSYM_LIB_NO_ORIG("libFileB.so", "__SymbolNameExample", FunctionExample);
PATCHOFFSET("0x20D3A8", "00 00 A0 E3 1E FF 2F E1");
PATCHOFFSET_LIB("libFileB.so", "0x20D3A8", "00 00 A0 E3 1E FF 2F E1");
AddMoneyExample = (void(*)(void *,int))getAbsoluteAddress(targetLibName, 0x123456);