New D3D Hook & Wireframe Example

Тема в разделе "Исходники", создана пользователем 4uTePok, 2 фев 2013.

  1. 4uTePok

    4uTePok Active Member

    Репутация:
    0
    Регистрация:
    13 апр 2011
    Сообщения:
    1.985
    Симпатии:
    0
    Код:
    #include <Windows.h>
    
    
    
    #pragma region D3D Stuff Here
    
    
    
    void Derp()
    
    { 
    
    	IDirect3DVertexBuffer9* pStreamData = NULL;
    
                  UINT pOffsetInBytes , pStride;
    
                  pDevice->GetStreamSource(0,&pStreamData,&pOffsetInBytes,&pStride);
    
    
    
    	if (pStride == 24 || pStride == 28)//Wireframe Example
    
    	{
    
                      pDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME);
    
    	}
    
    }
    
    
    
    #pragma endregion
    
    
    
    #pragma region Mem Scanner/Detour/Hook
    
    bool Compare(const BYTE* pData, const BYTE* bMaskara, const char* szMaskara)
    
    {
    
    	for(;*szMaskara;++szMaskara,++pData,++bMaskara)
    
    		if(*szMaskara=='x' && *pData!=*bMaskara ) 
    
    			return false;
    
    	return (*szMaskara) == NULL;
    
    }
    
    DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
    
    {
    
    	 for (DWORD x = 0; x < dwLen; x++)
    
    		if( Compare( ( BYTE * )( dwAddress + x ), bMask, szMask ) )  
    
    		return ( DWORD )( dwAddress + x );
    
    	return 0;
    
    }
    
    void Detour(BYTE *pAddress, DWORD dwJumpTo, DWORD dwLen)
    
    {
    
        DWORD dwOldProtect, dwBkup, dwRelAddr;
    
        VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect);
    
        dwRelAddr = (DWORD) (dwJumpTo - (DWORD) pAddress) - 5;
    
        *pAddress = 0xE9;
    
        *((DWORD *)(pAddress + 1)) = dwRelAddr;
    
        for(DWORD x = 0x5; x < dwLen; x++) *(pAddress + x) = 0x90;
    
        VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup);    
    
    }
    
    __declspec( naked )VOID MidHook()
    
    {
    
    	__asm
    
    	{
    
    		MOV EDI,[EBP+10h]
    
    		MOV EAX, DWORD PTR SS:[EBP + 8]
    
    		MOV DWORD PTR DS:[pDevice], EAX
    
    		CALL Derp
    
    		CMP EDI,20h
    
    		JMP NxtInst
    
    	}
    
    }
    
    #pragma endregion
    
    
    
    #pragma region Storage
    
    LPDIRECT3DDEVICE9 pDevice;
    
    DWORD NxtInst;
    
    #pragma endregion
    
    
    
    #pragma region Find Address
    
    
    
    DWORD GetD3D()
    
    {
    
    	//No Windows 8 or xp byte pattern. I dont have access to those OS...
    
        DWORD hD3D = (DWORD)GetModuleHandle("d3d9");
    
      	//Windows 7 Scan d3d9.dll+EEFA
    
    	DWORD DIPD3D9;
    
    	if ((DIPD3D9 = FindPattern(hD3D,0x128000,( PBYTE )"\x8B\x7D\x10\x83\xFF\x20","xxxxxx")))
    
    	{
    
           NxtInst = DIPD3D9 + 6;
    
           return DIPD3D9;
    
    	}
    
      return 0;
    
    }
    
    
    
    #pragma endregion
    
    
    
    #pragma region DllMain/Thread
    
    
    
    void Hooker()
    
    {
    
    	while (GetModuleHandle("d3d9") == NULL)
    
    	Sleep(10);
    
    	DWORD DIPD3D9;
    
    	if (DIPD3D9 = GetD3D()) Detour((PBYTE)DIPD3D9, (DWORD)MidHook, 6);
    
    }
    
    
    
    BOOL WINAPI DllMain(HMODULE dHandle, DWORD nReason, LPVOID Reserved)
    
    {
    
    	if(nReason == DLL_PROCESS_ATTACH)
    
    	{
    
    		DisableThreadLibraryCalls(dHandle);
    
    		CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Hooker, NULL, NULL, NULL);
    
    	}
    
    	return TRUE;
    
    }
    
    
    
    #pragma endregion



    [​IMG]



    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться

    Для просмотра внешних ссылок необходимо зарегистрироваться либо авторизоваться



    I'm not a D3D pro nor a C++ one, so if you see something wrong or noobish, dont scream at me [​IMG]
     
  2. Янцзы

    Янцзы New Member

    Репутация:
    0
    Регистрация:
    21 дек 2012
    Сообщения:
    1.139
    Симпатии:
    0
    Что это? [​IMG]
     
  3. 4uTePok

    4uTePok Active Member

    Репутация:
    0
    Регистрация:
    13 апр 2011
    Сообщения:
    1.985
    Симпатии:
    0
    Кто делает читы на АмерикансийCF тому поможет...
     
  4. KBC-Team

    KBC-Team New Member

    Репутация:
    0
    Регистрация:
    16 янв 2013
    Сообщения:
    418
    Симпатии:
    0
     
  5. Shakal38

    Shakal38 New Member

    Репутация:
    0
    Регистрация:
    5 июн 2012
    Сообщения:
    163
    Симпатии:
    0
     
  6. Flow3R

    Flow3R New Member Заблокированные

    Репутация:
    0
    Регистрация:
    14 окт 2012
    Сообщения:
    401
    Симпатии:
    0
    Че за игра?
     
  7. ronaldo.dddd

    ronaldo.dddd New Member

    Репутация:
    0
    Регистрация:
    13 янв 2013
    Сообщения:
    67
    Симпатии:
    0
    тут про Пб надо мне так кажется а не про все игры!!!
     
  8. Kaban4eG

    Kaban4eG New Member

    Репутация:
    0
    Регистрация:
    10 фев 2013
    Сообщения:
    30
    Симпатии:
    0
    безполезная функция
     
  9. zZzAgyshkazZz

    zZzAgyshkazZz New Member

    Репутация:
    0
    Регистрация:
    3 мар 2012
    Сообщения:
    215
    Симпатии:
    0
  10. Mazafuckas

    Mazafuckas New Member

    Репутация:
    0
    Регистрация:
    16 сен 2012
    Сообщения:
    624
    Симпатии:
    0
    Благо,что не на классах сделано =)
     
  11. Adic

    Adic Member

    Репутация:
    0
    Регистрация:
    15 сен 2012
    Сообщения:
    42
    Симпатии:
    0
    [​IMG] , тупо слив мпгх.нет
     
  12. WiFi™

    WiFi™ New Member

    Репутация:
    0
    Регистрация:
    28 фев 2013
    Сообщения:
    9
    Симпатии:
    0
    AP! молор!
     
  13. NeaDeKvaT™

    NeaDeKvaT™ New Member

    Репутация:
    0
    Регистрация:
    26 дек 2012
    Сообщения:
    94
    Симпатии:
    0
    +
     
  14. New_FIDANzza

    New_FIDANzza New Member

    Репутация:
    0
    Регистрация:
    2 дек 2012
    Сообщения:
    14
    Симпатии:
    0
    Mazafuckas, какие классы, для ВиреФрэйма, Мазафака?!?!?!?!
     

Поделиться этой страницей