- Yasaklandı
- #1
İnsanların senin sesiyle dalga geçmesini umursama
Banlı Üye
Selam ben Arda bugün sizlerle 3 dersde basit tanımlardan sonra bilmemiz gereken önemli unsurlara geçicez biliyorum konu çok az görüntülenme alıyor ama umrumda değil çünkü gelecekde bunu öğrenince bir şeyin hilesini bekleyen sazan olmucaksınız ordaki balıkçı olcaksınız neyse
O zaman şimdi size bir kaç kaynak vericem bunlara bi bakın bu 2'si Read Process Memory ve Write Process Memory mantığını birazcık olsun anlarsınız çok başlangıç seviyesi iseniz birazcık zorlanabilirsiniz
Siz bunları incelerken bende size offsetleri sıralanışından bahsedeyim şimdi diceksiniz zaten üsten alta sıralanmıyor mu hayır sakın böyle bir yanlışa düşmeyin düşerseniz kodunuz çalışır ama çalışmaz offsetler alttan üste sıralanır pointerıda şöyle düşünün yazımını (ACModule + 0x041304A) salladım pointerı atıyorum böyle bir kod içinde yaparız base address ile toplarız o zaman sizle gelin artık kod yazmaya geçelim
Kütüphanelerimiz bunlar en üstte tanımlayın dikkat edin "I" harfi ile değil küçük "l" harfi yazıyor orda karıştırcaklar olucaktır
Ardından değişkenlerimizi belirtcek biz bildiğiniz gibi merminin pointer ve offsets'ni çekmiştik onları tanımlıcaz atıyorum en basitinden altta sıralıyorum sizin için
DWORD procID;
DWORD ACModule;
DWORD AmmoAddy;
int maxammo = 1000;
bunları global bir değişken olarak belirtin kalsınlar orda tam bu şekilde
Ardından hatırlıyor musunuz size GetModuleBaseAddress adından bir fonksiyonda o kodu vermiştim ardından o kodu yapıştırın evet birazcık copy paste yapıyoruz ancak zaten genel mantık o kadar bilmenize gerek yok çalışma mantığını anlamanız bile yeter ardından onun altına main fonksiyonumuzuda açıyoruz tam bu şekilde
Ardından ACModule tanımladığım global değişkeni çağırıcam ve ac_client.exe'nin module base addresi almasını isticem kodun son hali böyle sizde main içerisine bunları tanımlayınız
Evet şimdi geldik asıl kod kısmına bundan sonrası oyunu görmek için if(hwnd == NULL) tarzı ifadelere kullanıyoruz oyunu açın vb şeyler diyoruz ardında bide else ekliyoruz oyun açıksa o komuta girmez direk olarak elseye atlar ReadProcessMemory ile değerimizi okutucaz ilk pointerı ardından 1 dersde aldığımız offsetsleri kullanıcaz ardından sonsuz döngü açıp bir tuşa atıcaz istediğiniz şeyi yazdırabilirsiniz unutmayın ACModule ile ModuleBaseAddress toplama işlemi yaptırıyoruz ben size kodu şöyle vereyim bi inceleyin
Evet gördüğünüz gibi pointerımız yazdırdık sakın şu hataya düşmeyin ACModule olan kısmı diğer alt kısımlardada kullanmıcaz bu arada GetAsyncKeyState
yani bir tuş atadım tuşda VK_F2 yani anladığınız üzere F2 tuşu siz başka tuşada yapabilirsiniz kafanıza göre ardından bir daha ReadProcessMemory ile değerimizi okutucaz ardından son offseti yazdırıcaz sakın unutmayın bu sefer 1 tane daha aynı şekilde yazın ancak bu sefer ACModule yerine AmmoAddy yazılıcak dikkat edin
Son olarak WriteProcessMemory ile değerimizi yazdırıcaz bu seferde &AmmoAddy yerine &maxammo yapıcaz yoksa DWORD değerinin son yerini alır 1000 mermi yerine DWORD sayısının değerini verir
o zaman ekranı kaplıcak mermi olur kodun son hali bu
Bakalım oyuna girip bir çalıştırayım son hali neymiş deneyelim gelin bu arada yeni fark ettim son yer ReadProcessMemory kalmış onu WriteProcessMemory olarak düzeltin ve gördüğünüz gibi kodumuz çalışıyor
Neyse bu konu bu kadar heves gelirse size rapid fire no recoil animasyonları kaldırmayı falanda gösteririm iyi günler
O zaman şimdi size bir kaç kaynak vericem bunlara bi bakın bu 2'si Read Process Memory ve Write Process Memory mantığını birazcık olsun anlarsınız çok başlangıç seviyesi iseniz birazcık zorlanabilirsiniz
Bağlantıları görmek için lütfen
Giriş Yap
Bağlantıları görmek için lütfen
Giriş Yap
Siz bunları incelerken bende size offsetleri sıralanışından bahsedeyim şimdi diceksiniz zaten üsten alta sıralanmıyor mu hayır sakın böyle bir yanlışa düşmeyin düşerseniz kodunuz çalışır ama çalışmaz offsetler alttan üste sıralanır pointerıda şöyle düşünün yazımını (ACModule + 0x041304A) salladım pointerı atıyorum böyle bir kod içinde yaparız base address ile toplarız o zaman sizle gelin artık kod yazmaya geçelim
Kütüphanelerimiz bunlar en üstte tanımlayın dikkat edin "I" harfi ile değil küçük "l" harfi yazıyor orda karıştırcaklar olucaktır
Ardından değişkenlerimizi belirtcek biz bildiğiniz gibi merminin pointer ve offsets'ni çekmiştik onları tanımlıcaz atıyorum en basitinden altta sıralıyorum sizin için
DWORD procID;
DWORD ACModule;
DWORD AmmoAddy;
int maxammo = 1000;
bunları global bir değişken olarak belirtin kalsınlar orda tam bu şekilde
Ardından hatırlıyor musunuz size GetModuleBaseAddress adından bir fonksiyonda o kodu vermiştim ardından o kodu yapıştırın evet birazcık copy paste yapıyoruz ancak zaten genel mantık o kadar bilmenize gerek yok çalışma mantığını anlamanız bile yeter ardından onun altına main fonksiyonumuzuda açıyoruz tam bu şekilde
Ardından ACModule tanımladığım global değişkeni çağırıcam ve ac_client.exe'nin module base addresi almasını isticem kodun son hali böyle sizde main içerisine bunları tanımlayınız
Evet şimdi geldik asıl kod kısmına bundan sonrası oyunu görmek için if(hwnd == NULL) tarzı ifadelere kullanıyoruz oyunu açın vb şeyler diyoruz ardında bide else ekliyoruz oyun açıksa o komuta girmez direk olarak elseye atlar ReadProcessMemory ile değerimizi okutucaz ilk pointerı ardından 1 dersde aldığımız offsetsleri kullanıcaz ardından sonsuz döngü açıp bir tuşa atıcaz istediğiniz şeyi yazdırabilirsiniz unutmayın ACModule ile ModuleBaseAddress toplama işlemi yaptırıyoruz ben size kodu şöyle vereyim bi inceleyin
Evet gördüğünüz gibi pointerımız yazdırdık sakın şu hataya düşmeyin ACModule olan kısmı diğer alt kısımlardada kullanmıcaz bu arada GetAsyncKeyState
yani bir tuş atadım tuşda VK_F2 yani anladığınız üzere F2 tuşu siz başka tuşada yapabilirsiniz kafanıza göre ardından bir daha ReadProcessMemory ile değerimizi okutucaz ardından son offseti yazdırıcaz sakın unutmayın bu sefer 1 tane daha aynı şekilde yazın ancak bu sefer ACModule yerine AmmoAddy yazılıcak dikkat edin
Son olarak WriteProcessMemory ile değerimizi yazdırıcaz bu seferde &AmmoAddy yerine &maxammo yapıcaz yoksa DWORD değerinin son yerini alır 1000 mermi yerine DWORD sayısının değerini verir
Bakalım oyuna girip bir çalıştırayım son hali neymiş deneyelim gelin bu arada yeni fark ettim son yer ReadProcessMemory kalmış onu WriteProcessMemory olarak düzeltin ve gördüğünüz gibi kodumuz çalışıyor
Neyse bu konu bu kadar heves gelirse size rapid fire no recoil animasyonları kaldırmayı falanda gösteririm iyi günler