C++:
uintptr_t FindDMAAddy(HANDLE hProc, uintptr_t ptr, std::vector<unsigned int> offsets)
{
uintptr_t addr = ptr;
for (unsigned int i = 0; i < offsets.size(); ++i)
{
ReadProcessMemory(hProc, (BYTE*)addr, &addr, sizeof(addr), 0);
addr += offsets[i];
}
return addr;
}
Bu fonksiyonu internette buldum gerçekten çok faydalı.
Özellikle multi-lvl pointerlarda işinizi baya hafifletecek^^. Ham haliyle aldım herhangi bir değişiklik yapmadım siz isterseniz yaparsınız.
uintptr_t = Bir veri pointer(işaretçi) saklamak için kullanılır. "_t" burada "data" anlamına geliyor.
FindDMAAddy = fonksiyonun adı, siz kendiniz bir ad koyabilirsiniz önemli bir ayrıntı değil.
Gelelim Parametrelere;
3 adet parametresi var bu fonksiyonun arkadaşlar.
- HANDLE hProc= Bir handle veriyoruz.
Oda şu şekilde oluyor.
C++:
HANDLE hProcess = 0;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, procId);
2. uintptr_t ptr= Bulduğumuz Base adresi veriyoruz arkadaşlar. (ac_client.exe+0x00000)
3. std::vector<unsigned int> offsets= Burada ise offsetleri veriyoruz bunu şu şekilde yapabiliriz her bir offseti tek tek yazıp toplamak yerine.
std::vector<unsigned int> ammoOffsets = { 0x000, 0x00, 0x0 };Burada "ammoOffsets" 3. parametre yerine yazılır.
uint bir vector tanımlanmıs ve icerisinde 3 tane offset var. (3 tane bu yuzden vektor mantıklıdır.)
Fonksiyonun içindeki işlemler ise arkadaşlar;
uintptr_t tipinde addr isimli bir değişken ptr ye eşitleniyor.
For döngüsüyle her bir offseti base adrese ekliyor.
daha sonra döndürdüğü değer olan addr bize şimdiki ammo adresini vermiş oluyor.
bunu her yaptığında;
ReadProcessMemory
yapıyor ve bir offset kadar daha ekliyor taa ki son offsete kadar.
Neticede bu fonksiyon bize şimdiki obje addresini veriyor ve biz bu adres üzerine "WriteProcessMemory" apisini kullanabiliyoruz.
Örneğin;
C++:
int newAmmo = 5000;
WriteProcessMemory(hProcess, (BYTE*)ammoAddr, &newAmmo, sizeof(newAmmo), nullptr);
Bkz.
Burada bir cin komutu ile kullanıcıya yeni istediği ammo değerini yazdırabiliriz.
Umarım faydalı olmuştur. İyi forumlar ^^
*** bunun ile alakalı detaylı bir gerçek hile yapma mekanizması da yakında gelecek takipte olun^^
Son düzenleme: