Tirar DC da (WhitBase)
Coloque Isso No detours.cpp
E Use Esse Console:
Tipo Assim
Creditos:
@TokolocoSK (EU)
@Strikex
@WE11ington
Quem Fez o Console PUSH?( Credito a Ele)
Code:
#include "Files.h"
#include "detours.h"
INT DetourASMlen(BYTE *src, INT minlen)
{
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
INT i, len;
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
for(len = 0; len < minlen; len += i) {
i = mlde32((VOID *)src);
if(i <= 0)
return 0;
src += i;
}
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
return len;
}
VOID *DetourCreate(BYTE *src, CONST BYTE *dst, INT minlen)
{
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
BYTE *jmp, *org;
DWORD dwBack;
INT len;
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
len = DetourASMlen(src, (minlen < 6)?6:minlen);
if(len == 0 && minlen >= 6)
len = minlen;
if(len == 0)
return 0;
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
org = jmp = (BYTE *)malloc(len + 5 + 1);
jmp[0] = len;
jmp++;
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
memcpy(jmp, src, len);
jmp += len;
jmp[0] = 0xE9;
*(DWORD *)(jmp + 1)=(DWORD)(src + len - jmp) - 5;
_asm {
PUSHAD;
NOP;
MOV EAX, 1;
NOP;
POPAD;
}
src[0] = 0x68;
*(DWORD *)(src + 1) = (DWORD)(dst);
src[5] = 0xc3;
for(INT i = 6; i < len; i++)
src[i] = 0x90;
VirtualProtect(src, len, dwBack, &dwBack);
_asm {
PUSHAD;
NOP;
MOV EXA, 1;
NOP;
POPAD;
}
return &org[1];
}
VOID DetourRemove(BYTE *src, BYTE *dst, INT len)
{
BYTE *jmp = (BYTE*)malloc(len+5);
DWORD dwBack;
len = *(BYTE *)(dst - 1);
VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
memcpy(src, dst, len);
dst[0] = 0xE9;
*(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
VirtualProtect(src, len, dwBack, &dwBack);
}
E Use Esse Console:
Code:
void WINAPIV Push( char* cMd )
{
_asm
{
puSh cMd
MOV EAX, LTClientEXE
caLL eaX
aDD eSP, 4
}
}
Code:
if(fog) {
Push("FogEnable 0");
} else {
Push("FogEnable 1");
}
PAKEANDO COM THEMIDA PARA FINALIZAR
Creditos:
@TokolocoSK (EU)
@Strikex
@WE11ington
Quem Fez o Console PUSH?( Credito a Ele)


