From 7c7fbd45c7a41982abb49c158fef29ff2727d1f1 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, 17 May 2024 17:34:20 +0800 Subject: [PATCH] fix --- LunaHook/engines/mono/monoil2cpp.cpp | 5 +++-- LunaHook/pchhook.h | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/LunaHook/engines/mono/monoil2cpp.cpp b/LunaHook/engines/mono/monoil2cpp.cpp index 2531799..c94604e 100644 --- a/LunaHook/engines/mono/monoil2cpp.cpp +++ b/LunaHook/engines/mono/monoil2cpp.cpp @@ -26,9 +26,10 @@ void commonsolvemonostring(uintptr_t offset,uintptr_t *data, size_t*len){ auto sw_v=sw.value(); *data=(uintptr_t)sw_v.data(); *len=sw_v.length()*sizeof(wchar_t); - //tostring|substring有时会会崩,非法指针或者长度爆炸 - if(wcslen(sw_v.data())!=sw_v.size()) + if(*len>TEXT_BUFFER_SIZE){ *len=0; + return; + } } void unity_ui_string_hook_after(uintptr_t *offset,void* data, size_t len) diff --git a/LunaHook/pchhook.h b/LunaHook/pchhook.h index a52c5c0..88f743f 100644 --- a/LunaHook/pchhook.h +++ b/LunaHook/pchhook.h @@ -2,8 +2,8 @@ enum { TEXT_BUFFER_SIZE = PIPE_BUFFER_SIZE - sizeof(TextOutput_T) }; -#define wcslen(XX) wcsnlen((XX), TEXT_BUFFER_SIZE*2) -#define strlen(XX) strnlen((XX), TEXT_BUFFER_SIZE*2) +//#define wcslen(XX) wcsnlen((XX), TEXT_BUFFER_SIZE*2) +//#define strlen(XX) strnlen((XX), TEXT_BUFFER_SIZE*2) #include"main.h"