据统计90%查看本帖的人,都已经注册本站了哦
您需要 登录 才可以下载或查看,没有账号?立即注册
×
#define ZXString char*
bool HOOK_StringPool__GetString(bool enable)
{
//Log(__FUNCTION__ " %i\r\n", enable);
typedef ZXString*(__fastcall* StringPool__GetString_t)(void* ecx, void* edx, ZXString* result, unsigned int nIdx, char formal);
static auto StringPool__GetString =
reinterpret_cast<StringPool__GetString_t>(0x00746750);
StringPool__GetString_t Hook = [](void* ecx, void* edx, ZXString* result, unsigned int nIdx, char formal) -> ZXString*
{
auto ret = StringPool__GetString(ecx, edx, result, nIdx, formal);
if (nIdx == 2722)
{
strcpy(*ret, "ABC");
}
//Log("StringPool__GetString: %s\r\n", *result);
return ret;
};
return SetHook(enable, reinterpret_cast<void**>(&StringPool__GetString), Hook);
}
我知道答案
回答被采纳将会获得 1 易币 + 20 易币 已有4人回答
|