mirror of
https://github.com/HIllya51/LunaHook.git
synced 2024-12-25 12:44:13 +08:00
34 lines
999 B
C++
34 lines
999 B
C++
#include "5pb.h"
|
|
#include "mages/mages.h"
|
|
namespace
|
|
{
|
|
// https://vndb.org/v46553
|
|
// 新宿葬命
|
|
bool _strncat()
|
|
{
|
|
HookParam hp;
|
|
hp.address = (uintptr_t)GetProcAddress(GetModuleHandleA("ucrtbase.dll"), "strncat");
|
|
hp.type = USING_STRING | CODEC_UTF8 | NO_CONTEXT;
|
|
hp.text_fun = [](hook_stack *stack, HookParam *hp, uintptr_t *data, uintptr_t *split, size_t *len)
|
|
{
|
|
*data = stack->ARG2;
|
|
*len = stack->ARG3;
|
|
*split = stack->ARG1;
|
|
};
|
|
hp.filter_fun = [](void *data, size_t *len, HookParam *hp)
|
|
{
|
|
auto s = std::string((char *)data, *len);
|
|
strReplace(s, "%N", "\n");
|
|
// sub_140096E80
|
|
//%I %B %C %R( %Z %%
|
|
return write_string_overwrite(data, len, s);
|
|
};
|
|
return NewHook(hp, "strncat");
|
|
}
|
|
}
|
|
bool _5pb::attach_function()
|
|
{
|
|
// CHAOS;HEAD_NOAH
|
|
bool b3 = hookmages::MAGES();
|
|
return b3 || _strncat();
|
|
} |