Thread: D3D Aimbot code

Page 1 of 2 12 LastLast
Results 1 to 15 of 27
  1. #1
    -Away-'s Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    At my house on my computer i live in C:/Users/-Away-/HACKS Post: 1,00,00,00
    Posts
    475
    Reputation
    -3
    Thanks
    32
    My Mood
    Sick

    D3D Aimbot code

    Sup im giving you guys D3D aim bot code and im making hack right now soooo yea...
    Code:
    //=====================================================================================
    // Credits
    // Call Me Eclipse
    // Reunion
    // Monkey 666
    // More ...
    // Etc . can't recall
    
    #define _CRT_SECURE_NO_WARNINGS
    
    #include <windows.h>
    #include <iostream>
    #include <fstream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h> 
    #include <atlbase.h> 
    #include <atlstr.h> 
    #include <math.h> 
    #include <time.h> 
    #include <psapi.h>  
    
    using namespace std;
    
    #pragma comment(lib, "psapi.lib")
    
    #include <d3d9.h>
    #pragma comment(lib, "d3d9.lib")
    
    #include <d3dx9.h>
    #pragma comment(lib, "d3dx9.lib")
    
    //=====================================================================================
    
    const BYTE bMaroon[60] = 
    { 
            0x42, 0x4D, 0x3C, 0x00,0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 
            0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 
            0x01, 0x00, 0x00, 0x00, 0x01,0x00, 
            0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 
            0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x15, 0x00, 0x88, 0x00, 0x00, 0x00 
    };
    
    const BYTE bOrange[60] = 
    { 
            0x42, 0x4D, 0x3C, 0x00,0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 
            0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 
            0x01, 0x00, 0x00, 0x00, 0x01,0x00, 
            0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 
            0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x71, 0xFF, 0x00, 0x00, 0x00 
    };
    
    const BYTE bBlue[60] = 
    { 
            0x42, 0x4D, 0x3C, 0x00,0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 
            0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 
            0x01, 0x00, 0x00, 0x00, 0x01,0x00, 
            0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 
            0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x80, 0x00, 0x00, 0x00, 0x00, 0x00 
    };
    
    const BYTE bLBlue[60] = 
    { 
            0x42, 0x4D, 0x3C, 0x00,0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 
            0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 
            0x01, 0x00, 0x00, 0x00, 0x01,0x00, 
            0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 
            0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            0xFF, 0x80, 0x00, 0x00, 0x00, 0x00 
    };
    
    typedef HRESULT (WINAPI* CreateDevice_Prototype)        (LPDIRECT3D9, UINT, D3DDEVTYPE, HWND, DWORD, D3DPRESENT_PARAMETERS*, LPDIRECT3DDEVICE9*);
    typedef HRESULT (WINAPI* Reset_Prototype)               (LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*);
    typedef HRESULT (WINAPI* BeginScene_Prototype)                  (LPDIRECT3DDEVICE9);
    typedef HRESULT (WINAPI* EndScene_Prototype)            (LPDIRECT3DDEVICE9);
    typedef HRESULT (WINAPI* DrawIndexedPrimitive_Prototype)(LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE, INT, UINT, UINT, UINT, UINT);
    
    CreateDevice_Prototype         CreateDevice_Pointer         = NULL;
    Reset_Prototype                Reset_Pointer                = NULL;
    BeginScene_Prototype           BeginScene_Pointer           = NULL;
    EndScene_Prototype             EndScene_Pointer             = NULL;
    DrawIndexedPrimitive_Prototype DrawIndexedPrimitive_Pointer = NULL;
    
    HRESULT WINAPI Direct3DCreate9_VMTable    (VOID);
    HRESULT WINAPI CreateDevice_Detour        (LPDIRECT3D9, UINT, D3DDEVTYPE, HWND, DWORD, D3DPRESENT_PARAMETERS*, LPDIRECT3DDEVICE9*);
    HRESULT WINAPI Reset_Detour               (LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*);
    HRESULT WINAPI EndScene_Detour            (LPDIRECT3DDEVICE9);
    HRESULT WINAPI DrawIndexedPrimitive_Detour(LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE, INT, UINT, UINT, UINT, UINT);
    
    D3DCOLOR 
    
    FontColor                       = D3DCOLOR_ARGB(150, 20, 20, 20),
    ESPColor                        = D3DCOLOR_ARGB(150, 20, 255, 20),
    XHairColor                      = D3DCOLOR_ARGB(150, 255, 255, 20),
    ConsoleColor            = D3DCOLOR_ARGB(150, 255, 255, 255),
    ConsoleLineColor        = D3DCOLOR_ARGB(150, 20, 20, 20),
    ConsoleTitleColor       = D3DCOLOR_ARGB(150, 255, 255, 255),
    WhiteColor                      = D3DCOLOR_ARGB(255,255,255,255),
    
    *pColor;
    
    LPDIRECT3DSURFACE9 
    
    originalSurface                 = NULL,
    originalDStencilSurface = NULL,
    NewLSurface                             = NULL,
    NewSurface                              = NULL;
    
    D3DSURFACE_DESC 
    
    originalSurfaceDesc,
    originalDepthSurfaceDesc;
    
    LPDIRECT3DTEXTURE9 
    
    texMaroon       = NULL,
    texOrange       = NULL,
    texBlue         = NULL,
    texLBlue        = NULL;
    
    DWORD
    
    TempX[220]  = {NULL},
    TempY[220]  = {NULL},
    color[220]      = {NULL},
    
    ColorArray[400000] = {0};
    
    BOOL 
    
    TeamUSA = FALSE,
    TeamMEC = FALSE,
    NotInc  = FALSE,
    SRGBE   = FALSE,
    FGE             = FALSE,
    
    btKeyProc = FALSE;
    
    UINT 
    
    Scale   = 0,
    XStride = 0,
    Radius  = 0;
    
    BYTE 
    
    InitResources   = 0x00,
    bIngameDetector = 0x00,
    btIngame                = 0x00,
    Aim_US_MEC              = 0x01,
    
    bKeyBstate[256] = {0x00},
    
    btConsole               = 0x00,
    ConKey                  = 0x00,
    wall                    = 0x00,
    NoFog                   = 0x00,
    AimThru                 = 0x00,
    ColorDetector   = 0x00,
    AIM                             = 0x00,
    XHair                   = 0x00,
    ESP                             = 0x00,
    bLoad                   = 0x00,
    bInitDX                 = 0x00;
    
    D3DRECT 
    
    rConsole,
    rConsoleLine,
    rConsoleTitle;
    
    D3DVIEWPORT9 
    Viewport;
    
    ID3DXBuffer 
    *MyBuffer       = NULL;
    
    ID3DXFont 
    * pFont         = NULL;
    
    ID3DXLine 
    * pLine         = NULL;
    
    HHOOK 
    KeyHook;
    
    D3DXVECTOR2 
    
    LineX[1024],
    Line[2],
    LineA[2],
    LineB[2];
    
    RECT 
    rFont;
    
    HANDLE
    hProc;
    
    D3DLOCKED_RECT 
    LOCKEDRECT;
    
    LPBYTE 
    pBits = NULL;
    
    POINT 
    AimAt[400000] = {-1};
    
    LPDIRECT3DPIXELSHADER9 
    
    shadecolor[220] = {NULL},
    OriginalShaders = NULL;
    
    char 
    
    MyShader        [MAX_PATH],
    ConBuffer       [MAX_PATH],
    DLL_PATH        [MAX_PATH],
    chConsole       [MAX_PATH],
    chCvars         [512];
    
    float 
    
    Step  = 0.0f,
    circ1 = 0.0f,
    circ2 = 0.0f,
    circ3 = 0.0f,
    circ4 = 0.0f,
    
    View  = 1.0f;
    
    int 
    
    FOV                             = 0,
    Count                   = 0,
    FirstPos                = 0,
    LastPos                 = 0,
    NumberOfObjects = 0,
    NumberOfShaders = 0,
    BITSPERPIXEL    = 32;
    
    BOOL __stdcall Save( );
    BOOL __stdcall Load( );
    
    LRESULT CALLBACK KeyProc
    (int  code,WPARAM  wParam,LPARAM  lParam);
    
    int __stdcall GetDistance
    ( long x1, long x2, long y1, long y2 );
    
    DWORD WINAPI VirtualMethodTableRepatchingLoopToCounterExtensionRepatching(LPVOID);
    PDWORD Direct3D_VMTable = NULL;
    
    //=====================================================================================
    
    BOOL WINAPI DllMain(HINSTANCE hinstModule, DWORD dwReason, LPVOID lpvReserved)
    {
      if(dwReason == DLL_PROCESS_ATTACH)
      {
        DisableThreadLibraryCalls(hinstModule);
    
            GetModuleFileNameA(hinstModule, DLL_PATH, MAX_PATH);
            DLL_PATH[strlen(DLL_PATH)-3] = 0;
        strcat(DLL_PATH, "ini");
    
            ConKey = (BYTE)VkKeyScan('`');
    
            if(Direct3DCreate9_VMTable() == D3D_OK){
                    return TRUE;
            }
      }
    
      return FALSE;
    }
    
    //=====================================================================================
    
    HRESULT WINAPI Direct3DCreate9_VMTable(VOID)
    {
      LPDIRECT3D9 Direct3D_Object = Direct3DCreate9(D3D_SDK_VERSION);
    
      if(Direct3D_Object == NULL)
      return D3DERR_INVALIDCALL;
      
      Direct3D_VMTable = (PDWORD)*(PDWORD)Direct3D_Object;
      Direct3D_Object->Release();
    
      DWORD dwProtect;
    
      if(VirtualProtect(&Direct3D_VMTable[16], sizeof(DWORD), PAGE_READWRITE, &dwProtect) != 0)
      {
        *(PDWORD)&CreateDevice_Pointer = Direct3D_VMTable[16];
        *(PDWORD)&Direct3D_VMTable[16] = (DWORD)CreateDevice_Detour;
    
        if(VirtualProtect(&Direct3D_VMTable[16], sizeof(DWORD), dwProtect, &dwProtect) == 0)
        return D3DERR_INVALIDCALL;
      }
      else
      return D3DERR_INVALIDCALL;
    
      return D3D_OK;
    }
    
    //=====================================================================================
    
    HRESULT WINAPI CreateDevice_Detour(LPDIRECT3D9 Direct3D_Object, UINT Adapter, D3DDEVTYPE DeviceType, HWND FocusWindow, 
                        DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* PresentationParameters, 
                        LPDIRECT3DDEVICE9* Returned_Device_Interface)
    {
      HRESULT Returned_Result = CreateDevice_Pointer(Direct3D_Object, Adapter, DeviceType, FocusWindow, BehaviorFlags, 
                                                  PresentationParameters, Returned_Device_Interface);
       
      DWORD dwProtect;
    
      if(VirtualProtect(&Direct3D_VMTable[16], sizeof(DWORD), PAGE_READWRITE, &dwProtect) != 0)
      {
        *(PDWORD)&Direct3D_VMTable[16] = *(PDWORD)&CreateDevice_Pointer;
        CreateDevice_Pointer           = NULL;
    
        if(VirtualProtect(&Direct3D_VMTable[16], sizeof(DWORD), dwProtect, &dwProtect) == 0)
        return D3DERR_INVALIDCALL;
      }
      else
      return D3DERR_INVALIDCALL;
    
      if(Returned_Result == D3D_OK)
      {
        Direct3D_VMTable = (PDWORD)*(PDWORD)*Returned_Device_Interface;
    
        *(PDWORD)&Reset_Pointer                = (DWORD)Direct3D_VMTable[16];
            *(PDWORD)&BeginScene_Pointer           = (DWORD)Direct3D_VMTable[41];
        *(PDWORD)&EndScene_Pointer             = (DWORD)Direct3D_VMTable[42];
        *(PDWORD)&DrawIndexedPrimitive_Pointer = (DWORD)Direct3D_VMTable[82];
    
        if(CreateThread(NULL, 0, VirtualMethodTableRepatchingLoopToCounterExtensionRepatching, NULL, 0, NULL) == NULL)
        return D3DERR_INVALIDCALL;
      }
        
      return Returned_Result;
    }
    
    //=====================================================================================
    
    HRESULT WINAPI Reset_Detour(LPDIRECT3DDEVICE9 Device_Interface, 
                                    D3DPRESENT_PARAMETERS* PresentationParameters)
    {
    
            if( texOrange )
                    if(texOrange->Release() == S_OK)
                            texOrange = NULL;
    
            if( texMaroon )
                    if(texMaroon->Release() == S_OK)
                            texMaroon = NULL;
    
            if( texBlue )
                    if(texBlue->Release() == S_OK)
                            texBlue = NULL;
    
            if( texLBlue )
                    if(texLBlue->Release() == S_OK)
                            texLBlue = NULL;
    
            if( pFont )
                    if(pFont->Release() == S_OK)
                            pFont = NULL;
    
            if( pLine )
                    if(pLine->Release() == S_OK)
                            pLine = NULL;
    
            if( NewSurface )
                    if(NewSurface->Release() == S_OK)
                            NewSurface = NULL;
    
            if( NewLSurface )
                    if(NewLSurface->Release() == S_OK)
                            NewLSurface = NULL;
    
            if( originalSurface )
                    if(originalSurface->Release() == S_OK)
                            originalSurface = NULL;
    
            if( originalDStencilSurface )
                    if(originalDStencilSurface->Release() == S_OK)
                            originalDStencilSurface = NULL;
    
            if( OriginalShaders )
                    if(OriginalShaders->Release() == S_OK)
                            OriginalShaders = NULL;
    
            for( int x = 0;x < NumberOfObjects;x++ )
                    if( shadecolor[x] )
                            if(shadecolor[x]->Release() == S_OK)
                                    shadecolor[x] = NULL;
    
            InitResources = 0x00;
    
      return Reset_Pointer(Device_Interface, PresentationParameters);
    }
    
    //=====================================================================================
    
    HRESULT WINAPI BeginScene_Detour(LPDIRECT3DDEVICE9 Device_Interface)
    {
            Device_Interface->GetViewport( &Viewport );
    
            if( !bLoad && btIngame ){
                    Load();
                    bLoad = 0x01;
            }
    
            if( bIngameDetector )
                    btIngame = 0x01;
            else
                    btIngame = 0x00;
    
        if( !InitResources ){
    
                    /* Create Textures */
                    D3DXCreateTextureFromFileInMemory(Device_Interface, (LPCVOID)&bOrange,  60,  &texOrange);
                    D3DXCreateTextureFromFileInMemory(Device_Interface, (LPCVOID)&bMaroon,  60,  &texMaroon);
                    D3DXCreateTextureFromFileInMemory(Device_Interface, (LPCVOID)&bBlue,    60,  &texBlue);
                    D3DXCreateTextureFromFileInMemory(Device_Interface, (LPCVOID)&bLBlue,   60,  &texLBlue);
    
                    /* Create font */
                    D3DXCreateFont(Device_Interface, 14,0, FW_BOLD, 0, FALSE,DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
                            DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE,TEXT("Cambria"), &pFont );
    
                    /* Create a line */
                    D3DXCreateLine( Device_Interface, &pLine );
                    pLine->SetAntialias( TRUE );
                    pLine->SetWidth( 2.0f );
    
                    /* Get Original Rendertarget Data */
                    Device_Interface->GetRenderTarget( 0,&originalSurface );
                    originalSurface->GetDesc( &originalSurfaceDesc );
    
                    if( originalSurface )
                            if(originalSurface->Release() == S_OK)
                                    originalSurface = NULL;
    
                    /* Set The Default Radius */
                    Radius = Viewport.Width/8;
    
                    /* Screen size difference */
                    Scale = (UINT)(Viewport.Width/400);
    
                    /* Create Small RenderTarget */
                    Device_Interface->CreateRenderTarget( (UINT)(Viewport.Width/Scale), 
                            (UINT)(Viewport.Height/Scale), D3DFMT_A8R8G8B8, 
                                    D3DMULTISAMPLE_NONE, 0,TRUE, &NewSurface, NULL);
                    
                    /* Create Large RenderTarget */
                    Device_Interface->CreateRenderTarget((UINT)Viewport.Width, 
                            (UINT)Viewport.Height, D3DFMT_A8R8G8B8, D3DMULTISAMPLE_NONE, 
                                    0, TRUE, &NewLSurface, NULL);
    
                    /* Create Shaders */
                    NumberOfShaders = 0;
                    for(int x = 1;x < 7;x++)
                    {
                            for(int y = 1;y < 7;y++)
                            {
                                    for(int z = 1;z < 7;z++)
                                    {
                                            MyBuffer = NULL;
                                            
                                            sprintf( MyShader, "ps.1.1\ndef c0, %f, %f, %f, %f\nmov r0,c0", 
                                                    (float)((float)x*(float)40)/(float)255, (float)((float)y*(float)40)/(float)255, 
                                                            (float)((float)z*(float)40)/(float)255,(float) (float)255/(float)255 );
    
                                            D3DXAssembleShader( MyShader, sizeof( MyShader ), NULL, NULL, 0, &MyBuffer , NULL );
    
                                            Device_Interface->CreatePixelShader((const DWORD*)MyBuffer ->GetBufferPointer(), &shadecolor[NumberOfShaders]);
    
                                            color[NumberOfShaders] = (DWORD)D3DXCOLOR((float)((float)x*(float)40)/(float)255, 
                                                    (float)((float)y*(float)40)/(float)255, (float)((float)z*(float)40)/(float)255, 
                                                            (float) ((float)255/(float)255));
    
                                            NumberOfShaders++;
                                    }
                            }
                    }
    
                    /* Initialize StretchRect */
                    Device_Interface->StretchRect( NewLSurface, NULL,
                            NewSurface, NULL, D3DTEXF_NONE );
    
                    InitResources = 0x01;
            }
    
            /* Set The FOV */
            FOV = GetDistance( Radius + Viewport.Width/2, Viewport.Width/2, 0, 0 );
    
            /* Circle drawing */
            Step = 3.14159265f * 2.0f / (float)(Radius/2);
    
            Count = 0;
    
            for (float index=0; index < 3.14159265 *2.0; index += Step)
            {
                    circ1 = (float)Radius * cos(index) + (float)(Viewport.Width/2);
                    circ2 = (float)Radius * sin(index) + (float)(Viewport.Height/2);
                    circ3 = (float)Radius * cos(index+Step) + (float)(Viewport.Width/2);
                    circ4 = (float)Radius * sin(index+Step) + (float)(Viewport.Height/2);
                    LineX[Count].x = circ1;
                    LineX[Count].y = circ2;
                    LineX[Count+1].x = circ3;
                    LineX[Count+1].y = circ4;
                    Count += 2;
            }
    
            /* SetWindowHookEx */
            if( !btKeyProc ){
                    DWORD ThdID = GetCurrentThreadId();
                    KeyHook =       SetWindowsHookExA(WH_KEYBOARD,&KeyProc,0,ThdID);
                    btKeyProc = 0x01;
            }
    
            bIngameDetector = 0x00;
            NumberOfObjects = 0;
    
      return BeginScene_Pointer(Device_Interface);
    }
    
    //=====================================================================================
    
    BOOL __stdcall DrawConsole( LPDIRECT3DDEVICE9 Device_Interface )
    {
            if( btConsole && btIngame )
            {
                    rConsole.x1 = (Viewport.Width/2) - (Viewport.Width/4);
                    rConsole.y1 = (Viewport.Height/2) - (Viewport.Height/8);
                    rConsole.x2 = (Viewport.Width/2) + (Viewport.Width/4);
                    rConsole.y2 = (Viewport.Height/2) + (Viewport.Height/4);
    
                    rFont.left              = rConsole.x1 + 10;
                    rFont.top               = rConsole.y2 - 18;
                    rFont.right             = rConsole.x2;
                    rFont.bottom    = rConsole.y2;
    
                    rConsoleLine.x1 = rConsole.x1;
                    rConsoleLine.y1 = rFont.top - 6;
                    rConsoleLine.x2 = rConsole.x2;
                    rConsoleLine.y2 = rFont.top - 5;
    
                    rConsoleTitle.x1 = rConsole.x1;
                    rConsoleTitle.y1 = rConsole.y1 - 18;
                    rConsoleTitle.x2 = rConsole.x2;
                    rConsoleTitle.y2 = rConsole.y1;
    
                    Device_Interface->Clear( 1, &rConsole, D3DCLEAR_TARGET, 
                            ConsoleColor, 0,  0 );
    
                    Device_Interface->Clear( 1, &rConsoleLine, D3DCLEAR_TARGET, 
                            ConsoleLineColor, 0,  0 );
    
                    Device_Interface->Clear( 1, &rConsoleTitle, D3DCLEAR_TARGET, 
                            ConsoleTitleColor, 0,  0 );
    
                    rConsoleLine.x1 = rConsole.x1;
                    rConsoleLine.y1 = rConsole.y1;
                    rConsoleLine.x2 = rConsole.x2;
                    rConsoleLine.y2 = rConsole.y1 + 1;
    
                    Device_Interface->Clear( 1, &rConsoleLine, D3DCLEAR_TARGET, 
                            ConsoleLineColor, 0,  0 );
    
                    pFont->DrawTextA(NULL, (LPCSTR)chConsole, -1, &rFont, DT_LEFT, FontColor);
    
                    rFont.top               = rConsoleTitle.y1 + 2;
                    rFont.bottom    = rConsoleTitle.y2;
    
                    char chTitle[] = "CONSOLE";
    
                    pFont->DrawTextA(NULL, (LPCSTR)chTitle, -1, &rFont, DT_LEFT, FontColor);
    
                    char chUCFORUM[] = "UCFORUM D3D PROGRAMMING";
    
                    rFont.top               = rConsole.y2 - 38;
                    rFont.bottom    = rConsole.y2 - 24;
    
                    pFont->DrawTextA(NULL, (LPCSTR)chUCFORUM, -1, &rFont, DT_LEFT, FontColor);
    
                    char chAim_US_MEC[4];
    
                    if( Aim_US_MEC )
                            sprintf( chAim_US_MEC, "US" );
                    else
                            sprintf( chAim_US_MEC, "MEC" );
    
                    sprintf( chCvars, \
                            "CVARS 0/1\n\n" \
                            "WALL %i\n" \
                            "NOFOG %i\n" \
                            "FOV %i\n" \
                            "AIM %i\n" \
                            "AIMTHRU %i\n" \
                            "ESP %i\n" \
                            "AIM @ %s\n" \
                            "SAVE\n" \
                            "LOAD\n" \
                    ,wall,NoFog,FOV,AIM,AimThru,ESP,chAim_US_MEC );
    
                    rFont.top               = rConsole.y1 + 14;
                    rFont.bottom    = rConsole.y2;
    
                    pFont->DrawTextA(NULL, (LPCSTR)chCvars, -1, &rFont, DT_LEFT, FontColor);
    
            }
    
            return TRUE;
    
    }
    //=====================================================================================
    
    int __stdcall GetDistance( long x1, long x2, long y1, long y2 )
    {
            long ResA = (x1 - x2) * (x1 - x2);
    
            long ResB = (y1 - y2) * (y1 - y2);
    
            double ResC = (double)(ResA + ResB);
    
            return (int)sqrt( ResC );
    }
    
    //=====================================================================================
    
    HRESULT WINAPI EndScene_Detour(LPDIRECT3DDEVICE9 Device_Interface)
    {
        DrawConsole( Device_Interface );
    
            /* // View NewLSuface
            RECT rectx;
            rectx.left = Viewport.Width - (Viewport.Width/4);
            rectx.top = 0;
            rectx.right = Viewport.Width;
            rectx.bottom = (Viewport.Height/4);
    
            Device_Interface->GetRenderTarget( 0,&originalSurface );
    
            Device_Interface->StretchRect( NewLSurface, NULL,
                            originalSurface, &rectx, D3DTEXF_NONE );
    
            if( originalSurface ){
                    originalSurface->Release();
                    originalSurface = NULL;
            }*/
    
        int PixelCtr = 0;
            POINT ClosestTarget;
            ClosestTarget.x = -1;
            ClosestTarget.y = -1;
    
            /* Lock the small rendertarget to get 2d coords . auto edge included . */
            if( NumberOfObjects > 0 && btIngame )
            {
                    Device_Interface->StretchRect( NewLSurface, NULL,
                            NewSurface, NULL, D3DTEXF_NONE );
            }
    
            /* Draw Crosshair */
            if( !btConsole && XHair && btIngame ){
    
                    int Len = 15;
    
                    Line[0].x = (float)((Viewport.Width/2));
                    Line[0].y = (float)((Viewport.Height/2) - Len);
                    Line[1].x = (float)((Viewport.Width/2));
                    Line[1].y = (float)((Viewport.Height/2) + Len);
                    pLine->Begin();
                    pLine->Draw(Line,2,XHairColor);
                    pLine->End();
                                                                                                    
                    Line[0].x = (float)((Viewport.Width/2) - Len);
                    Line[0].y = (float)((Viewport.Height/2));
                    Line[1].x = (float)((Viewport.Width/2) + Len);
                    Line[1].y = (float)((Viewport.Height/2));
                    pLine->Begin();
                    pLine->Draw(Line,2,XHairColor);
                    pLine->End();
            }
    
            /* Draw Circle */
            if( FOV > 0 && !btConsole && btIngame ){
                    pLine->Begin();
                    pLine->Draw(LineX,Count,D3DXCOLOR(1.0, 0.0, 0.0, 1.0));
                    pLine->End();
            }
    
            if( NumberOfObjects > 0 && btIngame )
            {
                    if( NewSurface->LockRect( &LOCKEDRECT, NULL,
                                    D3DLOCK_READONLY ) == S_OK )
                    {                               
                            for( long scy = (long)1; scy <= (long)
                                    ( Viewport.Height / (int) +Scale ); scy++ )
                            {
                                    for( long scx = (long)1; scx <= (long)
                                            ( Viewport.Width / (int) +Scale); scx++ )
                                    {
                                            AimAt[ PixelCtr ].x = -1;
                                            AimAt[ PixelCtr ].y = -1;
                                            ColorArray[ PixelCtr ] = -1;
                                            pBits = ( LPBYTE ) LOCKEDRECT.pBits;
                                            pBits += ( ( scy * LOCKEDRECT.Pitch ) 
                                                    + ( scx * ( BITSPERPIXEL / 8 ) ) );
                                            pColor = ( D3DCOLOR* ) pBits;
                                            if( *pColor != NULL )
                                            {                       
                                                    AimAt[ PixelCtr ].x = scx;
                                                    AimAt[ PixelCtr ].y = scy;
                                                    ColorArray[ PixelCtr ] = *pColor;
                                                    if( PixelCtr < 400000 )
                                                            PixelCtr++;
                                            }
                                    }
                            }
                            NewSurface->UnlockRect( );
                    }
    
                    /* loop through the pixel data to get colors */
                    int ClosestPosition = 0;
    
                    if( FOV )
                            ClosestPosition = +FOV;
                    else
                            ClosestPosition = (int)+Viewport.Width;
                            
                    for( int i = 0; i < NumberOfObjects; i++ )
                    {
                            ColorDetector = 0x00;
                            TempX[i] = -1;
                            TempY[i] = -1;
                            for( int j = 0; j <= PixelCtr; j++ )
                            {
                                    if( ColorArray[j] == color[i] && !ColorDetector )
                                    {       
                                            FirstPos = j;
                                            ColorDetector = 0x01;
                                    }
                                    if( ColorArray[j] == color[i] && ColorDetector )
                                    {       
                                            LastPos = j;
                                    }
    
                            }
                            if( ColorDetector )
                            {
                                    TempX[i] = ( DWORD )( AimAt[FirstPos].x + AimAt[LastPos].x ) / 2;
                                    TempY[i] = ( DWORD )( AimAt[FirstPos].y + AimAt[LastPos].y ) / 2;
            
                                    TempX[i] *= Scale;
                                    TempY[i] *= Scale;
    
                                    if( +GetDistance( TempX[i], Viewport.Width/2, TempY[i], 
                                                    Viewport.Height/2 ) < +ClosestPosition ){
                                                            ClosestTarget.x = TempX[i];
                                                                    ClosestTarget.y = TempY[i];
                                    }
                            }
                    }
            }
    
            if( btIngame && NumberOfObjects > 0 )
            {
                    /* Draw esp on all objects */
                    for( int i = 0; i < NumberOfObjects; i++ )
                    {
                            if( TempX[i] != -1 && TempY[i] != -1 && !btConsole && ESP )
                            {
                                    int Len = 4;
    
                                    LineA[0].x = (float)(TempX[i] - Len);
                                    LineA[0].y = (float)(TempY[i] - Len);
                                    LineA[1].x = (float)(TempX[i] + Len);
                                    LineA[1].y = (float)(TempY[i] + Len);
                                    pLine->Begin();
                                    pLine->Draw(LineA,2,ESPColor);
                                    pLine->End();
                                                                                                    
                                    LineB[0].x = (float)(TempX[i] + Len);
                                    LineB[0].y = (float)(TempY[i] - Len);
                                    LineB[1].x = (float)(TempX[i] - Len);
                                    LineB[1].y = (float)(TempY[i] + Len);
                                    pLine->Begin();
                                    pLine->Draw(LineB,2,ESPColor);
                                    pLine->End();
                            }
                    }
    
                    /* Aim at closest position */
                    if( ClosestTarget.x != -1 && ClosestTarget.y != -1 && !btConsole && AIM )
                    {
    
                            POINT Target;
                            if((DWORD)ClosestTarget.x > (Viewport.Width/2)){
                                    Target.x = ClosestTarget.x - (Viewport.Width/2);
                                    Target.x /= 4;
                                    Target.x = +Target.x;
                            }
                                                                    
                            if((DWORD)ClosestTarget.x < (Viewport.Width/2)){
                                    Target.x = (Viewport.Width/2) - ClosestTarget.x;
                                    Target.x /= 4;
                                    Target.x = -Target.x;
                            }
                                                                    
                            if((DWORD)ClosestTarget.x == (Viewport.Width/2)){
                                    Target.x = 0;
                            }
                            
                            if((DWORD)ClosestTarget.y > (Viewport.Height/2)){
                                    Target.y = ClosestTarget.y - (Viewport.Height/2);
                                    Target.y /= 4;
                                    Target.y = +Target.y;
                            }
                                                                    
                            if((DWORD)ClosestTarget.y < (Viewport.Height/2)){
                                    Target.y = (Viewport.Height/2) - ClosestTarget.y;
                                    Target.y /= 4;
                                    Target.y = -Target.y;
                            }
                                                                    
                            if((DWORD)ClosestTarget.y == (Viewport.Height/2)){
                                    Target.y = 0;
                            }
    
                            // Use with ingame sensitivity below 1.4 in BF2
                            if( GetKeyState( VK_XBUTTON1 )<0 ) 
                                            mouse_event( MOUSEEVENTF_MOVE, Target.x, 
                                                            Target.y, 0, NULL );
                    }
    
    
              /* Clear RenderTarget */
              Device_Interface->GetRenderTarget( 0,&originalSurface );
              Device_Interface->GetDepthStencilSurface( &originalDStencilSurface );
              Device_Interface->SetRenderTarget( 0,NewLSurface );
              Device_Interface->SetDepthStencilSurface( originalDStencilSurface );
              Device_Interface->Clear( 0, NULL, D3DCLEAR_TARGET , WhiteColor, 0.0f,  0 );
              Device_Interface->SetRenderTarget( 0,originalSurface );
              Device_Interface->SetDepthStencilSurface( originalDStencilSurface );
    
              if( originalSurface )
                    if(originalSurface->Release() == S_OK)
                            originalSurface = NULL;
    
              if( originalDStencilSurface )
                    if(originalDStencilSurface->Release() == S_OK)
                            originalDStencilSurface = NULL;
    
      }
    
      return EndScene_Pointer(Device_Interface);
    }
    
    //=====================================================================================
    
    BOOL __stdcall Aimbot(LPDIRECT3DDEVICE9 Device_Interface, D3DPRIMITIVETYPE Type, 
                    INT Base, UINT Min, UINT Num, UINT start, UINT prim)
    {
            /* Filter calls to setrenderstate that distort color (incomplete) */
            
            Device_Interface->GetRenderState( D3DRS_FOGENABLE, reinterpret_cast<DWORD*>(&FGE) );
            Device_Interface->GetRenderState( D3DRS_SRGBWRITEENABLE, reinterpret_cast<DWORD*>(&SRGBE) );
            
            /* Switch Rendertarget */
            Device_Interface->GetPixelShader( &OriginalShaders );
            Device_Interface->GetRenderTarget( 0,&originalSurface );
            Device_Interface->GetDepthStencilSurface( &originalDStencilSurface );
            Device_Interface->SetRenderTarget( 0,NewLSurface );
            Device_Interface->SetDepthStencilSurface( originalDStencilSurface );
            
            Device_Interface->SetRenderState( D3DRS_FOGENABLE, FALSE );
            Device_Interface->SetRenderState( D3DRS_SRGBWRITEENABLE, FALSE );
            
            Device_Interface->SetPixelShader( shadecolor[NumberOfObjects] );
            
            if( AimThru ){
                    Device_Interface->SetRenderState( D3DRS_ZENABLE,D3DZB_FALSE );
                    DrawIndexedPrimitive_Pointer(Device_Interface, Type, Base, Min, Num, start, prim);
            }
            
            Device_Interface->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
            DrawIndexedPrimitive_Pointer(Device_Interface, Type, Base, Min, Num, start, prim);
            
            Device_Interface->SetRenderTarget( 0,originalSurface );
            Device_Interface->SetDepthStencilSurface( originalDStencilSurface );
            Device_Interface->SetPixelShader( OriginalShaders );
            
            Device_Interface->SetRenderState( D3DRS_FOGENABLE, *reinterpret_cast<DWORD*>(&FGE) );
            Device_Interface->SetRenderState( D3DRS_SRGBWRITEENABLE, *reinterpret_cast<DWORD*>(&SRGBE) );
    
            if( originalSurface )
                    if(originalSurface->Release() == S_OK)
                            originalSurface = NULL;
    
            if( originalDStencilSurface )
                    if(originalDStencilSurface->Release() == S_OK)
                            originalDStencilSurface = NULL;
    
            if( OriginalShaders )
                    if(OriginalShaders->Release() == S_OK)
                            OriginalShaders = NULL;
    
            if( NumberOfObjects < 216 )
                    NumberOfObjects++;
    
            return TRUE;
    }
    //=====================================================================================
    
    HRESULT WINAPI DrawIndexedPrimitive_Detour(LPDIRECT3DDEVICE9 Device_Interface, D3DPRIMITIVETYPE Type, 
                            INT Base, UINT Min, UINT Num, UINT start, UINT prim)
    {
            LPDIRECT3DVERTEXBUFFER9 Stream_Data;
        UINT Offset = 0;
        UINT XStride = 0;
    
        if(Device_Interface->GetStreamSource(0, &Stream_Data, &Offset, &XStride) == D3D_OK)
        Stream_Data->Release();
    
            /* Disable ingame fog */
            if( NoFog && btIngame ) Device_Interface->SetRenderState( D3DRS_FOGENABLE, FALSE );
    
            /* Detect when ingame */
            if( XStride == 52 ) bIngameDetector = 0x01;
    
            /* Monkey BF2 Model Rec */
            if( XStride == 52 && btIngame )
            {
                    if( Num == 68|| Num == 70|| Num == 75|| Num == 341|| Num == 361|| Num == 398|| Num == 456|| Num == 480
                                    || Num == 495|| Num == 549|| Num == 662|| Num == 782|| Num == 1073|| Num == 1270|| Num == 1322|| Num == 1518
                                    || Num == 2148|| Num == 2240|| Num == 2303|| Num == 2414|| Num == 2675 || Num == 724|| Num == 787|| Num == 842
                                    || Num == 1158|| Num == 1176|| Num == 1282)
                                    {NotInc = TRUE;}else{NotInc = FALSE;}
    
                    if(XStride == 52 && NotInc == FALSE && (Num != 154) && (Num != 1082) && (Num != 1301) 
                                    && (Num != 1046) && (Num != 1321) && (Num != 2523) && (Num != 120) && (Num != 1279) 
                                    && (Num != 1407) && (Num != 248) && (Num != 90) && (Num != 251) 
                                    &&(!(XStride==52 && (Num == 1643 && prim == 861) || (Num == 3313 && prim == 2065) || (Num == 306 && prim == 128) 
                                    || (Num == 403 && prim == 153) || (Num == 2910 && prim == 1696) || (Num == 1095 && prim == 631) 
                                    || (Num == 6613 && prim == 4987) || (Num == 953 && prim == 912) || (Num == 2624 && prim == 1682) 
                                    || (Num == 1402 && prim == 721) || (Num == 422 && prim == 160) || (Num == 3480 && prim == 1810) 
                                    || (Num == 1880 && prim == 824) || (Num == 563 && prim == 213) || (Num == 6745 && prim == 4595) 
                                    || (Num == 6602 && prim == 5004)))&&(!(XStride==52 && (Num == 10 && prim == 8)))
                                    &&(!(XStride == 52 && (Num == 1322 || Num == 1112 || Num == 1045 || Num == 1578 || (Num == 1073 && prim == 1384) 
                                    || (Num == 1409 && prim == 1581) || (Num == 341 && prim == 200) || (Num == 1321 && prim == 1439) 
                                    || (Num == 1407 && prim == 1568))))&&(!(XStride==52 && Num == 68))
                                    &&(!(XStride==52 && (Num == 1073 && prim == 1384) || Num == 1112 || Num == 1045 || Num == 1578))
                                    &&(!(XStride==52 && Num == 2302))&&(!(XStride==52 &&(Num==251 && prim==248)||(Num==248 && prim==248)))
                                    &&(!(XStride == 52 && (Num == 1322 || Num == 1112 || Num == 1045 || Num == 1578 || (Num == 1073 && prim == 1384) 
                                    || (Num == 1409 && prim == 1581) || (Num == 341 && prim == 200) || (Num == 1321 && prim == 1439) || (Num == 1407 && prim == 1568)))))
                                    {TeamMEC = TRUE;}else{TeamMEC = FALSE;}
    
                    if(XStride == 52 && TeamMEC == FALSE && (Num == 68|| Num == 70|| Num == 75|| Num == 341|| Num == 361|| Num == 398|| Num == 456|| Num == 480
                                    || Num == 495|| Num == 549|| Num == 662|| Num == 782|| Num == 1073|| Num == 1270|| Num == 1322|| Num == 1518
                                    || Num == 2148|| Num == 2240|| Num == 2303|| Num == 2414|| Num == 2675 || Num == 724|| Num == 787|| Num == 842
                                    || Num == 1158|| Num == 1176|| Num == 1282) &&
                                    (!(XStride==52 && (Num == 1643 && prim == 861) || (Num == 3313 && prim == 2065) || (Num == 306 && prim == 128) 
                                    || (Num == 403 && prim == 153) || (Num == 2910 && prim == 1696) || (Num == 1095 && prim == 631) 
                                    || (Num == 6613 && prim == 4987) || (Num == 953 && prim == 912) || (Num == 2624 && prim == 1682) 
                                    || (Num == 1402 && prim == 721) || (Num == 422 && prim == 160) || (Num == 3480 && prim == 1810) 
                                    || (Num == 1880 && prim == 824) || (Num == 563 && prim == 213) || (Num == 6745 && prim == 4595) 
                                    || (Num == 6602 && prim == 5004)))&&(!(XStride==52 && (Num == 10 && prim == 8)))
                                    &&(!(XStride == 52 && (Num == 1322 || Num == 1112 || Num == 1045 || Num == 1578 || (Num == 1073 && prim == 1384) 
                                    || (Num == 1409 && prim == 1581) || (Num == 341 && prim == 200) || (Num == 1321 && prim == 1439) 
                                    || (Num == 1407 && prim == 1568))))&&(!(XStride==52 && Num == 68))
                                    &&(!(XStride==52 && (Num == 1073 && prim == 1384) || Num == 1112 || Num == 1045 || Num == 1578))
                                    &&(!(XStride==52 && Num == 2302))&&(!(XStride==52 &&(Num==251 && prim==248)||(Num==248 && prim==248)))
                                    &&(!(XStride == 52 && (Num == 1322 || Num == 1112 || Num == 1045 || Num == 1578 || (Num == 1073 && prim == 1384) 
                                    || (Num == 1409 && prim == 1581) || (Num == 341 && prim == 200) || (Num == 1321 && prim == 1439) || (Num == 1407 && prim == 1568)))))
                                    {TeamUSA  = TRUE;}else{TeamUSA = FALSE;}
    
                    /* Draw wallhack and texture chams */
                    if( ( TeamUSA || TeamMEC ) && wall )
                    {
                            if( TeamUSA ){
                                    Device_Interface->SetTexture( 0, texBlue );
                                    Device_Interface->SetTexture( 2, texBlue );
                            }
    
                            if( !TeamUSA ){
                                    Device_Interface->SetTexture( 0, texMaroon );
                                    Device_Interface->SetTexture( 2, texMaroon );
                            }
    
                            Device_Interface->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );                                                                                                                 
                            DrawIndexedPrimitive_Pointer(Device_Interface, Type, Base, Min, Num, start, prim);
                            Device_Interface->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
                            if( TeamUSA ){
                                    Device_Interface->SetTexture( 0, texLBlue );
                                    Device_Interface->SetTexture( 2, texLBlue );
                            }
    
                            if( !TeamUSA ){
                                    Device_Interface->SetTexture( 0, texOrange );
                                    Device_Interface->SetTexture( 2, texOrange );
                            }
                    }
    
                    DrawIndexedPrimitive_Pointer(Device_Interface, Type, Base, Min, Num, start, prim);
    
                    /* Call the aimbot function */
                    if( btIngame )
                            if(( Aim_US_MEC && TeamUSA ) || ( !Aim_US_MEC && TeamMEC ))
                                    Aimbot( Device_Interface, Type, Base, Min, Num, start, prim );
    
                    return S_OK;
            }
    
      return DrawIndexedPrimitive_Pointer(Device_Interface, Type, Base, Min, Num, start, prim);
    }
    
    //=====================================================================================
    
    DWORD WINAPI VirtualMethodTableRepatchingLoopToCounterExtensionRepatching(LPVOID Param)
    {
      UNREFERENCED_PARAMETER(Param); 
    
      while(1)
      {
        Sleep(100);
    
        *(PDWORD)&Direct3D_VMTable[16] = (DWORD)Reset_Detour;
            *(PDWORD)&Direct3D_VMTable[41] = (DWORD)BeginScene_Detour;
        *(PDWORD)&Direct3D_VMTable[42] = (DWORD)EndScene_Detour;
        *(PDWORD)&Direct3D_VMTable[82] = (DWORD)DrawIndexedPrimitive_Detour;
      }
    
      return 1;
    }
    
    //=====================================================================================
    
    LRESULT CALLBACK KeyProc(int code,WPARAM wParam,LPARAM lParam)
    {
            if( code < 0 )
                    goto EXIT;
    
            if ( (lParam & 0x40000000) && btIngame )
        {                          
                    switch (wParam)
            {
                            // Reset the console
                            case VK_DELETE:
                                    btConsole = 0x00;
                                    break;
                            case VK_INSERT:
                            case VK_NUMPAD0:
                            case VK_NUMPAD1:
                            case VK_NUMPAD2:
                            default:
                                    break;
                    }
                    // Same as Game console key ( ` / ~ )  to prevent input and sync them . 
                    if( wParam == ConKey ){ 
                            btConsole = !btConsole;
                            for( UINT i = 0;i < MAX_PATH;i++)
                                    chConsole[i] = NULL;
                            return E_FAIL;
                    }
                    if( btConsole )
                    {
                            if ((wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam==VK_BACK)||(wParam>=0x2f ) &&(wParam<=0x100)) 
                            {
                                    if (wParam==VK_RETURN)
                                    { 
                                            if( !strcmp( "WALL 1", chConsole  ) ) wall = 0x01;
                                            if( !strcmp( "NOFOG 1", chConsole ) ) NoFog = 0x01;
    
                                            if(  StrStrA( chConsole, "FOV" ) ) {
                                                    char chfov[5] = 
                                                    { chConsole[4],chConsole[5],chConsole[6],chConsole[7],0x00 };
                                                    int fov = atoi( chfov );
                                                    if( fov >= 0 && fov < (int)(+Viewport.Height/2) ) Radius = (UINT)fov;
                                            }
                                            if( !strcmp( "AIM 1", chConsole         ) )     AIM             = 0x01;
                                            if( !strcmp( "AIMTHRU 1", chConsole ) ) AimThru = 0x01;
                                            if( !strcmp( "XHAIR 1", chConsole       ) )     XHair   = 0x01;
                                            if( !strcmp( "ESP 1", chConsole         ) ) ESP         = 0x01;
                                            if( !strcmp( "AIM @ US", chConsole      ) )     Aim_US_MEC      = 0x01;
    
                                            if( !strcmp( "SAVE", chConsole ) ) Save( );
                                            if( !strcmp( "LOAD", chConsole ) ) Load( );
    
                                            if( !strcmp( "WALL 0", chConsole        ) ) wall        = 0x00;
                                            if( !strcmp( "NOFOG 0", chConsole       ) ) NoFog       = 0x00;
                                            if( !strcmp( "AIM 0", chConsole         ) )     AIM             = 0x00;
                                            if( !strcmp( "AIMTHRU 0", chConsole ) ) AimThru = 0x00;
                                            if( !strcmp( "XHAIR 0", chConsole       ) )     XHair   = 0x00;
                                            if( !strcmp( "ESP 0", chConsole         ) ) ESP         = 0x00;
                                            if( !strcmp( "AIM @ MEC", chConsole     ) )     Aim_US_MEC      = 0x00;
    
                                            for( UINT i = 0;i < MAX_PATH;i++)
                                                    chConsole[i] = NULL;
    
                                    }
                                    else
                                    {
                                            GetKeyboardState( bKeyBstate );
                                            WORD wCharacter;
                                            ToAscii( wParam, NULL, bKeyBstate, &wCharacter, NULL );
    
                                            UINT Len;
    
                                            for(Len = 0;Len < MAX_PATH;Len++){
                                                    if( chConsole[Len] == NULL )
                                                            break;
                                            }
    
                                            if( Len < MAX_PATH ){
                                                    chConsole[Len] = (char)wCharacter;
                                                    chConsole[Len+1] = 0x00;
                                            }
    
                                    }
                                    if (wParam==VK_BACK)
                                    { 
                                            UINT Len;
    
                                            for(Len = 0;Len < MAX_PATH;Len++){
                                                    if( chConsole[Len] == NULL )
                                                            break;
                                            }
    
                                            if( Len < MAX_PATH && Len > 0 ){
                                                    chConsole[Len] = 0x00;
                                                    chConsole[Len-1] = 0x00;
                                                    chConsole[Len-2] = 0x00;
                                            }
                                    }
                            }
                    }
            }
    
    EXIT:
    
            return CallNextHookEx(KeyHook,code,wParam,lParam);
    }
    
    //=====================================================================================
    
    BOOL __stdcall Save( )
    {
            HANDLE hFile = CreateFileA( DLL_PATH, GENERIC_READ|GENERIC_WRITE, 
                                                    FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, 
                                                            FILE_ATTRIBUTE_NORMAL, NULL );
    
            char chCvars[] = "CVARS";
            char Buff[2] = {0x00};
            char Buffer[5] = {0x00};
    
            _itoa( Radius,Buffer, 10 );
    
            if( wall ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"WALL", (LPCSTR)&Buff, DLL_PATH );
    
            if( NoFog ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"NOFOG", (LPCSTR)&Buff, DLL_PATH );
    
            if( AIM ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIM", (LPCSTR)&Buff, DLL_PATH );
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"FOV", (LPCSTR)&Buffer, DLL_PATH );
    
            if( AimThru ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIMTHRU", (LPCSTR)&Buff, DLL_PATH );
    
            if( XHair ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"XHAIR", (LPCSTR)&Buff, DLL_PATH );
    
            if( ESP ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"ESP", (LPCSTR)&Buff, DLL_PATH );
    
            if( Aim_US_MEC ) Buff[0] = '1'; 
                    else Buff[0] = '0';
    
            WritePrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIM @", (LPCSTR)&Buff, DLL_PATH );
    
            return TRUE;
    }
    
    //=====================================================================================
    
    BOOL __stdcall Load( )
    {
            char chCvars[] = "CVARS";
            char Buff[2] = {0x00};
            char Buffer[5] = {0x00};
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"WALL", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    wall = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"NOFOG", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    NoFog = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIM", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    AIM = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"FOV", "144", (LPSTR)&Buffer, 5, DLL_PATH ) < 5){
                    int fov = atoi(Buffer);
                    if( fov >= 0 && fov < 10000 ) Radius = fov;
            }
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIMTHRU", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    AimThru = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"XHAIR", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    XHair = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"ESP", "0", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    ESP = atoi(Buff);
    
            if( GetPrivateProfileStringA( (LPCSTR)chCvars, 
                    (LPCSTR)"AIMTEAM", "1", (LPSTR)&Buff, 2, DLL_PATH ) == 1)
                    Aim_US_MEC = atoi(Buff);
    
            return TRUE;
    }
    
    //=====================================================================================

  2. The Following 5 Users Say Thank You to -Away- For This Useful Post:

    abbadstyle (05-08-2011),guidogol (05-03-2011),peterthao98 (04-28-2011),smonist (05-03-2011),SteamAss (05-10-2011)

  3. #2
    tdct's Avatar
    Join Date
    Aug 2009
    Gender
    female
    Location
    Somewhere
    Posts
    1,462
    Reputation
    105
    Thanks
    391
    My Mood
    Devilish
    Wow, I feel like you didn't make it (but if you did your leet), but non the less it looks wonderfully over complicated... I love it.

  4. The Following User Says Thank You to tdct For This Useful Post:

    karagiozis (05-13-2011)

  5. #3
    -Away-'s Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    At my house on my computer i live in C:/Users/-Away-/HACKS Post: 1,00,00,00
    Posts
    475
    Reputation
    -3
    Thanks
    32
    My Mood
    Sick
    Quote Originally Posted by tdct View Post
    Wow, I feel like you didn't make it (but if you did your leet), but non the less it looks wonderfully over complicated... I love it.
    Thnx.........

  6. #4
    GForce-Cody's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Location
    C:\Cody\Desktop\MPGH\
    Posts
    1,650
    Reputation
    120
    Thanks
    345
    My Mood
    Relaxed
    Nice leach i know you didn't make it, you find whatever you can and spam it for posts. + Its way complicated then it needs to be.

  7. #5
    NoJustice's Avatar
    Join Date
    Jul 2009
    Gender
    male
    Location
    I don't care about CF
    Posts
    2,878
    Reputation
    123
    Thanks
    1,752
    My Mood
    Bored
    Quote Originally Posted by Bskinny View Post
    Looks alot like the one i seen on another site...
    Quote Originally Posted by ]C[o]d[y] View Post
    Nice leach i know you didn't make it, you find whatever you can and spam it for posts. + Its way complicated then it needs to be.
    Quote Originally Posted by tdct View Post
    Wow, I feel like you didn't make it (but if you did your leet), but non the less it looks wonderfully over complicated... I love it.
    I'm no hackist but does this have to do with it? I'm a novice @ best at C++ .

    Code:
    //=====================================================================================
    // Credits
    // Roverturbo | www.*********.com
    // all of UC forum
    // Call Me Eclipse
    // Reunion
    // Monkey 666
    // More ...
    // Etc . can't recall

  8. #6
    FlaVour's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Posts
    155
    Reputation
    7
    Thanks
    24
    My Mood
    Cynical
    Quote Originally Posted by ]C[o]d[y] View Post
    Nice leach i know you didn't make it, you find whatever you can and spam it for posts. + Its way complicated then it needs to be.
    Can't read ?
    in the source code are the creditz...!


    Quote Originally Posted by xXAznrulzXx View Post
    Looks leeched


    This is not only an aimbot. its a whole hack and it is leeched
    So if u make this hack you have to give them credits
    Anyway MPGH doesnt allow VIP Hacks


    Btw. This code won´t work
    It will work if he set seom values and get the code right..
    Last edited by FlaVour; 04-29-2011 at 04:20 AM.
    [Respect List]
    All they respect me


    [My projects]
    Crossfire NA Public Hack with menu together with sapass209

    [html]"Sir we're surrounded!"
    "Excellent, then we can attack in all directions".[/html]



  9. #7
    wtfhaksftw's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    108
    Reputation
    10
    Thanks
    7
    My Mood
    Stressed
    this is leeched and it wont work it uses vtable and thats patched...
    C++ Pro. Asm intermediate

  10. #8
    Swiftdude's Avatar
    Join Date
    Apr 2009
    Gender
    male
    Location
    Illinois.
    Posts
    12,572
    Reputation
    1130
    Thanks
    2,995
    My Mood
    Cynical
    it is leeched. seen it before. many times.
    Still love you Giggletron

  11. #9
    LuminousArk's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Posts
    334
    Reputation
    38
    Thanks
    15
    My Mood
    Aggressive
    At least he tried xD

  12. The Following User Says Thank You to LuminousArk For This Useful Post:

    markO1O8 (05-04-2011)

  13. #10
    whit's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Posts
    7,159
    Reputation
    490
    Thanks
    2,253
    Leeched from the D3D programming section of another forum

  14. #11
    Pxpc2's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Posts
    231
    Reputation
    6
    Thanks
    11
    My Mood
    Angelic
    Totally leeched. Offsets are patched.

    And I've seen it before

  15. #12
    Uma vida sem desafios não vale a pena ser vivida.
    MPGH Member
    guidogol's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Location
    instagram.com/guidogol1
    Posts
    645
    Reputation
    63
    Thanks
    67
    My Mood
    Drunk
    leeched or not

    its work and thanks
    infelizmente não virei gente
    virei maconheiro




  16. #13
    freedompeace's Avatar
    Join Date
    Jul 2010
    Gender
    female
    Posts
    3,033
    Reputation
    340
    Thanks
    2,792
    My Mood
    Sad
    Quote Originally Posted by ]C[o]d[y] View Post
    Nice leach i know you didn't make it, you find whatever you can and spam it for posts. + Its way complicated then it needs to be.
    there's no such thing as over-complication if you are an experienced programmer - its more like... Optimizing and preparing for every situation possible?

  17. #14
    Royku's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    G-Force.dll
    Posts
    3,015
    Reputation
    381
    Thanks
    3,308
    My Mood
    Devilish
    Quote Originally Posted by divers7 View Post






    I'm no hackist but does this have to do with it? I'm a novice @ best at C++ .

    Code:
    //=====================================================================================
    // Credits
    // Roverturbo | www.*********.com
    // all of UC forum
    // Call Me Eclipse
    // Reunion
    // Monkey 666
    // More ...
    // Etc . can't recall

    @divers7
    thats are the Credits xD

  18. #15
    markO1O8's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Posts
    433
    Reputation
    24
    Thanks
    104
    My Mood
    Amazed
    Its Been Leeched?

    If So Were's the credits from creator?

    BTW Repair Errors U Tool
    Last edited by markO1O8; 05-04-2011 at 02:10 PM.
    [CENTER]I'm back!

Page 1 of 2 12 LastLast