Начинающий
			
			
				
					
				
			
		- Статус
- Оффлайн
- Регистрация
- 19 Янв 2023
- Сообщения
- 11
- Реакции
- 1
Полный новичок в c++ но за 3 дня научился делать мелкие интернал читы, например на ту же замену денег в играх или хп и еще другого, научился ползоваться IDA PRO с CheatEngine и находить оффсеты
КОроче какая то ебень с CreateMove, захукалось все, сигнатура правильная, пытался создать бхоп но чето по пизде пошло все:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
и эта хуйня вроде правильна??
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
да и в 1 коде строка ->
Log("VALID CMD: cmd_num=%d, tick=%d, yaw=%.1f, buttons=0x%X",
cmd->command_number, cmd->tick_count, cmd->viewangles[1], cmd->buttons);
выводит tick = 13499, yaw = 0 а все остальное правилное, проверял через MemCheck
в чем проблемы я понять не могу, и еще, как выгружать длл чтобы не перезаходить в кс2 для повторного инжекта? вроде консоль щас пропадает с хуками, но когда инжекчу ниче не происходит.
в будущем хочу сделать rage либо movement чит с эджбагами и прочей хуйней
				
			КОроче какая то ебень с CreateMove, захукалось все, сигнатура правильная, пытался создать бхоп но чето по пизде пошло все:
			
				C++:
			
		
		
		CmdUser* cmd = nullptr;
// Принт
void Log(const char* format, ...) {
    char buffer[1024];
    va_list args;
    va_start(args, format);
    vsprintf_s(buffer, format, args);
    va_end(args);
    std::cout << "[TestCheat] " << buffer << std::endl;
}
// CreateMove хук
typedef void(__fastcall* oCreateMoveFn)(CmdUser*, int, char);
inline oCreateMoveFn oCreateMove = nullptr;
void __fastcall CreateMoveHook(CmdUser* cmd, int edx, char a2) {
    static int call_count = 0;
    call_count++;
    Log("CreateMove #%d - edx: 0x%p, cmd: 0x%p", call_count, edx, cmd);
    if (cmd) {
        Log("VALID CMD: cmd_num=%d, tick=%d, yaw=%.1f, buttons=0x%X",
            cmd->command_number, cmd->tick_count, cmd->viewangles[1], cmd->buttons);
        
        if (cmd->buttons & (1 << 1)) { // IN_JUMP
            Log("JUMP PRESSED!");
        }
    }
    oCreateMove(cmd, edx, a2);
}
bool InitializeCreateMoveHook() {
    HMODULE module = GetModuleHandleA("client.dll");
    if (!module) {
        Log("client.dll not found!");
        return false;
    }
    auto createMoveAddr = PatternScan((void*)module, "85 D2 0F 85 ? ? ? ? 48 8B C4 44 88 40");
    if (!createMoveAddr) {
        Log("CreateMove pattern not found!");
        return false;
    }
    Log("CreateMove found at: 0x%p", (void*)createMoveAddr);
    MH_Initialize();
    MH_CreateHook((LPVOID)createMoveAddr, (LPVOID)CreateMoveHook, (LPVOID*)&oCreateMove);
    MH_EnableHook(MH_ALL_HOOKS);
    Log("CreateMove hook installed!");
    return true;
}
// Анлоадикс
void UnloadHooks() {
    MH_DisableHook(MH_ALL_HOOKS);
    MH_RemoveHook(MH_ALL_HOOKS);
    MH_Uninitialize();
    Log("Hooks unloaded");
}
void game_loop(HMODULE inst) {
    Sleep(2000);
    if (!InitializeCreateMoveHook()) {
        Log("Continuing without CreateMove hook");
    }
    Log("Cheat ready! Press END to unload");
    while (!GetAsyncKeyState(VK_END)) {
        Sleep(10);
    }
}
DWORD WINAPI MainThread(HMODULE inst) {
    AllocConsole();
    FILE* f;
    freopen_s(&f, "CONOUT$", "w", stdout);
    SetConsoleTitleA("Cheat Console");
    Log("Cheat loaded!");
    game_loop(inst);
    UnloadHooks();
    if (f) {
        fclose(f);
    }
    FreeConsole();
    FreeLibraryAndExitThread(inst, 0);
    return 0;
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved) {
    if (reason == DLL_PROCESS_ATTACH) {
        DisableThreadLibraryCalls(hModule);
        CreateThread(nullptr, 0, (LPTHREAD_START_ROUTINE)MainThread, hModule, 0, nullptr);
    }
    return TRUE;
}и эта хуйня вроде правильна??
			
				C++:
			
		
		
		struct CmdUser {
    int command_number;
    int tick_count;
    float viewangles[3];
    float forwardmove;
    float sidemove;
    float upmove;
    int buttons;
    char impulse;
    int weaponselect;
    int weaponsubtype;
    int random_seed;
    short mousedx;
    short mousedy;
    bool hasbeenpredicted;
};да и в 1 коде строка ->
Log("VALID CMD: cmd_num=%d, tick=%d, yaw=%.1f, buttons=0x%X",
cmd->command_number, cmd->tick_count, cmd->viewangles[1], cmd->buttons);
выводит tick = 13499, yaw = 0 а все остальное правилное, проверял через MemCheck
в чем проблемы я понять не могу, и еще, как выгружать длл чтобы не перезаходить в кс2 для повторного инжекта? вроде консоль щас пропадает с хуками, но когда инжекчу ниче не происходит.
в будущем хочу сделать rage либо movement чит с эджбагами и прочей хуйней
 
				