PB-Читы,Баги,Програмы,Гайды.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PB-Читы,Баги,Програмы,Гайды. » Читы » Как создать Вх


Как создать Вх

Сообщений 1 страница 13 из 13

1

Для начала нам понадобится:
DirectX SDK: _http://microsoft.ru/ http://www.virustotal.com/url-scan/r...b08-1298058205

Логгер текстур: _http://depositfiles.com/files/w726s1one http://www.virustotal.com/url-scan/r...e79-1298058156

Direct3D StarterKit v3.0b (by Azorbix): _ http://depositfiles.com/files/sq8divdwg http://www.virustotal.com/url-scan/r...ed9-1298058238

Microsoft Visual Studio: _http://microsoft.ru/

Немного знаний C++, D3D - _Google_

Настройка D3D
Первым делом устанавливаем Microsoft Visual Studio и DirectX SDK

Запускаем программу и идём в Tools->Options->Projects and Solutions>VC++ Directories

Во вкладке Show directories for: Выбираем Include files и добавляем путь к нашему DirectX SD K к папке \Include

Делаем тоже самое для Library Files (..\Lib\x86), Executable files(..\)

Всё, теперь мы сможем откомпилить наш Direct3D StarterKit v3.0b

Настройка Injector'а:

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

#define APP_EXE "target_application.exe"

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

Например:

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

Важно!

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

Как сделать обычный валлхак

1. Ищем текстуры которые нам нужны используя логгер текстур.

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

Пример:
Код:

#define MyWallhack ((NumVertices == xx && primCount == xx) || (NumVertices == xx && primCount == xx))

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,MinVert 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, опция будет включатся и выключатся.

credits: _www.aden-territory.com and qwe

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

unsigned int m_Stride;

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

if(StreamNumber==0) m_Stride=Stride;

Теперь вместо строчки вначале кода #define MyWallhack ((NumVertices == xx && primCount == xx) || (NumVertices == xx && primCount == xx)) вставляем строчку:
Код:

#define MyWallhack ((m_Stride == 28))

Вот и всё! Вы будете видеть других игроков сквозь стены!
Теперь о том, как сделать из 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
};

Можно использовать и другие цвета, на ваш вкус, байты которых можно найти в гугле, в частности, они есть здесь:
http://forum.ghbsys.....&mode=threaded … e=threaded
Идём в 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.

+2

2

Прикольно!

+3

3

Копиаст

0

4

силку на тему :D

+1

5

SNT
мне щас делать нех ее искать она точно была на пбхаке!!!!!!!

0

6

мне пб не нужен я там нечо не забыла!

+1

7

На пбхаке нету я всё смотрел нету ничего подобного

0

8

спасибо

0

9

Копипаст с жука. Нужна ссылка? И там он хоть с картинками. А тут тупо ctrl+v

0

10

SNTЭта тема на жуке закреплена в шапке

0

11

я тебе говорю что писал сам тему я нажуке не биваю вооще :mad:

0

12

Пбхак и жук это юкоз,а юкоз это говно

0

13

Хорошая тема!

Отредактировано Gm*Vanches (2011-07-24 12:17:14)

0


Вы здесь » PB-Читы,Баги,Програмы,Гайды. » Читы » Как создать Вх


Рейтинг форумов | Создать форум бесплатно