Как создать чит для варфейс

Обновлено: 08.07.2024

karikosan1 никому не известный тип

В main.cpp нужно изменить только 1 строчку:
Код:


Где target_application.exe прописываем название вашей игры

xrEngine.exe, crossfire.exe, pointblank.exe.

Название .dll файла и инжектора должны быть одинаковыми.

Как сделать обычный валлхак:
1. Ищем текстуры которые нам нужны используя логгер текстур.

2. Прописываем их в нашем Direct3D StarterKit v3.0b в d3d9dev.cpp в начале файла

bool bWallHack = false;

3. Теперь идём в DrawIndexedPrimitive

и добавляем:
Код:

Код: выделить все
if (bWallHack)
if (MyWallhack)
DWORD dwOldZEnable;
m_pD3Ddev->GetRenderState(D3DRS_ZENABLE,&dwOldZEnable);
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,D3DZB_FALSE);
m_pD3Ddev->DrawIndexedPrimitive(Type,BaseVertexIndex,MinVe rt exIndex,NumVertices,startIndex,primCount);
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,dwOldZEnable);
>
>

4. Идём в EndScene и ставим валлхак на кнопку включить\выключить:
Код:

Код: выделить все
if(GetAsyncKeyState( VK_NUMPAD1 ) &1 )
bWallHack = !bWallHack;

5. Компилим, инжектим, заходим в игру жмём NUMPAD 1 и видим результат.

Как убрать стены в игре:

Тут всё ещё проще.

С верху файла добавляем:
Код:

Код: выделить все
bool bFog = false;

Идём в DrawIndexedPrimitive и добавляем такую строчку:
Код:

Код: выделить все
if(bFog)
m_pD3Ddev->SetRenderState( D3DRS_FOGENABLE , false );
>

Теперь в EndScene
Код:

Код: выделить все
if(GetAsyncKeyState( VK_NUMPAD2 ) &1 )
bFog = !bFog;

Всё готово! При нажатии в игре на кнопку NUMPAD2, опция будет включатся и выключатся.

Теперь собственно то, что нужно сделать, что бы Wallhack работал желаемым образом:
В самом начале кода d3d9dev.cpp вставляем:
Код:

Код: выделить все
unsigned int m_Stride;

Далее, идем в SetStreamSource и прописываем там перед return m_pD3Ddev->SetStreamSource:
Код:

Код: выделить все
if(StreamNumber==0) m_Stride=Stride;

Вот и всё! Вы будете видеть других игроков сквозь стены!
Теперь о том, как сделать из Wallhack'a Chams:
В начале d3d9dev.cpp прописываем:
Код:

Код: выделить все
int a=1;


__________________________________________________ __________________________________________________ __
Далее после всех bool'ов вставляем этот код:
Код:

Код: выделить все
LPDIRECT3DTEXTURE9 Pink;
const BYTE bPink[58] =
0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0xFF, 0x00
>;
LPDIRECT3DTEXTURE9 Blue;
const BYTE bBlue[60] =
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
>;


__________________________________________________ __________________________________________________ __
Можно использовать и другие цвета, на ваш вкус, байты которых можно найти в гугле, ну или вот:
[namespoiler=Цвета]const D3DCOLOR txtRed = D3DCOLOR_ARGB(255, 255, 0, 0);
const D3DCOLOR txtYellow = D3DCOLOR_ARGB(255, 255, 255, 0);
const D3DCOLOR txtGreen = D3DCOLOR_ARGB(255, 0, 255, 0);
const D3DCOLOR txtBlue = D3DCOLOR_ARGB(255, 0, 0, 255);
__________________________________________________ __________________________________________________ __
const BYTE bBlue[60] = //Blue
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
>;

const BYTE bBlack[60] = //Black
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF
>;

const BYTE bRed[60] = //red
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
>;

const BYTE bYellow[60] = //yellow
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
>;

const BYTE bGreen[60] = //green
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0xA0, 0x00, 0x00, 0xFF, 0xFF
>;

const BYTE bPink[58] = //pink
0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0xFF, 0x00
>;


