From 1173e2c29e17fc03092928f41689b80480ae2fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=8D=E5=85=AE=E6=83=9A=E5=85=AE?= <101191390+HIllya51@users.noreply.github.com> Date: Fri, 24 May 2024 19:07:16 +0800 Subject: [PATCH] ShinjukuSoumei --- LunaHook/engine64/5pb.cpp | 29 ++++++++++++++++++++++++----- libs/libs.cmake | 2 +- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/LunaHook/engine64/5pb.cpp b/LunaHook/engine64/5pb.cpp index e0f17ef..270ba06 100644 --- a/LunaHook/engine64/5pb.cpp +++ b/LunaHook/engine64/5pb.cpp @@ -1,10 +1,29 @@ #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; -} - - \ No newline at end of file + return b3||_strncat(); +} \ No newline at end of file diff --git a/libs/libs.cmake b/libs/libs.cmake index d249f3b..7656575 100644 --- a/libs/libs.cmake +++ b/libs/libs.cmake @@ -17,4 +17,4 @@ if(${CMAKE_SIZEOF_VOID_P} EQUAL 4) set(SupportWinXP "true") endif() #https://github.com/Chuyu-Team/VC-LTL5 -include("${CMAKE_CURRENT_LIST_DIR}/VC-LTL helper for cmake.cmake") \ No newline at end of file +#include("${CMAKE_CURRENT_LIST_DIR}/VC-LTL helper for cmake.cmake") \ No newline at end of file