skip to main |
skip to sidebar
RSS Feeds
Giving the best hacks for MapleStory SEA.
Giving the best hacks for MapleStory SEA.
4:13 AM
Posted by Nerrazzuri
Yes, this is a tutorial including converting simple AA script, to codecave scripts.
It will be short and sweet. I don't include any dll stuff inside just merge it with the dll you've made.
Ok, let's start it.
We take this simple Instant Drop script
//instant drop
// updated to MSEA 93 by nerrazzuri
[enable]
00ad0dd0:
add [eax],al
add [eax],al
add [eax],al
add [eax],al
[disable]
00af0dd0:
add [eax],al
add [eax],al
add [eax-71],al
inc eax
add [eax], al //bytes 00 00
add [eax-71], al//bytes 00 40 8f
inc eax// bytes 40
add [eax], al // bytes 00 00
DWORD dwInstantDropAddy = 0x00af0dd0;
BYTE Enabledbytes[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
BYTE Disabledbytes[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40};
void InstantDrop (__in BOOL bEnable)
{
if(bEnable)
{
memcpy((void*)dwInstantDropAddy, Enabledbytes, sizeof(Enabledbytes));
}
else
{
memcpy((void*)dwInstantDropAddy, Disabledbytes, sizeof(Disabledbytes));
}
}
[ENABLE]
alloc(MonsterBook,24)
registersymbol(MonsterBook)
0095d048:
jmp MonsterBook
MonsterBook:
mov eax,5
jmp 0095d04d
[disable]
0095d048:
call 007018c0
dealloc(MonsterBook,24)
unregistersymbol(MonsterBook)
#define jmp(frm, to) (int)(((int)to - (int)frm) - 5);
DWORD g_dwBook = 0x0095d048, g_dwBooKRet = g_dwBook + 5;
char g_szBookMem[5];
__declspec(naked) void __stdcall MonsterBook()
{
__asm
{
mov eax,5
jmp dword ptr [g_dwBookRet]
}
}
g_dwBooKRet = g_dwBook + 5;
jmp dword ptr [g_dwBookRet]
void tglMonsterBook(__in BOOL bEnable)
{
memcpy(g_szBookMem, (void*)g_dwBook, 5)//copy clean memory
if(bEnable)
{
*(BYTE*) g_dwBook = 0xe9; // 0xe9 = jmp
*(DWORD*)(g_dwBook + 1) = jmp(g_dwBook, MonsterBook); // jmp to cave
}
else
{
memcpy( (void*)g_dwBook, g_szBookMem, 5);//copy the original bytes back to the address
}
}
*(BYTE*) g_dwBook = 0xe9;
*(DWORD*)(g_dwBook + 1) = jmp(g_dwBook, MonsterBook);
Post a Comment