#include "patcher.h" #include "utils/logger.h" #include #include bool replace_string(uint32_t start, uint32_t size, const char* original_val, size_t original_val_sz, const char* new_val, size_t new_val_sz) { for (uint32_t addr = start; addr < start + size - original_val_sz; addr++) { int ret = memcmp(original_val, (void*)addr, original_val_sz); if (ret == 0) { DEBUG_FUNCTION_LINE("found str @%08x: %s", addr, (const char*)addr); KernelCopyData(OSEffectiveToPhysical(addr), OSEffectiveToPhysical((uint32_t)new_val), new_val_sz); DEBUG_FUNCTION_LINE("new str @%08x: %s", addr, (const char*)addr); return true; } } return false; }