const BYTE bTur[60] = //turquoise
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
>;

const BYTE bOrange[60] = //orange
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x80, 0xF0, 0xB0, 0x00, 0x00
>;


const BYTE bWhite[58] = //White
0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x00
>;

const BYTE bGrenade[58] = // Pink
0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0xFF, 0x00
>;[/namespoiler]
__________________________________________________ __________________________________________________ __
Идём в BeginScene() и вставляем такие строки перед return m_pD3Ddev->BeginScene(); :
Код:

Код: выделить все
if (a==1)
D3DXCreateTextureFromFileInMemory(m_pD3Ddev,(LPCVO ID)&bPink,58,&Pink);
D3DXCreateTextureFromFileInMemory(m_pD3Ddev,(LPCVO ID)&bBlue,60,&Blue);
a=0;
>

Теперь идем в DrawIndexedPrimitive, к нашему волхаку и после строчки m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,D3DZB_FALSE); вставляем такую:
Код:

Код: выделить все
m_pD3Ddev->SetTexture(0,Pink);

А после m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,dwOldZEnable2); такую:
Код:

Код: выделить все
m_pD3Ddev->SetTexture(0,Blue);

Вот собственно и всё! Chams готов! xrEngine.exe dll - это либа, которая компилится из D3D (TatniumD3D.vcproj) Инжектор - это прога, которая инжектит либу в игру(main.cpp/TatniumInjector.vcproj) В общем у вас должно быть откомпилино: 1 либа, которую называешь TatniumD3D.dll и 1 екзешник, который обзываешь TatniumD3D.exe, ложешь их рядом(в одну папку пофиг куда) и запускаешь TatniumD3D.exe, нажимаешь ОК, запускаешь игру, нажимаешь 1 на дополнительной(цифровой) клавиатуре, только не забудь включить NumLock.
__________________________________________________ __________________________________________________ __
I
I
I
I
V
2)Запускаем только с Обходом. После создания.
__________________________________________________ __________________________________________________ __
Ниже я напишу программы, которые вам понадобятся для того что бы создать свой вх для crossfire, в основном это визуальные редакторы и с вычислительными базами.

И вот теперь мы будем производить импорт файлов в наш проект, сделаем это перейдя к базе: Hans' s base "Project> Add to Project> Files" , найти папку Hans' s base и установить следующие файлы последовательно, один за другим:

D3dbase.h
D3dbase.cpp
D3dmenu.h
D3dmenu.cpp
Hackbase.cpp


Важно: Не импортировать файлы типа "d3dfont .*"

Теперь в зависимости от игры будем выбирать между D3D9 и D3D8 , например как в моем случае я использую D3D8 и редактирую файл d3dbase.h:

Код: выделить все
C++ Code: Line
Numbers: ON/OFF - Expand: ON/OFF

И заменить его на:

Код: выделить все
Line Numbers: ON/OFF - Expand: ON/OFF

Теперь заготовка нашего чит для CrossFire готова. Вы должны проверить, сделано ли все правильно, для этого нажмите F7, если не будет ошибок - то все сделано правильно, можно продолжить создавать свой чит для crossfire дальше.


Задание функций для чита для crossfire. Создание функций для нашего hack:

Нам предстоит создать функции для каждого отдельного раздела hacks, вы же хотите сделать рабочий чит для crossfire? В качестве примера я создам функцию, которая при изменении скорости игры (speedhack для crossfire). будет указывать 0x5F29BC (old) соответственно после перехода 0x10 и 0x5B6 в шестнадцатеричный код.

Первым шагом будет являться определение различных баз Address / Offsets (do this in just under the include "hackbase.cpp"):

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

Теперь мы можем просто создать функцию что бы изменить скорость передвижения в игре, speedhack для crossfire (still in "hackbase.cpp"):

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

