Skip to content

Commit 513fc1d

Browse files
authored
Add files via upload
1 parent 2a86572 commit 513fc1d

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

dllcrack_template.cpp

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// dllmain.cpp : Defines the entry point for the DLL application.
2+
#include "pch.h"
3+
4+
#define TARGET_MODULE L"app.exe"
5+
6+
DWORD WINAPI MainThread(HMODULE hModule)
7+
{
8+
AllocConsole();
9+
FILE* f;
10+
freopen_s(&f, "CONOUT$", "w", stdout);
11+
12+
printf("");
13+
14+
//Sleep(2000);
15+
//FreeConsole();
16+
17+
DWORD moduleBase = (DWORD)GetModuleHandle(TARGET_MODULE);
18+
19+
// std::cout << std::hex << moduleBase << std::endl;
20+
21+
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
22+
23+
if (hProcess == NULL)
24+
{
25+
printf("Error opening process: %d\n", GetLastError());
26+
return 1;
27+
}
28+
29+
DWORD dwAddress = moduleBase + 0x15D9;
30+
31+
// je value 2370315380 found with cheat engine
32+
33+
DWORD patchValue = 2370315381; // jne value 2370315381
34+
35+
if (!WriteProcessMemory(hProcess, (LPVOID)dwAddress, &patchValue, sizeof(patchValue), 0))
36+
{
37+
printf("Error writing to process memory: %d\n", GetLastError());
38+
CloseHandle(hProcess);
39+
return 1;
40+
}
41+
CloseHandle(hProcess);
42+
43+
return 0;
44+
}
45+
46+
47+
48+
BOOL APIENTRY DllMain( HMODULE hModule,
49+
DWORD ul_reason_for_call,
50+
LPVOID lpReserved
51+
)
52+
{
53+
switch (ul_reason_for_call)
54+
{
55+
case DLL_PROCESS_ATTACH:
56+
CloseHandle(CreateThread(nullptr, 0, (LPTHREAD_START_ROUTINE)MainThread, hModule, 0, nullptr));
57+
case DLL_THREAD_ATTACH:
58+
case DLL_THREAD_DETACH:
59+
case DLL_PROCESS_DETACH:
60+
break;
61+
}
62+
return TRUE;
63+
}

0 commit comments

Comments
 (0)