сем привет. В этой статье я напишу, как сделать простой D3D Hack
Что вам нужно:
Microsoft Visual C++ 2008
DirectX 9.0 SDK Update - (October 2005)
D3D Starter Kit v3.0b
После того, как вы скачаете и установите Visual C++, вы можете настроить D3D SDK
Откройте Visual C++, зайдите в Сервис->Параметры->Проекты и решения->Каталоги VC++
Теперь отобразите каталоги только для включаемых файлов и добавьте туда папку Include из вашего каталога с установленным DirectX(примерно такую: C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (October 2005)\Include)
Примерно так у вас должно получиться:
Теперь отобразите каталоги только для файлов библиотек и добавьте туда 2 папки. Lib\x64 и Lib\x86 из вашего каталога с установленным DirectX
Примерно так у вас должно получиться:
После того, как вы всё это сделаете, извлеките содержимое архива с D3D Starter Kit v3.0b и перейдите в папку D3D9->old_workspace и скопируете всё её содержимое в папку D3D9
После этого откройте Visual C++ и нажмите Файл->Открыть->Решение или проект и откройте файл TatniumD3D.dsw
Всё. Теперь всё готово к тому, чтобы сделать чит
Сейчас мы будем делать обычный прицел.
В Visual C++ перейдите к файлу Source Files->d3d9_c->d3d9dev.cpp
Вставьте это пониже #define D3DHOOK_TEXTURES
Код:
float ScreenCenterX = 0.0f;
float ScreenCenterY = 0.0f;
bool crosshair = false;
D3DCOLOR color = D3DCOLOR_XRGB( 200, 0, 0 ); // Если хотите, поменяйте цвет
Теперь нажмите Ctrl+F и найдите hkIDirect3DDevice9::SetViewport
В самом начале функции напишите этот код:
Код:
ScreenCenterX = ( float )pViewport->Width / 2;
ScreenCenterY = ( float )pViewport->Height / 2;
У вас должно получиться что-то, похожее на это:
Код:
HRESULT APIENTRY hkIDirect3DDevice9::SetViewport(CONST D3DVIEWPORT9 *pViewport)
{
ScreenCenterX = ( float )pViewport->Width / 2;
ScreenCenterY = ( float )pViewport->Height / 2;
return m_pD3Ddev->SetViewport(pViewport);
}
Теперь нажмите Ctrl+F и найдите hkIDirect3DDevice9::EndScene
В самом начале функции пропишите этот код:
Код:
if(crosshair)
{
D3DRECT rec2 = {ScreenCenterX-20, ScreenCenterY, ScreenCenterX+ 20, ScreenCenterY+2};
D3DRECT rec3 = {ScreenCenterX, ScreenCenterY-20, ScreenCenterX+ 2,ScreenCenterY+20};
m_pD3Ddev->Clear(1, &rec2, D3DCLEAR_TARGET,color, 0, 0);
m_pD3Ddev->Clear(1, &rec3, D3DCLEAR_TARGET,color, 0, 0);
}
Теперь надо сделать горячую клавишу
Напиште это пониже кода отрисовки прицела в EndScene:
Код:
if(GetAsyncKeyState(VK_INSERT) & 1)
{
crosshair = !crosshair;
}
В данном случае горячая клавиша - INSERT
Теперь поменяйте конфигурацию на Release и нажмите Ctrl+Alt+F7 (т.е. постройте ваш проект)
Поздравляю. Ваш прицел готов. Теперь надо его заинжектить
Перейдите в папку с вашим D3D Starter Kit v3.0b, затем зайдите в папку Injector->old_workspace, скопируйте всё её содержимое в папку Injector и откройте файл TatniumInjector.dsw
Перейдите к файлу Source Files->main.cpp и поменяйте значение переменной APP_EXE на имя процесса вашей игры. Теперь вы можете построить этот инжектор
Поменяйте конфигурацию на Release и нажмите Ctrl+Alt+F7 (т.е. постройте ваш проект)
Поздравляю! Остался всего 1 шаг
Создайте где-нибудь папку, где будет лежать ваш чит, скопируйте туда 2 файла: D3D9->Release->TatniumD3D.dll и Injector->Release->TatniumInjector.exe
Теперь переименуйте TantiumD3D.dll в crosshair.dll и TatniumInjector.exe в crosshair.exe
Ставте спс