From 4fabd7cd1a78fa32869e4990db7c6fccd61121fe Mon Sep 17 00:00:00 2001 From: tzx Date: Fri, 30 Jan 2026 21:43:50 -0800 Subject: [PATCH] Initial Commit --- KakaoTalkPatcher.sln | 31 +++++++ KakaoTalkPatcher.vcxproj | 155 +++++++++++++++++++++++++++++++ KakaoTalkPatcher.vcxproj.filters | 33 +++++++ KakaoTalkPatcher.vcxproj.user | 4 + dllmain.cpp | 24 +++++ framework.h | 5 + patcher.cpp | 27 ++++++ patcher.h | 5 + pch.cpp | 5 + pch.h | 13 +++ 10 files changed, 302 insertions(+) create mode 100755 KakaoTalkPatcher.sln create mode 100755 KakaoTalkPatcher.vcxproj create mode 100755 KakaoTalkPatcher.vcxproj.filters create mode 100755 KakaoTalkPatcher.vcxproj.user create mode 100755 dllmain.cpp create mode 100755 framework.h create mode 100755 patcher.cpp create mode 100755 patcher.h create mode 100755 pch.cpp create mode 100755 pch.h diff --git a/KakaoTalkPatcher.sln b/KakaoTalkPatcher.sln new file mode 100755 index 0000000..d53b7bc --- /dev/null +++ b/KakaoTalkPatcher.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36310.24 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "KakaoTalkPatcher", "KakaoTalkPatcher.vcxproj", "{47D09E54-019D-436C-B852-AE266C53F14F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {47D09E54-019D-436C-B852-AE266C53F14F}.Debug|x64.ActiveCfg = Debug|x64 + {47D09E54-019D-436C-B852-AE266C53F14F}.Debug|x64.Build.0 = Debug|x64 + {47D09E54-019D-436C-B852-AE266C53F14F}.Debug|x86.ActiveCfg = Debug|Win32 + {47D09E54-019D-436C-B852-AE266C53F14F}.Debug|x86.Build.0 = Debug|Win32 + {47D09E54-019D-436C-B852-AE266C53F14F}.Release|x64.ActiveCfg = Release|x64 + {47D09E54-019D-436C-B852-AE266C53F14F}.Release|x64.Build.0 = Release|x64 + {47D09E54-019D-436C-B852-AE266C53F14F}.Release|x86.ActiveCfg = Release|Win32 + {47D09E54-019D-436C-B852-AE266C53F14F}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {39CB9DAB-CE47-44DA-BFFC-EE8D9E495A7A} + EndGlobalSection +EndGlobal diff --git a/KakaoTalkPatcher.vcxproj b/KakaoTalkPatcher.vcxproj new file mode 100755 index 0000000..39528d8 --- /dev/null +++ b/KakaoTalkPatcher.vcxproj @@ -0,0 +1,155 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {47d09e54-019d-436c-b852-ae266c53f14f} + KakaoTalkPatcher + 10.0 + + + + DynamicLibrary + true + v143 + Unicode + + + DynamicLibrary + false + v143 + true + Unicode + + + DynamicLibrary + true + v143 + Unicode + + + DynamicLibrary + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;KAKAOTALKPATCHER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + WIN32;NDEBUG;KAKAOTALKPATCHER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + _DEBUG;KAKAOTALKPATCHER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + NDEBUG;KAKAOTALKPATCHER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + + + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/KakaoTalkPatcher.vcxproj.filters b/KakaoTalkPatcher.vcxproj.filters new file mode 100755 index 0000000..f99bb48 --- /dev/null +++ b/KakaoTalkPatcher.vcxproj.filters @@ -0,0 +1,33 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/KakaoTalkPatcher.vcxproj.user b/KakaoTalkPatcher.vcxproj.user new file mode 100755 index 0000000..0f14913 --- /dev/null +++ b/KakaoTalkPatcher.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/dllmain.cpp b/dllmain.cpp new file mode 100755 index 0000000..db83e3e --- /dev/null +++ b/dllmain.cpp @@ -0,0 +1,24 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#include "pch.h" + +#include "patcher.h" + +BOOL APIENTRY DllMain( HMODULE hModule, + DWORD ul_reason_for_call, + LPVOID lpReserved + ) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hModule); + Main(); + break; + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + diff --git a/framework.h b/framework.h new file mode 100755 index 0000000..a9744f8 --- /dev/null +++ b/framework.h @@ -0,0 +1,5 @@ +#pragma once + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include diff --git a/patcher.cpp b/patcher.cpp new file mode 100755 index 0000000..3dad2f2 --- /dev/null +++ b/patcher.cpp @@ -0,0 +1,27 @@ +#include "pch.h" +#include "patcher.h" + +#define WRITE_MEM(dst, src) WriteMemory((void*)dst, src, sizeof(src)) + +void WriteMemory(void* dest, const void* src, size_t size) +{ + DWORD oldProt; + VirtualProtect(dest, size, PAGE_EXECUTE_READWRITE, &oldProt); + + memcpy(dest, src, size); + + VirtualProtect(dest, size, oldProt, &oldProt); +} + +void Main() +{ + // Known endpoints: + // http://app.pc.kakao.com/talk/win32/patch/patch.txt + // sb-talk.kakao.com (Some SOCKS5 connection) + // api.talk.kakao.com + // crash.kakao.com + + WRITE_MEM(0x77047C, "api.talk.kikoo.xyz"); // api.talk.kakao.com + WRITE_MEM(0x770508, "sb-talk.kikoo.xyz"); // sb-talk.kakao.com + WRITE_MEM(0x762454, "https://crash.kikoo.xyz/logs"); // https://crash.kakao.com/logs +} diff --git a/patcher.h b/patcher.h new file mode 100755 index 0000000..01933ca --- /dev/null +++ b/patcher.h @@ -0,0 +1,5 @@ +#pragma once + +#include "pch.h" + +void Main(); diff --git a/pch.cpp b/pch.cpp new file mode 100755 index 0000000..91c22df --- /dev/null +++ b/pch.cpp @@ -0,0 +1,5 @@ +// pch.cpp: source file corresponding to the pre-compiled header + +#include "pch.h" + +// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/pch.h b/pch.h new file mode 100755 index 0000000..04ff4c2 --- /dev/null +++ b/pch.h @@ -0,0 +1,13 @@ +// pch.h: This is a precompiled header file. +// Files listed below are compiled only once, improving build performance for future builds. +// This also affects IntelliSense performance, including code completion and many code browsing features. +// However, files listed here are ALL re-compiled if any one of them is updated between builds. +// Do not add files here that you will be updating frequently as this negates the performance advantage. + +#ifndef PCH_H +#define PCH_H + +// add headers that you want to pre-compile here +#include "framework.h" + +#endif //PCH_H