void MovSpeed(speedVal)
DWORD Addy1 = *(DWORD*)Base_Pointer; //I read the value of the base pointer
DWORD Addy1 = *(DWORD*)(addy1+Ofs_MovSpeed_1) + Ofs_MovSpeed_2; //I read the value of the value of base pointer + the first offset addy + the second offset
*(DWORD*)Addy1 = speedVal; //Change the address of the speed with the value "speedVal" which will be defined by using the function
>

Нам необходимо создать несколько вариантов для выбора скоростей, например, мы делаем так, что бы была возможность выбора скорости от 1 до 4 с диапазоном "0,5". Необходимо добавить переменную, следовательно которая будет позволяет нам выбирать "Чит для crossfire должен быть включен по умолчанию или нет."

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

"E:\Program Files\MICROSOFT DIRECTX 9.0 SDK (SUMMER 2004)\INCLUDE"

Теперь будем добавлять функции для взлома crossfire, а если быть точнее делать нам чит для crossfire .

Создание D3D меню:

Добавим в наш hack меню, зададим новую линию с названием функции, вот так:

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

pMenu->AddItem("Mov Speed" , &CH_MovSpeed , opt_MovSpeed, 9);

Теперь мы адаптируем функции для нашего чита crossfire выше созданного варианта:

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

void MovSpeed(speedVal)
DWORD Addy1 = *(DWORD*)Base_Pointer;
DWORD Addy1 = *(DWORD*)(addy1+Ofs_MovSpeed_1) + Ofs_MovSpeed_2;
*(long*)Addy1 = (16226 + (speedVal * 0,5 * 60));
>

Разберем все по-порядку, если мы сделали hack например, "0,0", которая является номером 1 в этом варианте мы имеем: 15 256 + (1 х 0,5 х 60) = 16 256, это будет являться по умолчанию скорость для crossfire.

Однако, если будет установлено в "2,5" это пятый вариант, то мы имеем: 15 256 + (5 х 0,5 х 60) = 16 406 и так далее .

И сейчас мы будем связывать наши функции и меню в единое целое, то есть как создать свой чит для crossfire вы уже знаете.
Придадим нашей функции нужную базу, для этого мы как всегда заходим в "hackbase.cpp" и смотрим:

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

// Seperate thread for making hacks
DWORD WINAPI HACKthread( LPVOID param )
// --- hack loop
while (1) // ..if (CH_stamina) .
// ..
Sleep(50);
>
return 0;

Вносим изменения в эту функцию:

Код: выделить все
C++ Code: Line Numbers: ON/OFF - Expand: ON/OFF

// Seperate thread for making hacks
DWORD WINAPI HACKthread( LPVOID param )
// --- hack loop
while (1) if (CH_MovSpeed != 0)
MovSpeed(CH_MovSpeed);
>
Sleep(50);
>
return 0;
>


__________________________________________________ __________________________________________________ __
Мы закончили! Чтобы вытащим наш hack, переходим "Build> Сделать активным проектом Configuraton"и выберите"Win32-Release". Нажмите клавишу F7 и найдите наш DLL в папке нашего проекта.

Обсуждения 10

Антиотдача и антиувод+бонус в архиве

Фотографии 2

Миша Феофилов

Миша Феофилов запись закреплена

пацы дайте чит который подойдёт для windows 7

Нравится Показать список оценивших

Костя Калашников

Костя Калашников запись закреплена

Нравится Показать список оценивших

Тёма Казначеев

Тёма Казначеев запись закреплена

кто забустит с читами по братски

Нравится Показать список оценивших

Тёма Казначеев

Тёма Казначеев запись закреплена

Нравится Показать список оценивших

Леша Царь

Леша Царь запись закреплена

ПРИВАТНЫЙ ЧИТ НА WARFACEДЛЯ БОЛЬШИХ РАНГОВНОВЫЙ ЧИТ НА ВАРФЕЙС 2021PVP/PVE AIM/WH СКАЧАТЬПРИВАТ

Сейчас ищу модера, пишем в личку и пытаем удачу от мены вы получите: аккаунт не ниже 3х золотых рамбов, приватку и конечно антибан. А так же для желающих заработать процент с продаж приватки антибана.

YouTube 3:10

Читайте также: