-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вам нужно всего лишь найти оффсеты и изменить тип файла компилируемого
C++:
#include <Windows.h>
// 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; }
}
};
// offsets
// localPlayer
uintptr_t dwLocalPlayer = ;
// clientState
uintptr_t dwClientState = ;
// viewAngles
uintptr_t dwClientState_viewAngles = ;
// shotsFired
uintptr_t m_iShotsFired = ;
// aimpunchangle
uintptr_t m_aimPunchAngle = ;
// settings
uintptr_t exitKey = VK_ESCAPE;
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 };
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;
}
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;
}