Misc aktif edince oyun donuyor

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
19 May 2022
Mesajlar
3
Tepki puanı
0
Yaş
27
4 HİZMET YILI
Örneğin no recoil aktif edince oyun donuyor birdahada açılmıyor bununla ilgili C++ kaynak var mı donmaması için
benim kullandığım :
Kod:
DWORD GetAddressFromSignature(std::vector<int> signature, DWORD startaddress = 0, DWORD endaddress = 0) {
    SYSTEM_INFO si;
    GetSystemInfo(&si);
    if (startaddress == 0) {
        startaddress = (DWORD)(si.lpMinimumApplicationAddress);
    }
    if (endaddress == 0) {
        endaddress = (DWORD)(si.lpMaximumApplicationAddress);
    }

    MEMORY_BASIC_INFORMATION mbi{ 0 };
    DWORD protectflags = (PAGE_GUARD | PAGE_NOCACHE | PAGE_NOACCESS);

    for (DWORD i = startaddress; i < endaddress - signature.size(); i++) {
        //std::cout << "scanning: " << std::hex << i << std::endl;
        if (VirtualQuery((LPCVOID)i, &mbi, sizeof(mbi))) {
            if (mbi.Protect & protectflags || !(mbi.State & MEM_COMMIT)) {
                std::cout << "Not found! wait ... Region Base Address: " << mbi.BaseAddress << " | Region end address: " << std::hex << (int)((DWORD)mbi.BaseAddress + mbi.RegionSize) << std::endl;
                i += mbi.RegionSize;
                continue; // if bad adress then dont read from it
            }
            std::cout << "Found Recoil Code! Region Base Address: " << mbi.BaseAddress << " | Region end address: " << std::hex << (int)((DWORD)mbi.BaseAddress + mbi.RegionSize) << std::endl;
            for (DWORD k = (DWORD)mbi.BaseAddress; k < (DWORD)mbi.BaseAddress + mbi.RegionSize - signature.size(); k++) {
                for (DWORD j = 0; j < signature.size(); j++) {
                    if (signature.at(j) != -1 && signature.at(j) != *(byte*)(k + j))
                        break;
                    if (j + 1 == signature.size())
                        return k;
                }
            }
            i = (DWORD)mbi.BaseAddress + mbi.RegionSize;
        }
    }
    return NULL;
}


if (varRecoil)
    {
        AllocConsole();
        std::cout << "" << std::endl;
        if (GetAsyncKeyState(VK_F10))
        {
            FILE* fp;
            freopen_s(&fp, "CONOUT$", "w", stdout); // output only
            std::cout << "" << std::endl;
            while (1) {
                Sleep(100);
                {
                    std::vector<int> sig = { 0xDC, 0x8D, 0x60, 0x00, 0x00, 0x00, 0xDD, 0x9D, 0x70, 0x00, 0x00, 0x00, 0xE8, 0x08, 0x00, 0x00, 0x00 };
                    DWORD Entry = GetAddressFromSignature(sig, 0x30000000, 0x50000000);
                    if (Entry == NULL)
                        Entry = GetAddressFromSignature(sig, 0x1F000000, 0x4A000000);
                    if (Entry == NULL)
                        Entry = GetAddressFromSignature(sig);

                    char writeThis[] = "\x90\x90\x90\x90\x90\x90\xDD\x9D\x70\x00\x00\x00\xE8\x08\x00\x00\x00";
                    WriteToMemory(Entry, writeThis, 4);
                    break;
                }
                fclose(fp);
                FreeConsole();
                int i = 0;
            }
        }
 
Seçkin Üye
Katılım
10 Şub 2019
Mesajlar
314
Çözümler
3
Tepki puanı
24
Ödüller
8
7 HİZMET YILI
Şu anda bildiğim kadarıyla yok ama denk gelirsem iletirim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst