Статья Делаем свой первый чит #1

cuppy

Активный
Сообщения
113
Реакции
27
Всем шалом)

- ПРЕДИСЛОВИЕ

В этой статье мы разберём основы "game-hacking" и сделаем чит на нашу любимую каесго(взял кс потому что большинство людей заинтересованно именно в ней)

- ЧТО БУДЕМ ИСПОЛЬЗОВАТЬ?

Для базы мы возьмём - "kiero-hook" ->

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



Visual Studio

Directx9 ->

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



- ПРИСТУПИМ

- Настройка проекта

Скачиваем базу, и открываем в вс(visual studio), заходим в свойства и выставляем следующие параметры ->


Далее заходим в "Каталоги VC++" и выбираем пути к каталогу directx, если у вас его нет иле не знаете как скачать вот гайд:

Заходим на сайт скачивания, ссылка была в начале темы, скачиваем установщик и запускаем его, ожидаем установки.

- РАЗБОР КОДА

После того как всё подключили можем перейти к коду, заходим в main.cpp, и находим "hkEndScene", тут происходит отрисовка имгуя.

Begin отвечает за верхнее название меню, сменим его на "TOP CHEAT1337", далее давайте сделаем так чтобы наше меню открывалось по кнопке.


- Открытие меню

Создадим переменную show, которая будет равна false.

C++:
bool show = false;

Далее сделаем конструкцию if:


C++:
if (GetAsyncKeyState(VK_END)) {
        kiero::shutdown();
        return 0;
    }

    if (GetAsyncKeyState(VK_INSERT) & 1)
    {
        show = !show;
    }

Тут при нажатии на Insert - меню откроется, при нажатие на end - меню анхукнется.

Далее сделаем так чтобы наш код сверху работал:

C++:
if (show) {  
    ImGui_ImplDX9_NewFrame();
    ImGui_ImplWin32_NewFrame();
    ImGui::NewFrame();

    ImGui::Begin("TOP CHEAT1337");
    ImGui::End();

    ImGui::EndFrame();
    ImGui::Render();
    ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());

    return oEndScene(pDevice);
}

Отлично теперь можно билдить проект и инжектить.

- ИНЖЕКТ

Для инжекта я использую инжектор AlisInjector(noad)

Только перед тем как инжектить вписываем в параметры запуска кс флаг -insecure

Заходим в кс и видим:



Вот и всё), надеюсь вам понравилась статья, после того как наберём 10 лайков выпущу новый гайд, с новыми функциями)

Всем добра


Upd: Забыл спросить как вам новое оформление темы и все исходники прикреплю после 10 луйков
 
Последнее редактирование:

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
Полезная информация с хуком D3D оверлея и отрисовки на нем
 

djw

Новичок
Сообщения
6
Реакции
0
Ну для новичков сойдет!) Хорош
 

yasha1008

Пользователь
Сообщения
18
Реакции
1
Попробуй потыкать меню в полноэкранном режиме. Правильно ОНО НЕ РЕАГИРУЕТ(У дарвина в его чите тоже самое).Самый легкий фикс хукни Reset
Тип функции:
typedef long(__stdcall* Reset)(LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*);
static Reset oReset = NULL;
Далее залетаем на реп kiero и видим

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

, тыкаем в него и видим много буков и цифр.
Ищем в этом всем где начинаются наши D3D9 методы, и в них ищем Reset.
Видим возле него циферку 16 это то, что нам надо, а именно индекс функции.
Залетаем в наш код, а именно includes.h и меняем всё содержимое на:

#pragma once
#include <Windows.h>
#include <d3d9.h>
#include <d3dx9.h>
#include "kiero/kiero.h"
#include "kiero/minhook/include/MinHook.h"
#include "imgui/imgui.h"
#include "imgui/imgui_impl_win32.h"
#include "imgui/imgui_impl_dx9.h"
#define WINDOW_NAME "Dear ImGui DirectX9 Example"
typedef long(__stdcall* EndScene)(LPDIRECT3DDEVICE9);
typedef long(__stdcall* Reset)(LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS*);
typedef LRESULT(CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);

Далее залетаем в main.cpp, после EndScene oEndScene = NULL;
Вставляем: Reset oReset = NULL;.
перед bool init = false вставляем;
long __stdcall hkReset(LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
ImGui_ImplDX9_InvalidateDeviceObjects();
long result = oReset(pDevice, pPresentationParameters);
ImGui_ImplDX9_CreateDeviceObjects();
return result;
}
Дальше в этом же main.cpp ищем kiero::bind(42, (void**)& oEndScene, hkEndScene);
После него пишем kiero::bind(16, (void**)&oReset, hkReset);
По самой статье, описывай всё чутка подробнее, обыватель нихуя не поймет, если сам не полезет разбираться. Выглядит как гайд Ctrl + C, Ctrl + V
Вроде всё. Удачи.
 

PLATINA

Следопыт
Сообщения
87
Реакции
2
Всем шалом)

- ПРЕДИСЛОВИЕ

В этой статье мы разберём основы "game-hacking" и сделаем чит на нашу любимую каесго(взял кс потому что большинство людей заинтересованно именно в ней)

- ЧТО БУДЕМ ИСПОЛЬЗОВАТЬ?

Для базы мы возьмём - "kiero-hook" ->

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



Visual Studio

Directx9 ->

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



- ПРИСТУПИМ

- Настройка проекта

Скачиваем базу, и открываем в вс(visual studio), заходим в свойства и выставляем следующие параметры ->


Далее заходим в "Каталоги VC++" и выбираем пути к каталогу directx, если у вас его нет иле не знаете как скачать вот гайд:

Заходим на сайт скачивания, ссылка была в начале темы, скачиваем установщик и запускаем его, ожидаем установки.

- РАЗБОР КОДА

После того как всё подключили можем перейти к коду, заходим в main.cpp, и находим "hkEndScene", тут происходит отрисовка имгуя.

Begin отвечает за верхнее название меню, сменим его на "TOP CHEAT1337", далее давайте сделаем так чтобы наше меню открывалось по кнопке.


- Открытие меню

Создадим переменную show, которая будет равна false.

C++:
bool show = false;

Далее сделаем конструкцию if:


C++:
if (GetAsyncKeyState(VK_END)) {
        kiero::shutdown();
        return 0;
    }

    if (GetAsyncKeyState(VK_INSERT) & 1)
    {
        show = !show;
    }

Тут при нажатии на Insert - меню откроется, при нажатие на end - меню анхукнется.

Далее сделаем так чтобы наш код сверху работал:

C++:
if (show) { 
    ImGui_ImplDX9_NewFrame();
    ImGui_ImplWin32_NewFrame();
    ImGui::NewFrame();

    ImGui::Begin("TOP CHEAT1337");
    ImGui::End();

    ImGui::EndFrame();
    ImGui::Render();
    ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());

    return oEndScene(pDevice);
}

Отлично теперь можно билдить проект и инжектить.

- ИНЖЕКТ

Для инжекта я использую инжектор AlisInjector(noad)

Только перед тем как инжектить вписываем в параметры запуска кс флаг -insecure

Заходим в кс и видим:



Вот и всё), надеюсь вам понравилась статья, после того как наберём 10 лайков выпущу новый гайд, с новыми функциями)

Всем добра


Upd: Забыл спросить как вам новое оформление темы и все исходники прикреплю после 10 луйков
Го новый гайд
 
Верх Низ