Thread: Simple Hotkeys

Results 1 to 3 of 3
  1. #1
    c0dpe's Avatar
    Join Date
    Sep 2011
    Gender
    male
    Posts
    3
    Reputation
    10
    Thanks
    1
    My Mood
    Busy

    Simple Hotkeys

    Copy and paste, and run Ctrl + f7 hehehe Adrress Updated

    Code:
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include <stdio.h>
    #include <d3d9.h>
    #include <d3dx9.h>
    
    #pragma comment(lib, "d3d9.lib")
    #pragma comment(lib, "d3dx9.lib")
    
    
    #define ADR_engine 0x485F90
    #define InGame 0x377C8474 
    #define NoRecoil 0x37397BBC 
    #define name1 0x372ED5ED 
    #define name2 0x372ED56A
    
    INT visual, recoil;
    INT visualx;
    
    typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
    oPresent pPresent;
    
    void Memoria( void* pvAddress, void* pvBuffer, size_t len )
    {
        if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
            return;
    
        memcpy( ( void* )pvAddress, ( void* )pvBuffer, len );
    }
    
    void CreateDev(DWORD * dwVTable){
    LPDIRECT3D9 pD3d9 = NULL;
    LPDIRECT3DDEVICE9 pD3DDevice = NULL;
    pD3d9 = Direct3DCreate9(D3D_SDK_VERSION);
    if(pD3d9 == NULL){
    return;
    }
    D3DPRESENT_PARAMETERS pPresentParms;
    ZeroMemory(&pPresentParms,sizeof(pPresentParms));
    pPresentParms.Windowed = TRUE;
    pPresentParms.BackBufferFormat = D3DFMT_UNKNOWN;
    pPresentParms.SwapEffect = D3DSWAPEFFECT_DISCARD;
    if(FAILED(pD3d9->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,GetDesktopWindow(),D3DCREATE_SOFTWARE_VERTEXPROCESSING,&pPresentParms,&pD3DDevice))){
    return;
    }
    DWORD * dwTable = ( DWORD* )pD3DDevice;
    dwTable = ( DWORD* ) dwTable[0];
    dwVTable[0] = dwTable[16];
    dwVTable[1] = dwTable[17];
    dwVTable[2] = dwTable[82];
    }
    
    void CPush(const char* cmd)
    {
        _asm
        {
            PUSH cmd
            MOV EAX, ADR_engine
            CALL EAX
            ADD ESP, 0x4
        }
    }
    void main() 
    {
        if(GetAsyncKeyState(VK_NUMPAD1)&1) visual = !visual;
        
        if(visual && !visualx){
        CPush("ShowFps 1");
        CPush("SkelModelStencil 1");
        CPush("FogEnable 0");
        visualx = 1;
        } else if(!visual && visualx){
        CPush("ShowFps 0");
        CPush("SkelModelStencil 0");
        CPush("FogEnable 1");
        visualx = 0;
        }
    
        if(GetAsyncKeyState(VK_NUMPAD2)&1) recoil= !recoil;
    
        if((*(BYTE *)InGame== 1) && recoil){
            memcpy((VOID *)NoRecoil, (VOID *)(PBYTE)"\x90\x90\x90\x90", 4);
            memcpy((VOID *)name1, (VOID *)(PBYTE)"\x90\x90", 2);
            memcpy((VOID *)name2, (VOID *)(PBYTE)"\x90\x90", 2);
        } else {
            memcpy((VOID *)NoRecoil, (VOID *)(PBYTE)"\xD9\x44\x24\x14", 4);
            memcpy((VOID *)name1, (VOID *)(PBYTE)"\x75\x05", 2);
            memcpy((VOID *)name2, (VOID *)(PBYTE)"\x75\x05", 2);
        }
    }
    
    HRESULT WINAPI Present(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, 
                               CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
    {
        _asm pushad;
        main();
        _asm popad;
        return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
    }
    
    void *DetourCreate( BYTE *src, const BYTE *dst )
    {
        int len = 5;
    
        BYTE *jmp = (BYTE*)malloc( len+5 );
        DWORD dwBack;
        VirtualProtect( src, len, PAGE_EXECUTE_READWRITE, &dwBack );
        memcpy( jmp, src, len );    
        jmp += len;
        jmp[0] = 0xE9;
        *(DWORD*)( jmp+1 ) = (DWORD)( src+len - jmp ) - 5;
        src[0] = 0xE9;
        *(DWORD*)( src+1 ) = (DWORD)( dst - src ) - 5;
        VirtualProtect( src, len, dwBack, &dwBack );
    
        return( jmp-len );
    }
    
    DWORD WINAPI Aguardar(LPVOID lpArgs){
    DWORD dwD3D9 = NULL;
    while(!dwD3D9){
    Sleep(20);
    dwD3D9 = (DWORD)GetModuleHandleA("d3d9.dll");
    }
    DWORD dwVTable[3] = {0};
    CreateDev( dwVTable );
    pPresent = ( oPresent )DetourCreate(( PBYTE ) dwVTable[1], ( PBYTE ) &Present);
    return FALSE;
    }
    
    BOOL APIENTRY DllMain( HMODULE hModule, DWORD dwReason, LPVOID lpReserved ){
    if ( dwReason == DLL_PROCESS_ATTACH ){
            MessageBox(0, "c0dpeHotkeys", "CAEU HotKeys !", MB_OK);
    CreateThread( NULL, NULL, &Aguardar, NULL, NULL, NULL );
    }
    return TRUE;
    }
    Works for me

  2. #2
    ben4121's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    it sed that a file missing (d3dx9.h)
    and im new in this

  3. #3
    jelle2312's Avatar
    Join Date
    Oct 2011
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    where do i paste it ????

Similar Threads

  1. [Detected] Simple HotKey With Voice
    By Departure in forum Combat Arms Hacks & Cheats
    Replies: 406
    Last Post: 03-20-2011, 04:19 PM
  2. First hack, simple hotkey.
    By yaserifti1 in forum Combat Arms Coding Help & Discussion
    Replies: 7
    Last Post: 02-05-2011, 01:23 PM
  3. [Release] With0utEnD Simple HotKey Hack ("{Pretty Hot}")
    By Sydney in forum Combat Arms Europe Hacks
    Replies: 51
    Last Post: 08-31-2010, 06:35 AM
  4. [Release] J-Deezy's simple hotkey hack (Works after the patch)
    By Jason in forum Combat Arms Hacks & Cheats
    Replies: 207
    Last Post: 07-30-2010, 05:00 AM
  5. [Release] Simple hotkey Auto Clicker
    By dylan40 in forum Visual Basic Programming
    Replies: 6
    Last Post: 03-24-2010, 09:24 PM