#define NODly 0x01B2644C
#define ResultSetEndBingo 0x0094A540
#define TOKENNO 0x013C1C3E
#define ENHANCE_1 0x01552ADE
#define ENHANCE_2 0x004A4DF9
#define ENHANCE_3 0x0049F721
#define ENHANCE_4 ENHANCE_3 + 0xB
#define ENHANCE_5 ENHANCE_3 + 0xD
//==================Source Reset Bingo
//Assembly
__declspec(naked)bool hkBingoSetEnd_ON()
{
__asm
{
mov eax, 0x64
mov al, 0x1
ret
}
}
__declspec(naked)bool hkBingoSetEnd_OFF()
{
__asm
{
mov eax,[ecx+44]
sub eax,[ecx+40]
and eax,-0x4
cmp eax,64
sete al
ret
}
}
static int BingoResetRestore = 0;
if(ResetBingo == 1 && BingoResetRestore == 0) {
Memory->WriteJump(ResultSetEndBingo, (DWORD)hkBingoSetEnd_ON, 5);
BingoResetRestore = 1;
}
else if(ResetBingo == 0 && BingoResetRestore == 1){
Memory->WriteJump(ResultSetEndBingo, (DWORD)hkBingoSetEnd_OFF, 5);
BingoResetRestore = 0;
}
//No Delay
if(NoDelayTABLE == 0){
Patch((void*)(NODly), (void*)(PBYTE)"\x72", 1);}
else if(NoDelayTABLE == 1){
Patch((void*)(NODly), (void*)(PBYTE)"\x7A", 1);
}
//Token
if(NoToken2 == 0){
Patch((void*)(TOKENNO), (void*)(PBYTE)"\x0F\x84\xC8\x00\x00\x00", 6);
}
if(NoToken2 == 1){
Patch((void*)(TOKENNO), (void*)(PBYTE)"\xE9\x34\x01\x00\x00\x90", 6);
}
//enhance
if (GetAsyncKeyState(VK_F7) & 1) ENEN = (!ENEN);
if (ENEN) {
Patch((void*)(ENHANCE_1), (void*)(PBYTE)"\x75", 1);
Patch((void*)(ENHANCE_2), (void*)(PBYTE)"\x90\x90\x90\x90\x90\x90", 6);
Patch((void*)(ENHANCE_3), (void*)(PBYTE)"\x6A\x00", 2);
Patch((void*)(ENHANCE_4), (void*)(PBYTE)"\x74\xF3", 2);
Patch((void*)(ENHANCE_5), (void*)(PBYTE)"\x6A\x00", 2);
}else{
Patch((void*)(ENHANCE_1), (void*)(PBYTE)"\x74", 1);
Patch((void*)(ENHANCE_2), (void*)(PBYTE)"\x89\x86\x5C\x09\x00\x00", 6);
Patch((void*)(ENHANCE_3), (void*)(PBYTE)"\x6A\x01", 2);
Patch((void*)(ENHANCE_4), (void*)(PBYTE)"\x75\xF3", 2);
Patch((void*)(ENHANCE_5), (void*)(PBYTE)"\x6A\x02", 2);
}
//=====================================================
//Base LS
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
//============ OFFSET ============
#define ENHANCE_1 0x01552ADE
#define ENHANCE_2 0x004A4DF9
#define ENHANCE_3 0x0049F721
#define ENHANCE_4 ENHANCE_3 + 0xB
#define ENHANCE_5 ENHANCE_3 + 0xD
LPTSTR Module = "lostsaga.exe";
void Patch(void *adr, void *ptr, int size)
{
DWORD OldProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}
bool ENEN;
WINAPI MemPacth(LPVOID param)
{
while(1)
{
if (GetAsyncKeyState(VK_F7) & 1) ENEN = (!ENEN);
if (ENEN) {
Patch((void*)(ENHANCE_1), (void*)(PBYTE)"\x75", 1);
Patch((void*)(ENHANCE_2), (void*)(PBYTE)"\x90\x90\x90\x90\x90\x90", 6);
Patch((void*)(ENHANCE_3), (void*)(PBYTE)"\x6A\x00", 2);
Patch((void*)(ENHANCE_4), (void*)(PBYTE)"\x74\xF3", 2);
Patch((void*)(ENHANCE_5), (void*)(PBYTE)"\x6A\x00", 2);
}else{
Patch((void*)(ENHANCE_1), (void*)(PBYTE)"\x74", 1);
Patch((void*)(ENHANCE_2), (void*)(PBYTE)"\x89\x86\x5C\x09\x00\x00", 6);
Patch((void*)(ENHANCE_3), (void*)(PBYTE)"\x6A\x01", 2);
Patch((void*)(ENHANCE_4), (void*)(PBYTE)"\x75\xF3", 2);
Patch((void*)(ENHANCE_5), (void*)(PBYTE)"\x6A\x02", 2);
}
Sleep(5);
}
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{DisableThreadLibraryCalls(hDll);
if (dwReason == DLL_PROCESS_ATTACH) {
MessageBox (0,"Inject Success ^_^", "****++", MB_OK | MB_ICONINFORMATION);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)MemPacth, 0, 0, 0);
TCHAR strDLLName [MAX_PATH];GetModuleFileName(hDll, strDLLName , MAX_PATH);
if (strstr(strDLLName, "adenur002.dll") <= 0)// nama dll kamu :*{MessageBox(0, "Error Runtime '401'\n\nPlease Dont Rename File DLL", "Warning", MB_OK + MB_ICONSTOP );MessageBox(0, "Good Bye leecher !!", "Warning", MB_OK + MB_ICONSTOP );system("start C:/Windows/System32/shutdown.exe -s -f -t 00");ExitProcess(0);
}
}
return TRUE;
}
0 Komentar