Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Hackshield Undetect [ Novo Método ]


'Higor
 Compartilhar

Posts Recomendados

#include "Includes.h"

#include "Classes.h"

]#include "GameContext.h"

#include "GameCharaManager.h"

#include "GameCharaBase.h"

#define Detour_Type_0xE9 1

#define Detour_Type_0xB8 2

#define Detour_Type_0x68 3

#define Detour_Type_0xE8 4

#define HOOK(func,addy) CreateDetour((DWORD)func,(DWORD)addy,Detour_Type_0 xE9, 5)

#define g_pD3DX9_Hook (DWORD)LoadLibraryA("i3BaseDx_Cli.dll")+0xFBA0 static LPDIRECT3DDEVICE9 pDevice;

 

void FillRGB(int x, int y, int w, int h, D3DCOLOR Color, LPDIRECT3DDEVICE9 pDevice)

 

{

D3DRECT rec = { x, y, x + w, y + h }; pDevice->Clear(1, &rec, D3DCLEAR_TARGET, Color, 0, 0);

}

DWORD CreateDetour(DWORD dwThread,DWORD dwAdress,DWORD dwType,DWORD dwSize)

{

DWORD dwDetour,dwProtect,i;

if (dwAdress&&dwThread&&dwSize>= dwSize)

{

dwDetour = (DWORD)VirtualAlloc(0,dwSize+dwSize,0x1000,0x40);

if (dwDetour&&VirtualProtect((VOID*)dwAdress,dwSize,0 x40,&dwProtect))

{

for (i=0;i<dwSize;i++)

{

*(BYTE*)(dwDetour+i)=*(BYTE*)(dwAdress+i);

}

switch (dwType)

{

case Detour_Type_0xE9:

*(BYTE*)(dwDetour+dwSize+0)=0xE9;

*(DWORD*)(dwDetour+dwSize+1)=(dwAdress-dwDetour-dwSize);

*(BYTE*)(dwAdress+0)=0xE9;

*(DWORD*)(dwAdress+1)=(dwThread-dwAdress-dwSize);

}

break;

case Detour_Type_0xE8:

*(BYTE*)(dwDetour+dwSize+0)=0xE8;

*(DWORD*)(dwDetour+dwSize+1)=(dwAdress-dwDetour-dwSize);

*(BYTE*)(dwAdress+0)=0xE8;

*(DWORD*)(dwAdress+1)=(dwThread-dwAdress-dwSize);

break;

case Detour_Type_0xB8:

{

*(BYTE*)(dwDetour+dwSize+0)=0xB8;

*(DWORD*)(dwDetour+dwSize+1)=(dwAdress+dwSize);

*(WORD*)(dwDetour+dwSize+5)=0xE0FF;

*(BYTE*)(dwAdress+0)=0xB8;

*(DWORD*)(dwAdress+1)=(dwThread);

*(WORD*)(dwAdress+5)=0xE0FF;

}

break;

case Detour_Type_0x68:

{

*(BYTE*)(dwDetour+dwSize+0)=0x68;

*(DWORD*)(dwDetour+dwSize+1)=(dwAdress+dwSize);

*(WORD*)(dwDetour+dwSize+5)=0xC3;

*(BYTE*)(dwAdress+0)=0x68;

*(DWORD*)(dwAdress+1)=(dwThread);

*(WORD*)(dwAdress+5)=0xC3;

}

break;

}

VirtualProtect((VOID*)dwAdress,dwSize,dwProtect,&d wProtect);

VirtualProtect((VOID*)dwDetour,dwSize+dwSize,0x20, &dwProtect);

return dwDetour;

}

}

return (0);

}

__declspec (naked) void myRedirect (void)

{

__asm pushad

pDevice = i3Viewer::Singleton()->RenderContext->pDevice;

if (pDevice && pDevice->TestCooperativeLevel() != D3DERR_DEVICELOST)

{

FillRGB(10, 10, 80, 80, D3DCOLOR_ARGB(255, 255, 000, 000), pDevice);

}

__asm

{

popad

mov eax, [ecx+4]

cmp eax, [ecx+8]

jz Final

mov [ecx+8], eax

Final:

retn

}

}

unsigned int __stdcall MyThread(void* pArgs)

{

logg << "EXEC" << endl;

system("PAUSE");

HOOK(myRedirect, g_pD3DX9_Hook);

logg << "HOOK" << endl;

return 1;

}

 

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)

{

switch (fdwReason)

{

case DLL_PROCESS_ATTACH:

AllocConsole();

_beginthreadex(0, 0, MyThread, 0, 0, 0);

return true;

break;

default:

return true;

};

}

 

Créditos:

 

AceStryker

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.