Introducing MPGH's AIGA. The latest advancement in artificial intelligence. Click here now to learn more!
Results 1 to 12 of 12
  1. #1
    ForeverMarshall's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    35
    Reputation
    10
    Thanks
    31
    My Mood
    Aggressive

    Ajuda com Present Engine

    Bom, temos esse Hook Present Engine :

     
    Code:
    #include <windows.h>
    #include <d3d9.h>
    #include <d3dx9.h>
     
    #pragma comment(lib, "d3d9.lib")
    #pragma comment(lib, "d3dx9.lib")
     
    #define PresentEngine 0x004C41AF
    DWORD retPresentEngine = ( PresentEngine + 0x5 );
     
    #define Red     D3DCOLOR_ARGB( 255, 255, 000, 000 )
    #define Green   D3DCOLOR_ARGB( 255, 000, 255, 000 )
    #define Blue    D3DCOLOR_ARGB( 255, 000, 000, 255 )
    #define Black   D3DCOLOR_ARGB( 255, 000, 000, 000 )
     
    LPD3DXFONT Font;
     
    VOID StartFont( LPDIRECT3DDEVICE9 pDevice )
    {
        if( Font )
        {
            Font->Release();
            Font = NULL;
        }
     
        if( !Font )
        {
            D3DXCreateFont( pDevice,
                            14,
                            0,
                            FW_BOLD,
                            1,
                            0,
                            DEFAULT_CHARSET,
                            OUT_DEFAULT_PRECIS,
                            DEFAULT_QUALITY,
                            DEFAULT_PITCH | FF_DONTCARE,
                            "Arial",
                            &Font );
        }
    }
     
    VOID WriteText( LPDIRECT3DDEVICE9 pDevice, INT x, INT y, DWORD color, CHAR *text )
    {    
        RECT rect;
        SetRect( &rect, x, y, x, y );
        Font->DrawText( NULL, text, -1, &rect, DT_NOCLIP | DT_LEFT, color );
    }
     
    __declspec( naked ) HRESULT WINAPI PresentMidfunction( )
    {
        static LPDIRECT3DDEVICE9 pDevice;
     
        __asm
        {
            MOV ECX, DWORD PTR DS:[EAX]
            MOV EDX, DWORD PTR DS:[ECX + 0x44]
            MOV DWORD PTR DS:[pDevice], EAX
            PUSH 0
            PUSHAD
        }
     
        StartFont( pDevice );
     
        if( Font )
            WriteText( pDevice, 300, 300, Red, "CrossFire: Hook Present Engine" );
     
        __asm
        {
            POPAD
            JMP retPresentEngine
        }
    }
     
    VOID *DetourCreate( BYTE *src, CONST BYTE *dst, CONST INT len )
    {
        BYTE *jmp =( BYTE * ) malloc( len + 5 );
        DWORD dwBack;
     
        VirtualProtect( src, len, PAGE_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;
        for( INT i = 5; i < len; i++ )
            src[i] = 0x90;
        VirtualProtect( src, len, dwBack, &dwBack );
     
        return( jmp - len );
    }
     
    DWORD WINAPI StartRoutine( LPVOID )
    {
        while( TRUE )
        {
            if( memcmp( ( VOID * )PresentEngine, ( VOID * )( PBYTE )"\x8B\x51", 2 ) == 0 )
            {
                Sleep( 100 );
                DetourCreate( ( PBYTE )PresentEngine, ( PBYTE )PresentMidfunction, 5 );
            }
            Sleep( 50 );
        }
     
        return 0;
    }
     
    BOOL WINAPI DllMain( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
    { 
        if( dwReason == DLL_PROCESS_ATTACH )
        {
            DisableThreadLibraryCalls( hDll );
            MessageBox( 0, "Hook Present Engine", "Crossfire", 0 );
            CreateThread( 0, 0, (LPTHREAD_START_ROUTINE)StartRoutine, 0, 0, 0 );
        }
     
        return TRUE;
    }


    Tenho o Pattern do endereço do Present : \x8B\x51\x00\x6A\x00\x6A\x00\x6A\x00\x50\xFF\xD2\x B8\x00\x00\x00\x00\xE8\x00\x00\x00\x00\xC7\x05\x00 \x00\x00\x00
    xx?x?x?x?xxxx????x????xx????

    Gostaria de uma ajuda para tentar botar isso para funcionar, estou meio sem rumo de por onde começar

    Estou buscando em todos os lugares e estou até entendendo mais sobre o assunto.
    Caso não queiram ajudar vou entender.

  2. #2
    iProgammer's Avatar
    Join Date
    Nov 2016
    Gender
    male
    Posts
    67
    Reputation
    10
    Thanks
    4
    Atualiza o endereço caso estiver incorreto, tem vários endereços referente ao Present.
    Depois desenha um menu e adiciona aí.

  3. #3
    ForeverMarshall's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    35
    Reputation
    10
    Thanks
    31
    My Mood
    Aggressive
    Quote Originally Posted by iProgammer View Post
    Atualiza o endereço caso estiver incorreto, tem vários endereços referente ao Present.
    Depois desenha um menu e adiciona aí.
    O Meu problema é com esse endereço.
    Já carreguei o Crossfire.exe e não consegui localizar
    Carreguei a D3D9.DLL e não encontrei

    A Unica coisa que não tentei foi carregar a d3d9 no crossfire.exe pois não libera a opção de faze-lo no ollydbg *-*

  4. #4
    iProgammer's Avatar
    Join Date
    Nov 2016
    Gender
    male
    Posts
    67
    Reputation
    10
    Thanks
    4
    Quote Originally Posted by ForeverMarshall View Post
    O Meu problema é com esse endereço.
    Já carreguei o Crossfire.exe e não consegui localizar
    Carreguei a D3D9.DLL e não encontrei

    A Unica coisa que não tentei foi carregar a d3d9 no crossfire.exe pois não libera a opção de faze-lo no ollydbg *-*
    Usa o x32Dbg, vai dar certo

  5. #5
    Fєηix's Avatar
    Join Date
    Apr 2013
    Gender
    male
    Location
    Brαzil
    Posts
    1,178
    Reputation
    114
    Thanks
    6,891
    My Mood
    Sleepy
    Não entendi essa de carregar a d3d9...

    Code:
    #define ADDR_PRESENT		0x4E77AF
    #define ADDR_ENDSCENE		0x459B1F

  6. #6
    ForeverMarshall's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    35
    Reputation
    10
    Thanks
    31
    My Mood
    Aggressive
    Quote Originally Posted by Fєηix View Post
    Não entendi essa de carregar a d3d9...

    Code:
    #define ADDR_PRESENT		0x4E77AF
    #define ADDR_ENDSCENE		0x459B1F
    Agora que eu li um pouco mais entendi sobre o assunto.
    Estou com problemas para achar esses endereços aí :P
    Estão na D3D9 correto? Bom, se estiver só irão variar de sistema operacional para sistema operacional
    Agora se for no Crossfire.exe (tenho quase certeza que não) elas são para todos sistemas.

  7. #7
    iProgammer's Avatar
    Join Date
    Nov 2016
    Gender
    male
    Posts
    67
    Reputation
    10
    Thanks
    4
    Quote Originally Posted by ForeverMarshall View Post
    Agora que eu li um pouco mais entendi sobre o assunto.
    Estou com problemas para achar esses endereços aí :P
    Estão na D3D9 correto? Bom, se estiver só irão variar de sistema operacional para sistema operacional
    Agora se for no Crossfire.exe (tenho quase certeza que não) elas são para todos sistemas.
    Estão na engine do game, crossfire.exe...
    E tem vários endereços tanto Present como EndScene, DipEngine. Fonte -> dreek1

  8. #8
    ForeverMarshall's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    35
    Reputation
    10
    Thanks
    31
    My Mood
    Aggressive
    Quote Originally Posted by iProgammer View Post
    Estão na engine do game, crossfire.exe...
    E tem vários endereços tanto Present como EndScene, DipEngine. Fonte -> dreek1
    Existe uma string, pattern ou algo que eu possa utilizar como referência para encontra-los?

  9. #9
    iProgammer's Avatar
    Join Date
    Nov 2016
    Gender
    male
    Posts
    67
    Reputation
    10
    Thanks
    4
    Quote Originally Posted by ForeverMarshall View Post
    Existe uma string, pattern ou algo que eu possa utilizar como referência para encontra-los?
    Pesquise no google, "Hook EndScene" e "Hook Present".
    Para os dois você irá encontrar pattern, estão desatualizadas... Retire alguns números, letras ou ?? que irá conseguir encontrar algum endereço.

  10. #10
    ForeverMarshall's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    35
    Reputation
    10
    Thanks
    31
    My Mood
    Aggressive
    Quote Originally Posted by iProgammer View Post
    Pesquise no google, "Hook EndScene" e "Hook Present".
    Para os dois você irá encontrar pattern, estão desatualizadas... Retire alguns números, letras ou ?? que irá conseguir encontrar algum endereço.
    Já consegui, valeu pai
    Obrigado

  11. #11
    heromode1's Avatar
    Join Date
    Jun 2011
    Gender
    male
    Posts
    12
    Reputation
    10
    Thanks
    0
    My Mood
    Bored
    Como que usa isso ?? kk

  12. #12
    FaceOfAmerica's Avatar
    Join Date
    Jul 2017
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    2
    Esse hook aqui tá dando dc, mais também pode ser o injetor extreme ou a dll,
    ESSE HOOK REALMENTE ESTÁ DETECTADO???

Similar Threads

  1. Ajuda com DUMP Engine.exe
    By The Vector in forum Combat Arms BR Coding Help
    Replies: 11
    Last Post: 09-03-2012, 07:47 PM
  2. Ajuda Com Os WeaponRange1 E 2 !
    By S0aD in forum Combat Arms Brazil Help
    Replies: 43
    Last Post: 02-03-2011, 05:40 PM
  3. Ajuda com Fonte D3DX
    By |Maveric| in forum Combat Arms Brazil Discussions
    Replies: 3
    Last Post: 01-09-2011, 10:37 AM
  4. Replies: 3
    Last Post: 01-02-2011, 04:00 AM
  5. Ajuda com hack's
    By sinehd in forum Combat Arms Help
    Replies: 2
    Last Post: 09-25-2010, 06:31 PM