-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет, сегодня мы сделаем internal чит который будет контролировать нашу отдачу, и так начнем...
Заходим в наши любимые плюсы и выбираем создать новый проект
Сразу же заходим в свойства проекта и меняем конечное решение с .exe на .dll
Вначале нашей программы пишем
Дальше идет класс векторов
Дальше нам нужно добыть оффсеты, а именно оффсеты (dwLocalPlayer, dwClientState, dwClientState_viewAngles, m_iShotsFired, m_aimPunchAngle )
Для этого нам нужно hazedumper.
Заходим
Далее нам нужны настройки, пишем...
После всего этого мы пишем...
Далее мы пишем самый важный код нашей программы.
И в самом конце пишем то без чего наша программа не будет работать...
Воуля, мы сделали контроллер нашей отдачи
Всем спасибо!
Заходим в наши любимые плюсы и выбираем создать новый проект
Сразу же заходим в свойства проекта и меняем конечное решение с .exe на .dll
Вначале нашей программы пишем
#include <Windows.h>
Дальше идет класс векторов
C++:
// vec3 class
struct Vec3 {
float x, y, z;
Vec3 operator+(Vec3 d) {
return { x + d.x, y + d.y, z + d.z };
}
Vec3 operator-(Vec3 d) {
return { x - d.x, y - d.y, z - d.z };
}
Vec3 operator*(float d) {
return { x * d, y * d, z * d };
}
void Normalize() {
while (y < -180) { y += 360; }
while (y > 180) { y -= 360; }
if (x > 89) { x = 89; }
if (x < -89) { x = -89; }
}
};
Для этого нам нужно hazedumper.
Заходим
Пожалуйста, авторизуйтесь для просмотра ссылки.
(не реклама) и заходим в csgo.h и ищем данные оффсеты (в код специально не вставлю, для того чтобы вы сами попрактиковались)
C++:
// offsets
// localPlayer
uintptr_t dwLocalPlayer = ;
// clientState
uintptr_t dwClientState = ;
// viewAngles
uintptr_t dwClientState_viewAngles = ;
// shotsFired
uintptr_t m_iShotsFired = ;
// aimpunchangle
uintptr_t m_aimPunchAngle = ;
uintptr_t exitKey = VK_ESCAPE;
После всего этого мы пишем...
C++:
int WINAPI HackThread(HMODULE hModule) {
// data
// clientModule
uintptr_t clientModule = (uintptr_t)GetModuleHandle("client_panorama.dll");
// engineModule
uintptr_t engineModule = (uintptr_t)GetModuleHandle("engine.dll");
// localPlayer ptr
uintptr_t localPlayer = *(uintptr_t*)(clientModule + dwLocalPlayer);
// viewAngles ptr
Vec3* viewAngles = (Vec3*)(*(uintptr_t*)(engineModule + dwClientState) + dwClientState_viewAngles);
// shotsFired ptr
int* iShotsFired = (int*)(localPlayer + m_iShotsFired);
// aimPunch ptr
Vec3* aimPunchAngle = (Vec3*)(localPlayer + m_aimPunchAngle)
Vec3 oPunch{ 0,0,0 };;
C++:
while (!GetAsyncKeyState(exitKey)) {
Vec3 punchAngle = *aimPunchAngle * 2;
if (*iShotsFired > 1) {
// calc rcs
Vec3 newAngle = *viewAngles + oPunch - punchAngle;
// normalize
newAngle.Normalize();
// set
*viewAngles = newAngle;
}
// fix
oPunch = punchAngle;
}
FreeLibraryAndExitThread(hModule, 0);
CloseHandle(hModule);
return 0;
}
C++:
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, hModule, 0, 0);
return TRUE;
}
Всем спасибо!
Последнее редактирование: