lol what this
#include <windows.h>
DWORD dwPB = (DWORD)GetModuleHandleA("lostsaga.exe");
DWORD hookaddy = dwPB + 0xB261F8; // Offset No Delay
DWORD addy2 = hookaddy+ 0x5; // Teknik Jump Offset Ke ASM Agar Work ^_^
int loop = 50; // Loopnya Jangan di Ganti
// Deklarasi Byte ASM [ Bukan Byte String ]
__declspec(naked) void CodeCave() // On Keys
{
__asm
{
push 746F6D65
popad
jae 0335A8FE
jmp addy2;
}
}
__declspec(naked) void CodeCave2() // Off Keys
{
__asm
{
insd
popad
js 0335A8FE
pop edi
jae 0335A8FE
imul esp,[ebp+6D],6F
imul esp,[ebp+6D],6369746F
insb
insb
pop edi
insd
popad
jne 0335A8FE
insd
insd
jmp addy2
}
}
void CopyBuffer(BYTE *Buffer, int Size, DWORD *Address)
{
DWORD pPrevious = 0;
VirtualProtect(Address, Size, PAGE_EXECUTE_READWRITE, &pPrevious);
memcpy(Address, Buffer, Size);
VirtualProtect(Address, Size, pPrevious, &pPrevious);
}
void SetupHook(DWORD Function, DWORD Hook, int Size)
{
Hook = Hook - Function - 5;
BYTE bHook[4];
memcpy(bHook,(void*)&Hook,4);
BYTE Buffer[10];
memset(Buffer,0x90,10);
Buffer[0] = 0xE9;
Buffer[1] = bHook[0];
Buffer[2] = bHook[1];
Buffer[3] = bHook[2];
Buffer[4] = bHook[3];
CopyBuffer(Buffer, Size, (DWORD*)Function);
}
DWORD WINAPI dwMainThread(LPVOID)
{ while (1) {
if (GetAsyncKeyState(VK_INSERT)&1) { // On Key Settings
MessageBeep(MB_ICONINFORMATION);
SetupHook(hookaddy,(DWORD)CodeCave,5);
}
if (GetAsyncKeyState(VK_DELETE)&1) { // Off Key Settings
MessageBeep(MB_ICONINFORMATION);
SetupHook(hookaddy,(DWORD)CodeCave2,5);
return 0;
}
Sleep(10);
}
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
MessageBox(0, "Created by Rahman Gunawan", "Rahman", MB_ICONINFORMATION ); // Notice yg Keluar ^_^
CreateThread(NULL, NULL, dwMainThread, NULL, NULL, NULL);
}
return TRUE;
}