c++ trainer pointer hakkında

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
1 Ocak 2021
Mesajlar
22
Tepki puanı
5
Yaş
32
5 HİZMET YILI
c++ kendimce küçük bir trainer oluşturdum ama ;

pointerler hakkında hiç bir bilgim yok ve bir konuda sıkıştım kaldım. yardımlarınız için şimdiden teşekkür ediyorum.

şimdi soru şu:

bir kişinin trainer kodu üzerinde anlayarak çalışmaları yürütüyorum.

trainer kodunda pointer adresini :
DWORD adr_iHealth = 0x0042CA5E

bu şekilde vermiş . pointer bulmak için cheat engine kullanıyorum ve bulduğum pointer adresleri şu şekilde :

6F1D7BD2AC

yani 0x00 formatında pointer nasıl bulabilirim şimdiden teşekkürler tekrar yardımlarınız için.
 
Son düzenleme:
Uzman Üye
Katılım
28 Ara 2020
Mesajlar
220
Çözümler
3
Tepki puanı
10
Yaş
23
5 HİZMET YILI
Krdsm yt bazi kanallarda pointer bulma var bakmani tavsie ederrim basarilar dilerim
 
Banlı Üye
Katılım
2 Ara 2020
Mesajlar
128
Çözümler
1
Tepki puanı
44
5 HİZMET YILI
Merhaba öncelike C++'da RPM ve WPM fonksiyonlarına bakınız RPM ile çektiğiniz pointerların büyük ihtimalle offsetleri vardır 0x50 , 0xA gibi veya sadece pointer mı var offsets 1 tane olupda 0x0 tarzı olabilir gösterdiğin örnek olarak yaptığın oyuna göre değişir mesela en basitinden şöyle bir örnek göstereyim öncelikle getmodulebaseadress modülü kullanıp oyunun baseAdress fonksiyon tam olarak şu

C++:
DWORD GetModuleBaseAddress(char* moduleName, DWORD ProcessID)
{
    DWORD baseAddress = 0;
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);

    if (hSnapshot != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 modEntry32 = { 0 };
        modEntry32.dwSize = sizeof(MODULEENTRY32);

        if (Module32First(hSnapshot, &modEntry32))
        {
            do
            {
                if (!strcmp(modEntry32.szModule, moduleName))
                {
                    baseAddress = (DWORD)modEntry32.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnapshot, &modEntry32));
        }
        CloseHandle(hSnapshot);
    }
    return baseAddress;
}

Bundan sonra bunu maine tanımlarız ardından en sonda RPM ve WPM fonksiyonlarını kullanırız örnek olarak
C++:
ReadProcessMemory(gameHandle, (PVOID)(ACModule + 0x0012CB90), &AmmoAddy, sizeof(DWORD), 0);
ReadProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0x810), &AmmoAddy, sizeof(DWORD), 0);
ReadProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0xC4), &AmmoAddy, sizeof(DWORD), 0);
WriteProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0x470), &maxammo, sizeof(DWORD), 0);

Mesela diceksin ki hepisne referans olarak AmmoAddy var diğerlerinde neden maxammo WPM yani WriteProcessMemory'de yazdırcağın miktar kadar yapıyorsun istiyorsan AmmoAddy'de yazdırabilirsin ancak AmmoAddy ben DWORD değişken olarak tanımladım RAM'den rastgele bir değer alıyor

Eğer konuyu detaylı dahada anlatmamı istersen kafana takılanları sor


Eklemek istediklerim pointerlar hakkında bilginiz yoksa C++ bilginiz zayıftır en basitinden pointer Reference ve Dereference hakkında bile bilginiz yoktur o yüzden geri dönüp C++ bilginiz geliştirin
Konuya etiketlediğinzi Jacquelyn adlı kişi copy pasterdır başka bir şey bilmiyordu konu zaten THT forumundan çalıntı açtığı ve aldığı şeyler ondan harici Gta:SA adresler diye paylaşmış hepsi zaten bi forumda paylaşılmıştı kendisi copy paster hayatında CSGO'dan başka bir oyun engine görmemiş birisi o yüzden ona soru sormanızı tavsiye etmiyorum
 
Son düzenleme:
Onaylı Üye
Katılım
7 Eyl 2020
Mesajlar
68
Tepki puanı
2
Ödüller
5
Yaş
27
5 HİZMET YILI
you can find some videos about your problem on youtube
 
Onaylı Üye
Katılım
29 Ara 2020
Mesajlar
52
Tepki puanı
3
Yaş
27
5 HİZMET YILI
İnternet üzerindeki sitelerde eğitim videoları var en kötü youtube da da bulabilirsin
 
Onaylı Üye
Katılım
15 Şub 2019
Mesajlar
50
Tepki puanı
0
Ödüller
6
Yaş
35
7 HİZMET YILI
keşke hepinmiz c dilini öğrenebilsek
 
Üye
Katılım
1 Ocak 2021
Mesajlar
22
Tepki puanı
5
Yaş
32
5 HİZMET YILI
Merhaba öncelike C++'da RPM ve WPM fonksiyonlarına bakınız RPM ile çektiğiniz pointerların büyük ihtimalle offsetleri vardır 0x50 , 0xA gibi veya sadece pointer mı var offsets 1 tane olupda 0x0 tarzı olabilir gösterdiğin örnek olarak yaptığın oyuna göre değişir mesela en basitinden şöyle bir örnek göstereyim öncelikle getmodulebaseadress modülü kullanıp oyunun baseAdress fonksiyon tam olarak şu

C++:
DWORD GetModuleBaseAddress(char* moduleName, DWORD ProcessID)
{
    DWORD baseAddress = 0;
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);

    if (hSnapshot != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 modEntry32 = { 0 };
        modEntry32.dwSize = sizeof(MODULEENTRY32);

        if (Module32First(hSnapshot, &modEntry32))
        {
            do
            {
                if (!strcmp(modEntry32.szModule, moduleName))
                {
                    baseAddress = (DWORD)modEntry32.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnapshot, &modEntry32));
        }
        CloseHandle(hSnapshot);
    }
    return baseAddress;
}

Bundan sonra bunu maine tanımlarız ardından en sonda RPM ve WPM fonksiyonlarını kullanırız örnek olarak
C++:
ReadProcessMemory(gameHandle, (PVOID)(ACModule + 0x0012CB90), &AmmoAddy, sizeof(DWORD), 0);
ReadProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0x810), &AmmoAddy, sizeof(DWORD), 0);
ReadProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0xC4), &AmmoAddy, sizeof(DWORD), 0);
WriteProcessMemory(gameHandle, (PVOID)(AmmoAddy + 0x470), &maxammo, sizeof(DWORD), 0);

Mesela diceksin ki hepisne referans olarak AmmoAddy var diğerlerinde neden maxammo WPM yani WriteProcessMemory'de yazdırcağın miktar kadar yapıyorsun istiyorsan AmmoAddy'de yazdırabilirsin ancak AmmoAddy ben DWORD değişken olarak tanımladım RAM'den rastgele bir değer alıyor

Eğer konuyu detaylı dahada anlatmamı istersen kafana takılanları sor


Eklemek istediklerim pointerlar hakkında bilginiz yoksa C++ bilginiz zayıftır en basitinden pointer Reference ve Dereference hakkında bile bilginiz yoktur o yüzden geri dönüp C++ bilginiz geliştirin
Konuya etiketlediğinzi Jacquelyn adlı kişi copy pasterdır başka bir şey bilmiyordu konu zaten THT forumundan çalıntı açtığı ve aldığı şeyler ondan harici Gta:SA adresler diye paylaşmış hepsi zaten bi forumda paylaşılmıştı kendisi copy paster hayatında CSGO'dan başka bir oyun engine görmemiş birisi o yüzden ona soru sormanızı tavsiye etmiyorum
Teşekkür ediyorum üstadım . Görüyorum ki konuya cevap verenlerin birçoğu sorduğum soruyu bile anlamadan yt eğitim videolarına bak yazmış (bakmamış olma ihtimalimi düşünerek). Tekrar teşekkürler
 
Onaylı Üye
Katılım
3 Ocak 2021
Mesajlar
84
Tepki puanı
5
Ödüller
3
Yaş
27
5 HİZMET YILI
Bende de oluyo yardim edin beyler lütfen
 
Üye
Katılım
19 Şub 2017
Mesajlar
6
Tepki puanı
0
Ödüller
9
9 HİZMET YILI
DWORD adr_iHealth = 0x0042CA5E ->32bit
max unsigned int -> 4,294,967,295
max signed int -> 2,147,483,647

senin bulduğun değer
0x6F1D7BD2AC = 477,236,023,980
İlk yazdığın adr_iHealth 32 bit değer kendim buldum dediğin değer 64 bit hata yapıyosun.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst