Page 1 of 3 123 LastLast
Results 1 to 15 of 42
  1. #1
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic

    Source Code Model Logger C++

    This is a useful source code in blackshot you need to modified this code to make it work in game

    here my example image in blackshot







    It work in few games but i don't tested it what games is that be




    Code:
    
    
    Code:
    #include <vector>
    #include <windows.h>
    #include <detours.h>
    #include <iostream>
    #include <d3d9.h>
    #include <d3dx9.h>
    
    #pragma comment(lib, "detours.lib")
    #pragma comment(lib, "d3d9.lib")
    #pragma comment(lib, "d3dx9.lib")
    
    #pragma intrinsic(_ReturnAddress)
    
    #define TEXT_POS_X 500.0f
    #define TEXT_POS_Y 280.0f
    
    typedef HRESULT(WINAPI *Prototype_Present)(LPDIRECT3DDEVICE9, CONST RECT*, CONST RECT*, HWND, CONST RGNDATA*);
    typedef HRESULT(WINAPI *Prototype_Reset)(LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*);
    typedef HRESULT (WINAPI* Prototype_DrawIndexedPrimitive)(LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE, INT, UINT, UINT, UINT, UINT);
    
    Prototype_Present Orginal_Present;
    Prototype_Reset Orginal_Reset;
    Prototype_DrawIndexedPrimitive Orginal_DrawIndexedPrimitive;
    
    HRESULT WINAPI Hooked_Present(LPDIRECT3DDEVICE9 Device, CONST RECT *pSrcRect, CONST RECT *pDestRect, HWND hDestWindow, CONST RGNDATA *pDirtyRegion);
    HRESULT WINAPI Hooked_Reset(LPDIRECT3DDEVICE9 Device, D3DPRESENT_PARAMETERS *pp);
    HRESULT WINAPI Hooked_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 Device, D3DPRIMITIVETYPE PrimType, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount);
    
    ID3DXFont*                            g_Font                    = NULL;
    bool                                g_Init                    = false;
    int                                    g_Index                    = -1;
    HMODULE                                g_HModule                = 0;
    std::vector<void*>                    g_Vector;
    char                                g_Text[128]                = {'\0'};
    void*                                g_SelectedAddress        = NULL;
    LPDIRECT3DTEXTURE9                    g_Blue                    = NULL,
                                        g_Green                    = NULL;
    
    namespace Drawing
    {
        void Line(LPDIRECT3DDEVICE9 pDevice, float X, float Y, float Width, float Height, D3DCOLOR Color)
        {
            struct Vertex2D
            {
                float m_X, m_Y, m_Z, m_T;
                DWORD m_Color;
            };
            Vertex2D Vertex[4];
            Vertex[0].m_Color = Vertex[1].m_Color = Vertex[2].m_Color = Vertex[3].m_Color = Color;
            Vertex[0].m_Z = Vertex[1].m_Z = Vertex[2].m_Z = Vertex[3].m_Z = 0;
            Vertex[0].m_T = Vertex[1].m_T = Vertex[2].m_T = Vertex[3].m_T = 0;
            Vertex[0].m_X = Vertex[2].m_X = X;
            Vertex[0].m_Y = Vertex[1].m_Y = Y;
            Vertex[1].m_X = Vertex[3].m_X = X + Width;
            Vertex[2].m_Y = Vertex[3].m_Y = Y + Height;
            pDevice->SetTexture(0, NULL);
            pDevice->SetFVF(D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1);
            pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, Vertex, sizeof(Vertex2D));
        }
    
        void Box(LPDIRECT3DDEVICE9 pDevice, float X, float Y, float Width, float Height, float Thickness, D3DCOLOR Color)
        {
            Line(pDevice, X + Thickness, Y + Height - Thickness, Width - (Thickness * 2), Thickness, Color);
            Line(pDevice, X, Y, Thickness, Height, Color);
            Line(pDevice, X + Thickness, Y, Width - (Thickness * 2), Thickness, Color);
            Line(pDevice, X + Width - Thickness, Y, Thickness, Height, Color);
        }
    
        void DrawString(ID3DXFont *Font, float PosX, float PosY, DWORD Color, char *Text)
        {
            if(Font == NULL)
                return;
            static RECT FontRect;
            SetRect(&FontRect, 0, 0, 0, 0);
            Font->DrawTextA(0, Text, -1, &FontRect, DT_CALCRECT, Color);
            int Width = FontRect.right - FontRect.left;
            int Height = FontRect.bottom - FontRect.top;
            FontRect.right = FontRect.left + Width;
            FontRect.bottom = FontRect.top + Height;
            FontRect.left = (LONG)PosX;
            FontRect.top = (LONG)PosY;
            Font->DrawTextA(0, Text, -1, &FontRect, DT_NOCLIP, Color);
        }
    }
    
    DWORD FindDevice(DWORD Len)
    {
         DWORD dwObjBase = 0;
            
         dwObjBase = (DWORD)LoadLibrary("d3d9.dll");
         while (dwObjBase++ < dwObjBase + Len)
         {
             if ( (*(WORD*)(dwObjBase + 0x00)) == 0x06C7
               && (*(WORD*)(dwObjBase + 0x06)) == 0x8689
               && (*(WORD*)(dwObjBase + 0x0C)) == 0x8689
               ) { dwObjBase += 2; break; }
         }
         return( dwObjBase );
    }
    
    DWORD GetDeviceAddress(int VTableIndex)
    {
        PDWORD VTable;
        *(DWORD*)&VTable = *(DWORD*)FindDevice(0x128000);
        return VTable[VTableIndex];
    }
    
    void HookThread()
    {
        Orginal_Present = (Prototype_Present)DetourFunction((PBYTE)GetDeviceAddress(17), (PBYTE)Hooked_Present);
        Orginal_Reset = (Prototype_Reset)DetourFunction((PBYTE)GetDeviceAddress(16), (PBYTE)Hooked_Reset);
        Orginal_DrawIndexedPrimitive = (Prototype_DrawIndexedPrimitive)DetourFunction((PBYTE)GetDeviceAddress(82), (PBYTE)Hooked_DrawIndexedPrimitive);
    
        while(true)
        {
            if(GetAsyncKeyState(VK_PAUSE) &1)
            {
                FreeLibraryAndExitThread(g_HModule, 0);
                return;
            }
            else if(GetAsyncKeyState(VK_RIGHT) &1)
            {
                if(g_Index != g_Vector.size() - 1)
                {
                    g_Index++;
                    g_SelectedAddress = g_Vector[g_Index];
                }
            }
            else if(GetAsyncKeyState(VK_LEFT) &1)
            {
                if(g_Index >= 0)
                {
                    g_Index--;
                    g_SelectedAddress = g_Vector[g_Index];
                    if(g_Index == -1)
                        g_SelectedAddress = NULL;
                }
            }
            Sleep(100);
        }
    }
    
    BOOL WINAPI DllMain(HINSTANCE hInsatnce, DWORD dwReason, LPVOID lpReserved)
    {
        if(dwReason == DLL_PROCESS_ATTACH)
        {
            g_HModule = hInsatnce;
            EXECUTETHREADHEREPLS(0, 0, (LPTHREAD_START_ROUTINE)HookThread, 0, 0, 0);
        }
        else if(dwReason == DLL_PROCESS_DETACH)
        {
            if(g_Font != NULL)
            {
                g_Font->OnLostDevice();
                g_Font->OnResetDevice();
                g_Font->Release();
                g_Font = NULL;
            }
            DetourRemove((PBYTE)Orginal_Present, (PBYTE)Hooked_Present);
            DetourRemove((PBYTE)Orginal_Reset, (PBYTE)Hooked_Reset);
            DetourRemove((PBYTE)Orginal_DrawIndexedPrimitive, (PBYTE)Hooked_DrawIndexedPrimitive);
        }
        return TRUE;
    }
    
    bool IsAddressPresent(void* Address)
    {
        for(auto it = g_Vector.begin(); it != g_Vector.end(); ++it)
        {
            if(*it == Address)
                return true;
        }
        return false;
    }
    
    HRESULT GenerateTexture(LPDIRECT3DDEVICE9 pDevice, IDirect3DTexture9 **ppD3Dtex, DWORD colour32)
    {
        if( FAILED(pDevice->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)) )
            return E_FAIL;
        
        WORD colour16 =    ((WORD)((colour32>>28)&0xF)<<12)
                |(WORD)(((colour32>>20)&0xF)<<8)
                |(WORD)(((colour32>>12)&0xF)<<4)
                |(WORD)(((colour32>>4)&0xF)<<0);
    
        D3DLOCKED_RECT d3dlr;    
        (*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
        WORD *pDst16 = (WORD*)d3dlr.pBits;
    
        for(int xy=0; xy < 8*8; xy++)
            *pDst16++ = colour16;
    
        (*ppD3Dtex)->UnlockRect(0);
    
        return S_OK;
    }
    
    HRESULT WINAPI Hooked_Present(LPDIRECT3DDEVICE9 Device, CONST RECT *pSrcRect, CONST RECT *pDestRect, HWND hDestWindow, CONST RGNDATA *pDirtyRegion)
    {
        if(!g_Init)
        {
            if(g_Font == NULL)
                D3DXCreateFontA(Device, 21, 0, true, 1, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &g_Font);
            memset(g_Text, 0, sizeof(g_Text));
            GenerateTexture(Device, &g_Blue, D3DCOLOR_ARGB(255, 0, 0, 255));
            GenerateTexture(Device, &g_Green, D3DCOLOR_ARGB(255, 0, 255, 0));
            g_Init = !g_Init;
        }
    
        D3DVIEWPORT9 VP;
        memset(&VP, 0, sizeof(D3DVIEWPORT9));
        Device->GetViewport(&VP);
        float X = (float)VP.Width / 800;
        float Y = (float)VP.Height / 600;
    
        Drawing::Box(Device, X * TEXT_POS_X - 10.0f, Y * TEXT_POS_Y + 23.0f, 300.0f, 82.0f, 4.0f, D3DCOLOR_ARGB(200, 255, 0, 0));
        Drawing::DrawString(g_Font, X * TEXT_POS_X, Y * TEXT_POS_Y, D3DCOLOR_ARGB(200, 255, 0, 0), "Momo5000's Return Address Logger");
    
        memset(g_Text, 0, sizeof(g_Text));
        sprintf_s(g_Text, sizeof(g_Text), "Vector size: %d", g_Vector.size());
        Drawing::DrawString(g_Font, X * TEXT_POS_X, Y * TEXT_POS_Y + 25.0f, D3DCOLOR_ARGB(200, 0, 0, 255), g_Text);
    
        memset(g_Text, 0, sizeof(g_Text));
        sprintf_s(g_Text, sizeof(g_Text), "Selected Index: %d", g_Index);
        Drawing::DrawString(g_Font, X * TEXT_POS_X, Y * TEXT_POS_Y + 50.0f, D3DCOLOR_ARGB(200, 0, 0, 255), g_Text);
    
        memset(g_Text, 0, sizeof(g_Text));
        sprintf_s(g_Text, sizeof(g_Text), "Selected Address: [0x%X]", g_SelectedAddress);
        Drawing::DrawString(g_Font, X * TEXT_POS_X, Y * TEXT_POS_Y + 75.0f, D3DCOLOR_ARGB(200, 0, 0, 255), g_Text);
    
        return Orginal_Present(Device, pSrcRect, pDestRect, hDestWindow, pDirtyRegion);
    }
    
    HRESULT WINAPI Hooked_Reset(LPDIRECT3DDEVICE9 Device, D3DPRESENT_PARAMETERS *pp)
    {
        if(g_Font != NULL)
        {
            g_Font->OnLostDevice();
            g_Font->OnResetDevice();
        }
        return Orginal_Reset(Device, pp);
    }
    
    HRESULT WINAPI Hooked_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 Device, D3DPRIMITIVETYPE PrimType, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
    {
        void* ReturnAddress = _ReturnAddress();
        if(!IsAddressPresent(ReturnAddress))
            g_Vector.push_back(ReturnAddress);
    
         if(ReturnAddress != NULL && g_SelectedAddress != NULL && ReturnAddress == g_SelectedAddress)
         {
             Device->SetRenderState(D3DRS_ZENABLE, FALSE);
             Device->SetTexture(0, g_Blue);
             Orginal_DrawIndexedPrimitive(Device, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
            Device->SetRenderState(D3DRS_ZENABLE, TRUE);
            Device->SetTexture(0, g_Green);
         }
    
        return Orginal_DrawIndexedPrimitive(Device, PrimType, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
    
    }
    
    



    credit in source code
    Last edited by COD3RIN; 12-29-2013 at 07:31 AM.
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  2. The Following 2 Users Say Thank You to COD3RIN For This Useful Post:

    sahrul012 (01-27-2014),Yakinican (09-30-2015)

  3. #2
    Caezer99's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Location
    127.0.0.1
    Posts
    577
    Reputation
    10
    Thanks
    1,243
    This is like the 5th model logger you have posted in this section.


    Mess with the best, die like the rest.


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

    shadowstep98 (12-29-2013)

  5. #3
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic
    Quote Originally Posted by Caezer99 View Post
    This is like the 5th model logger you have posted in this section.
    there is a lot of code in model logger not one but many......
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  6. #4
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic
    all you need is strike code of any game then just and in code
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  7. #5
    guilherme1234's Avatar
    Join Date
    Dec 2013
    Gender
    female
    Posts
    1
    Reputation
    10
    Thanks
    0
    Help me, I have c + +, but I know how to put WIN32 DLL and, most do not know where I should put the code, you have tutorial or can someone give me a help?

  8. #6
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic
    Quote Originally Posted by guilherme1234 View Post
    Help me, I have c + +, but I know how to put WIN32 DLL and, most do not know where I should put the code, you have tutorial or can someone give me a help?
    youtube it easy to watch a tutorial
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  9. #7
    Gamez-Zero_Batman's Avatar
    Join Date
    Dec 2013
    Gender
    male
    Posts
    0
    Reputation
    10
    Thanks
    16
    wait i fix it and do it public
    Last edited by Gamez-Zero_Batman; 12-29-2013 at 06:00 PM.

  10. #8
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic
    Quote Originally Posted by Gamez-Zero_Batman View Post
    wait i fix it and do it public
    depend in you
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  11. #9
    Gamez-Zero_Batman's Avatar
    Join Date
    Dec 2013
    Gender
    male
    Posts
    0
    Reputation
    10
    Thanks
    16
    just wait ^^ im patching garena becouse im from eu :P but i know how i can play

  12. #10
    Gamez-Zero_Batman's Avatar
    Join Date
    Dec 2013
    Gender
    male
    Posts
    0
    Reputation
    10
    Thanks
    16
    add me skype id: gamez-zero.com_batman

  13. #11
    COD3RIN's Avatar
    Join Date
    May 2013
    Gender
    male
    Location
    Posts
    5,309
    Reputation
    468
    Thanks
    28,779
    My Mood
    Angelic
    Quote Originally Posted by Gamez-Zero_Batman View Post
    just wait ^^ im patching garena becouse im from eu :P but i know how i can play
    try in eu maybe it work
    ᚛C☢dℝin3᚜
    Love you.
    ~Kenshit13
    Quote Originally Posted by cheaterman26 View Post
    COD3RIN PUT A BACKDOOR ON HIS OWN CHEAT HE HACK MY COMPUTER AND MY STEAM, DON'T TRUST THIS GUYS !



  14. #12
    zikox's Avatar
    Join Date
    Feb 2013
    Gender
    male
    Posts
    568
    Reputation
    40
    Thanks
    1,022
    My Mood
    Cool
    Sir Can YOU Add Me Skype i Send you my skype Sorrykid12

  15. #13
    hang333's Avatar
    Join Date
    Dec 2012
    Gender
    male
    Posts
    8
    Reputation
    10
    Thanks
    0
    this no need bypass game guard or hook game guard?

  16. #14
    Aula's Avatar
    Join Date
    Dec 2013
    Gender
    male
    Posts
    99
    Reputation
    33
    Thanks
    1,110
    Nice .

  17. #15
    YouPBkia's Avatar
    Join Date
    Aug 2013
    Gender
    female
    Posts
    49
    Reputation
    10
    Thanks
    3
    Quote Originally Posted by COD3RIN View Post

    there is a lot of code in model logger not one but many......
    Have you had any idea what caezar was talking about, dumba$$ -.-
    -

Page 1 of 3 123 LastLast

Similar Threads

  1. [Request] Key Logger Source Code
    By furmonk in forum General Hacking
    Replies: 1
    Last Post: 03-07-2013, 06:39 PM
  2. [Help Request] Source Code logger
    By alombrown in forum WarRock Help
    Replies: 2
    Last Post: 12-06-2012, 03:22 PM
  3. [Source Code] Combat Arms address logger source code (Gellin !!!)
    By ~Silver~ in forum Combat Arms BR Hack Coding/Source Code
    Replies: 17
    Last Post: 02-04-2012, 10:13 AM
  4. [C++ Source Code]WarRock Position Logger
    By BlacK_Šata in forum WarRock Hack Source Code
    Replies: 6
    Last Post: 11-10-2010, 09:45 AM
  5. HALO 2 (XBOX) Source Code
    By mirelesmichael in forum General Game Hacking
    Replies: 12
    Last Post: 09-23-2006, 04:35 AM