Page 1 of 2 12 LastLast
Results 1 to 15 of 29
  1. #1
    mamo007's Avatar
    Join Date
    Apr 2012
    Gender
    male
    Location
    Behind You !
    Posts
    1,655
    Reputation
    216
    Thanks
    15,607
    My Mood
    Amazed

    Updated DIP Engine Hook

    Hello..

    Code:
    DWORD retDIPHook, DIPHook;
    int wallhack = 1;
    __declspec(naked) HRESULT WINAPI aDIPHook()
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    
    	__asm
    	{
    		MOV ECX, DWORD PTR DS : [EDI]
    		MOV EDX, DWORD PTR DS : [ECX + 0x148]
    		MOV DWORD PTR DS : [pDevice], EDI
    		PUSHAD
    	}
    
    	if (wallhack)
    		pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
    
    	__asm
    	{
    		POPAD
    		JMP retDIPHook
    	}
    }
    
    bool Ready2Hook()
    {
    	if (GetModuleHandle("CShell.dll") != 0 && GetModuleHandle("ClientFx.fxd") != 0)
    		return true;
    	return false;
    }
    
    DWORD WINAPI Call()
    {
    	while (!Ready2Hook())
    		Sleep(200);
    
    	while (TRUE)
    	{
    		DIPHook = FindPattern((DWORD)GetModuleHandle("crossfire.exe"), 0xFFFFFF, (PBYTE)"\x8B\x0F\x8B\x91\x00\x00\x00\x00\x53\x6A\x00\x55\x6A\x00\x6A\x00\x6A\x04\x57\xFF\xD2\x5F\x5E\x5D\x85\xC0", "0000????00?00?0?0?00000000");
    		if (DIPHook != 0)
    		{
    			retDIPHook = (DIPHook + 0x8);
    			DetourCreate((PBYTE)DIPHook, (PBYTE)aDIPHook, 8);
    		}
    	}
    	return 0;
    }
    credits:
    mpgh
    me for updating.
    [Source Code] Present Hooks Win 7/8 .. 8.1/10


    - removed youtube video as it had an outside link


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

    3laaBahaa (08-10-2019),TheG2ek (08-05-2019)

  3. #2
    skin14_88's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Posts
    20
    Reputation
    10
    Thanks
    0
    are pattern for ru crossfire the same? because the wh doesnt work...

    here my code

    #include <windows.h>
    #include <d3d9.h>
    #include <d3dx9.h>

    DWORD retDIPHook, DIPHook;
    int wallhack = 1;




    bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
    {
    for(;*szMask;++szMask,++pData,++bMask)
    if(*szMask=='x' && *pData!=*bMask) return 0;
    return (*szMask) == NULL;
    }

    DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
    {
    for(DWORD i=0; i<dwLen; i++)
    if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i);
    return 0;
    }


    __declspec(naked) HRESULT WINAPI aDIPHook()
    {
    static LPDIRECT3DDEVICE9 pDevice;

    __asm
    {
    MOV ECX, DWORD PTR DS : [EDI]
    MOV EDX, DWORD PTR DS : [ECX + 0x148]
    MOV DWORD PTR DS : [pDevice], EDI
    PUSHAD
    }

    if (wallhack)
    pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

    __asm
    {
    POPAD
    JMP retDIPHook
    }
    }

    bool Ready2Hook()
    {
    if (GetModuleHandle("CShell.dll") != 0 && GetModuleHandle("ClientFx.fxd") != 0)
    return true;
    return false;
    }

    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 Call()
    {
    while (!Ready2Hook())
    Sleep(200);

    while (TRUE)
    {
    DIPHook = FindPattern((DWORD)GetModuleHandle("crossfire.exe" ), 0xFFFFFF, (PBYTE)"\x8B\x0F\x8B\x91\x00\x00\x00\x00\x53\x6A\x 00\x55\x6A\x00\x6A\x00\x6A\x04\x57\xFF\xD2\x5F\x5E \x5D\x85\xC0", "0000????00?00?0?0?00000000");
    if (DIPHook != 0)
    {
    retDIPHook = (DIPHook + 0x8);
    DetourCreate((PBYTE)DIPHook, (PBYTE)aDIPHook, 8);
    }
    }
    return 0;
    }
    Last edited by skin14_88; 08-14-2019 at 02:28 AM.

  4. #3
    Threadstarter
    Do Your Best To Be The Best
    MPGH Member
    mamo007's Avatar
    Join Date
    Apr 2012
    Gender
    male
    Location
    Behind You !
    Posts
    1,655
    Reputation
    216
    Thanks
    15,607
    My Mood
    Amazed
    This is for cfwest, idk about cfru
    [Source Code] Present Hooks Win 7/8 .. 8.1/10


    - removed youtube video as it had an outside link


  5. #4
    nbvvbnn's Avatar
    Join Date
    Aug 2019
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    I don't real know much about these codes.
    How do u use it?

  6. #5
    TheG2ek's Avatar
    Join Date
    Jun 2019
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    226
    My Mood
    Bashful
    Quote Originally Posted by mamo007 View Post
    This is for cfwest, idk about cfru
    patched for cfwest.

  7. #6
    Threadstarter
    Do Your Best To Be The Best
    MPGH Member
    mamo007's Avatar
    Join Date
    Apr 2012
    Gender
    male
    Location
    Behind You !
    Posts
    1,655
    Reputation
    216
    Thanks
    15,607
    My Mood
    Amazed
    Quote Originally Posted by TheG2ek View Post
    patched for cfwest.
    Code:
    DWORD retDIPHook, DIPHook;
    int wallhack = 1;
    __declspec(naked) HRESULT WINAPI aDIPHook()
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    
    	__asm
    	{
    		MOV EAX, DWORD PTR DS : [EDI]
    		MOV ECX, DWORD PTR DS : [EAX + 0x148]
    		MOV DWORD PTR DS : [pDevice], EDI
                    PUSHAD
    	}
    
    	if (wallhack)
    		pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
    
    	__asm
    	{
    		POPAD
    		JMP retDIPHook
    	}
    }
    
    bool Ready2Hook()
    {
    	if (GetModuleHandle("CShell.dll") != 0 && GetModuleHandle("ClientFx.fxd") != 0)
    		return true;
    	return false;
    }
    
    DWORD WINAPI Call()
    {
    	while (!Ready2Hook())
    		Sleep(200);
    
    	while (TRUE)
    	{
    		DIPHook = FindPattern((DWORD)GetModuleHandle("crossfire.exe"), 0xFFFFFF, (PBYTE)"\x8B\x07\x8B\x88\x00\x00\x00\x00\x55\x6A\x00\x53\x6A\x00\x6A\x00\x6A\x04\x57\xFF\xD1\x85\xC0\x7C", "0000????00?00?0?0?000000");
    		if (DIPHook != 0)
    		{
    			retDIPHook = (DIPHook + 0x8);
    			DetourCreate((PBYTE)DIPHook, (PBYTE)aDIPHook, 8);
    		}
    	}
    	return 0;
    }
    Have fun.
    [Source Code] Present Hooks Win 7/8 .. 8.1/10


    - removed youtube video as it had an outside link


  8. #7
    luizimloko's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    fs:[0]
    Posts
    1,879
    Reputation
    136
    Thanks
    10,137
    My Mood
    Yeehaw
    Code:
    #define ADDR_DIPENGINE_1		0x004DA306
    #define ADDR_DIPENGINE_2		0x004E5C94
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_1( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static D3DPRIMITIVETYPE Type;
    	static INT BaseVertexIndex;
    	static UINT MinVertexIndex, NumVertices, startIndex, primCount;
    
    	__asm
    	{
    		mov eax, [ eax + 0x148 ]
    		mov [ primCount ], edi
    		push edi
    		mov [ startIndex ], ecx
    		push ecx
    		mov [ NumVertices ], ebp
    		push ebp
    		mov [ MinVertexIndex ], edx
    		push edx
    		push 0
    		push 4
    		mov [ pDevice ], ebx
    		push ebx
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, MinVertexIndex, NumVertices, startIndex, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov edx, ADDR_DIPENGINE_1
    		add edx, 0x0F
    		jmp edx
    	}
    }
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_2( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static UINT NumVertices, primCount;
    
    	__asm
    	{
    		mov ecx, [ eax + 0x148 ]
    		mov [ primCount ], ebp
    		push ebp
    		push 0
    		mov [ NumVertices ], ebx
    		push ebx
    		push 0
    		push 0
    		push 4
    		mov [ pDevice ], edi
    		push edi
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, 0, NumVertices, 0, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov eax, ADDR_DIPENGINE_2
    		add eax, 0x11
    		jmp eax
    	}
    }
    
    DWORD WINAPI dwStartHook( void * )
    {
    	while( ( memcmp( ( void * ) ADDR_DIPENGINE_1, "\x8B", 1 ) &&
    		   ( memcmp( ( void * ) ADDR_DIPENGINE_2, "\x8B", 1 ) ) ) )
    		   Sleep( 10 );
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_1 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_1 - ADDR_DIPENGINE_1 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x05 ) = 0x90;
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_2 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_2 - ADDR_DIPENGINE_2 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x05 ) = 0x90;
    
    	return 0;
    }
    Last edited by luizimloko; 08-14-2019 at 04:33 PM.

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

    mamo007 (08-14-2019),TheG2ek (08-15-2019)

  10. #8
    Threadstarter
    Do Your Best To Be The Best
    MPGH Member
    mamo007's Avatar
    Join Date
    Apr 2012
    Gender
    male
    Location
    Behind You !
    Posts
    1,655
    Reputation
    216
    Thanks
    15,607
    My Mood
    Amazed
    Quote Originally Posted by luizimloko View Post
    Code:
    #define ADDR_DIPENGINE_1		0x004DA306
    #define ADDR_DIPENGINE_2		0x004E5C94
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_1( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static D3DPRIMITIVETYPE Type;
    	static INT BaseVertexIndex;
    	static UINT MinVertexIndex, NumVertices, startIndex, primCount;
    
    	__asm
    	{
    		mov eax, [ eax + 0x148 ]
    		mov [ primCount ], edi
    		push edi
    		mov [ startIndex ], ecx
    		push ecx
    		mov [ NumVertices ], ebp
    		push ebp
    		mov [ MinVertexIndex ], edx
    		push edx
    		push 0
    		push 4
    		mov [ pDevice ], ebx
    		push ebx
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, MinVertexIndex, NumVertices, startIndex, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov edx, ADDR_DIPENGINE_1
    		add edx, 0x0F
    		jmp edx
    	}
    }
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_2( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static UINT NumVertices, primCount;
    
    	__asm
    	{
    		mov ecx, [ eax + 0x148 ]
    		mov [ primCount ], ebp
    		push ebp
    		push 0
    		mov [ NumVertices ], ebx
    		push ebx
    		push 0
    		push 0
    		push 4
    		mov [ pDevice ], edi
    		push edi
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, 0, NumVertices, 0, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov eax, ADDR_DIPENGINE_2
    		add eax, 0x11
    		jmp eax
    	}
    }
    
    DWORD WINAPI dwStartHook( void * )
    {
    	while( ( memcmp( ( void * ) ADDR_DIPENGINE_1, "\x8B", 1 ) &&
    		   ( memcmp( ( void * ) ADDR_DIPENGINE_2, "\x8B", 1 ) ) ) )
    		   Sleep( 10 );
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_1 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_1 - ADDR_DIPENGINE_1 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x05 ) = 0x90;
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_2 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_2 - ADDR_DIPENGINE_2 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x05 ) = 0x90;
    
    	return 0;
    }
    well, that's more accurate. xd
    [Source Code] Present Hooks Win 7/8 .. 8.1/10


    - removed youtube video as it had an outside link


  11. #9
    TheG2ek's Avatar
    Join Date
    Jun 2019
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    226
    My Mood
    Bashful
    Quote Originally Posted by mamo007 View Post


    Code:
    DWORD retDIPHook, DIPHook;
    int wallhack = 1;
    __declspec(naked) HRESULT WINAPI aDIPHook()
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    
    	__asm
    	{
    		MOV EAX, DWORD PTR DS : [EDI]
    		MOV ECX, DWORD PTR DS : [EAX + 0x148]
    		MOV DWORD PTR DS : [pDevice], EDI
                    PUSHAD
    	}
    
    	if (wallhack)
    		pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
    
    	__asm
    	{
    		POPAD
    		JMP retDIPHook
    	}
    }
    
    bool Ready2Hook()
    {
    	if (GetModuleHandle("CShell.dll") != 0 && GetModuleHandle("ClientFx.fxd") != 0)
    		return true;
    	return false;
    }
    
    DWORD WINAPI Call()
    {
    	while (!Ready2Hook())
    		Sleep(200);
    
    	while (TRUE)
    	{
    		DIPHook = FindPattern((DWORD)GetModuleHandle("crossfire.exe"), 0xFFFFFF, (PBYTE)"\x8B\x07\x8B\x88\x00\x00\x00\x00\x55\x6A\x00\x53\x6A\x00\x6A\x00\x6A\x04\x57\xFF\xD1\x85\xC0\x7C", "0000????00?00?0?0?000000");
    		if (DIPHook != 0)
    		{
    			retDIPHook = (DIPHook + 0x8);
    			DetourCreate((PBYTE)DIPHook, (PBYTE)aDIPHook, 8);
    		}
    	}
    	return 0;
    }
    Have fun.
    Thx , but how can i update Pattern ?

    - - - Updated - - -

    Quote Originally Posted by luizimloko View Post
    Code:
    #define ADDR_DIPENGINE_1		0x004DA306
    #define ADDR_DIPENGINE_2		0x004E5C94
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_1( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static D3DPRIMITIVETYPE Type;
    	static INT BaseVertexIndex;
    	static UINT MinVertexIndex, NumVertices, startIndex, primCount;
    
    	__asm
    	{
    		mov eax, [ eax + 0x148 ]
    		mov [ primCount ], edi
    		push edi
    		mov [ startIndex ], ecx
    		push ecx
    		mov [ NumVertices ], ebp
    		push ebp
    		mov [ MinVertexIndex ], edx
    		push edx
    		push 0
    		push 4
    		mov [ pDevice ], ebx
    		push ebx
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, MinVertexIndex, NumVertices, startIndex, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov edx, ADDR_DIPENGINE_1
    		add edx, 0x0F
    		jmp edx
    	}
    }
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_2( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static UINT NumVertices, primCount;
    
    	__asm
    	{
    		mov ecx, [ eax + 0x148 ]
    		mov [ primCount ], ebp
    		push ebp
    		push 0
    		mov [ NumVertices ], ebx
    		push ebx
    		push 0
    		push 0
    		push 4
    		mov [ pDevice ], edi
    		push edi
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, 0, NumVertices, 0, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov eax, ADDR_DIPENGINE_2
    		add eax, 0x11
    		jmp eax
    	}
    }
    
    DWORD WINAPI dwStartHook( void * )
    {
    	while( ( memcmp( ( void * ) ADDR_DIPENGINE_1, "\x8B", 1 ) &&
    		   ( memcmp( ( void * ) ADDR_DIPENGINE_2, "\x8B", 1 ) ) ) )
    		   Sleep( 10 );
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_1 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_1 - ADDR_DIPENGINE_1 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x05 ) = 0x90;
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_2 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_2 - ADDR_DIPENGINE_2 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x05 ) = 0x90;
    
    	return 0;
    }
    what's aobs of ADDR_DIPENGINE_1 & ADDR_DIPENGINE_2 ?

  12. #10
    luizimloko's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    fs:[0]
    Posts
    1,879
    Reputation
    136
    Thanks
    10,137
    My Mood
    Yeehaw
    Quote Originally Posted by TheG2ek View Post



    what's aobs of ADDR_DIPENGINE_1 & ADDR_DIPENGINE_2 ?
    Code:
    //ADDR_DIPENGINE_1:
    //8b 80 48 01 00 00 57 51 55 52 6a 00 6a 04 53 ff d0 85 c0 7c ??
    
    //ADDR_DIPENGINE_2:
    //8b 88 48 01 00 00 55 6a 00 53 6a 00 6a 00 6a 04 57 ff d1 85 c0 7c ??

  13. The Following User Says Thank You to luizimloko For This Useful Post:

    TheG2ek (08-15-2019)

  14. #11
    TheG2ek's Avatar
    Join Date
    Jun 2019
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    226
    My Mood
    Bashful
    Quote Originally Posted by luizimloko View Post


    Code:
    //ADDR_DIPENGINE_1:
    //8b 80 48 01 00 00 57 51 55 52 6a 00 6a 04 53 ff d0 85 c0 7c ??
    
    //ADDR_DIPENGINE_2:
    //8b 88 48 01 00 00 55 6a 00 53 6a 00 6a 00 6a 04 57 ff d1 85 c0 7c ??
    thank you very much , You are a Gentleman

  15. #12
    TheG2ek's Avatar
    Join Date
    Jun 2019
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    226
    My Mood
    Bashful
    Quote Originally Posted by luizimloko View Post
    Code:
    #define ADDR_DIPENGINE_1		0x004DA306
    #define ADDR_DIPENGINE_2		0x004E5C94
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_1( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static D3DPRIMITIVETYPE Type;
    	static INT BaseVertexIndex;
    	static UINT MinVertexIndex, NumVertices, startIndex, primCount;
    
    	__asm
    	{
    		mov eax, [ eax + 0x148 ]
    		mov [ primCount ], edi
    		push edi
    		mov [ startIndex ], ecx
    		push ecx
    		mov [ NumVertices ], ebp
    		push ebp
    		mov [ MinVertexIndex ], edx
    		push edx
    		push 0
    		push 4
    		mov [ pDevice ], ebx
    		push ebx
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, MinVertexIndex, NumVertices, startIndex, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov edx, ADDR_DIPENGINE_1
    		add edx, 0x0F
    		jmp edx
    	}
    }
    
    __declspec( naked ) HRESULT WINAPI DrawIndexedPrimitive_2( void )
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    	static UINT NumVertices, primCount;
    
    	__asm
    	{
    		mov ecx, [ eax + 0x148 ]
    		mov [ primCount ], ebp
    		push ebp
    		push 0
    		mov [ NumVertices ], ebx
    		push ebx
    		push 0
    		push 0
    		push 4
    		mov [ pDevice ], edi
    		push edi
    		pushad
    	}
    
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFFFF0000 );
    	pDevice->DrawIndexedPrimitive
    	( D3DPRIMITIVETYPE::D3DPT_TRIANGLELIST, 0, 0, NumVertices, 0, primCount );
    	pDevice->SetRenderState( D3DRS_AMBIENT, 0xFF00FF00 );
    	pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE );
    
    	__asm
    	{
    		popad
    		mov eax, ADDR_DIPENGINE_2
    		add eax, 0x11
    		jmp eax
    	}
    }
    
    DWORD WINAPI dwStartHook( void * )
    {
    	while( ( memcmp( ( void * ) ADDR_DIPENGINE_1, "\x8B", 1 ) &&
    		   ( memcmp( ( void * ) ADDR_DIPENGINE_2, "\x8B", 1 ) ) ) )
    		   Sleep( 10 );
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_1 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_1 - ADDR_DIPENGINE_1 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_1 + 0x05 ) = 0x90;
    
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x00 ) = 0xE9;
    	*( DWORD * ) ( ADDR_DIPENGINE_2 + 0x01 ) = ( ( DWORD ) DrawIndexedPrimitive_2 - ADDR_DIPENGINE_2 ) - 5;
    	*( BYTE  * ) ( ADDR_DIPENGINE_2 + 0x05 ) = 0x90;
    
    	return 0;
    }
    cf west

    #define ADDR_DIPENGINE_1 0x004DBD46
    #define ADDR_DIPENGINE_2 0x004D4AB4

    - - - Updated - - -

    Quote Originally Posted by mamo007 View Post


    Code:
    DWORD retDIPHook, DIPHook;
    int wallhack = 1;
    __declspec(naked) HRESULT WINAPI aDIPHook()
    {
    	static LPDIRECT3DDEVICE9 pDevice;
    
    	__asm
    	{
    		MOV EAX, DWORD PTR DS : [EDI]
    		MOV ECX, DWORD PTR DS : [EAX + 0x148]
    		MOV DWORD PTR DS : [pDevice], EDI
                    PUSHAD
    	}
    
    	if (wallhack)
    		pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
    
    	__asm
    	{
    		POPAD
    		JMP retDIPHook
    	}
    }
    
    bool Ready2Hook()
    {
    	if (GetModuleHandle("CShell.dll") != 0 && GetModuleHandle("ClientFx.fxd") != 0)
    		return true;
    	return false;
    }
    
    DWORD WINAPI Call()
    {
    	while (!Ready2Hook())
    		Sleep(200);
    
    	while (TRUE)
    	{
    		DIPHook = FindPattern((DWORD)GetModuleHandle("crossfire.exe"), 0xFFFFFF, (PBYTE)"\x8B\x07\x8B\x88\x00\x00\x00\x00\x55\x6A\x00\x53\x6A\x00\x6A\x00\x6A\x04\x57\xFF\xD1\x85\xC0\x7C", "0000????00?00?0?0?000000");
    		if (DIPHook != 0)
    		{
    			retDIPHook = (DIPHook + 0x8);
    			DetourCreate((PBYTE)DIPHook, (PBYTE)aDIPHook, 8);
    		}
    	}
    	return 0;
    }
    Have fun.

    doesn't work

  16. #13
    M47Z's Avatar
    Join Date
    Apr 2019
    Gender
    male
    Posts
    27
    Reputation
    10
    Thanks
    6
    My Mood
    Amazed
    Quote Originally Posted by TheG2ek View Post
    cf west

    #define ADDR_DIPENGINE_1 0x004DBD46
    #define ADDR_DIPENGINE_2 0x004D4AB4

    - - - Updated - - -



    doesn't work
    maybe patched or outdated pattern

  17. #14
    TheG2ek's Avatar
    Join Date
    Jun 2019
    Gender
    male
    Posts
    70
    Reputation
    10
    Thanks
    226
    My Mood
    Bashful
    Quote Originally Posted by M47Z View Post
    maybe patched or outdated pattern
    i know i use another way , but i want to ask you 1 question , can you remove hwid ban ? or XIGNCODE Error 0xE019100C ?

  18. #15
    vaisefud3's Avatar
    Join Date
    Jun 2017
    Gender
    male
    Posts
    955
    Reputation
    10
    Thanks
    150
    My Mood
    Bored
    Quote Originally Posted by TheG2ek View Post
    i know i use another way , but i want to ask you 1 question , can you remove hwid ban ? or XIGNCODE Error 0xE019100C ?
    Clear logs and spoof the network driver.
    Using your phone's usb thetering also works.

Page 1 of 2 12 LastLast

Similar Threads

  1. [Release] DIP Engine 2 Updated
    By luizimloko in forum CrossFire Hack Coding / Programming / Source Code
    Replies: 23
    Last Post: 09-18-2013, 12:01 AM
  2. [Source Code] DIP Engine Hook
    By [H]aaBX in forum District 187 Hacks & Cheats
    Replies: 14
    Last Post: 03-30-2013, 12:27 PM
  3. [Release] Hook DIP Engine
    By Avene in forum CrossFire Hack Coding / Programming / Source Code
    Replies: 15
    Last Post: 08-29-2012, 03:49 PM
  4. [Release] Hook DIP Engine
    By PikaMucha_Itu in forum Combat Arms BR Hack Coding/Source Code
    Replies: 62
    Last Post: 06-07-2012, 11:10 AM
  5. [Release] WiirtuallCA Cheat Engine Hook V 1.2 [64BIT Vista/7Only]
    By Wiirtuallca in forum Combat Arms Europe Hacks
    Replies: 11
    Last Post: 12-16-2009, 05:40 PM