Arkadaşlar hile yapmak ikiye ayrılır birincisi "internal" yani oyunun içine dahil edilir yazdığımız kod aslında oyunun bir parçası olur diğer taraf da ise "external" türünde hileler de vardır.
Bu konu altında externalı işliycez. Genel olarak bunda farklı bir programdan diğer programa erişim ve hafızasındaki bilgileri değiştirme olarak işliyor. Performans olarak internal den daha kötüdür ama zaten gözle görülür bir fark GDI haricinde göremezsiniz ki doğru mimari ile yapılan her program kusursuz olabilir.
Temelde biz hile kodlarken
fonksiyonlarını kullancaz.
Video Ders
Bu konu altında externalı işliycez. Genel olarak bunda farklı bir programdan diğer programa erişim ve hafızasındaki bilgileri değiştirme olarak işliyor. Performans olarak internal den daha kötüdür ama zaten gözle görülür bir fark GDI haricinde göremezsiniz ki doğru mimari ile yapılan her program kusursuz olabilir.
Temelde biz hile kodlarken
Bağlantıları görmek için lütfen
Giriş Yap
ve
Bağlantıları görmek için lütfen
Giriş Yap
fonksiyonlarını kullancaz.
C++:
BOOL ReadProcessMemory(
HANDLE hProcess,//hadnle
LPCVOID lpBaseAddress,//ramdan okunacak adresimiz
LPVOID lpBuffer,//okunan değerin kaydedileceği değişken
SIZE_T nSize,//kaydedilen değişkenin boyutu
SIZE_T *lpNumberOfBytesRead//bytle lik bir işimiz yok burda
);
C++:
BOOL WriteProcessMemory(
HANDLE hProcess, //Bizim penceremizle alakalı bilgilerin tutulduğu değişken
LPVOID lpBaseAddress, //İçine yazacağımız address
LPCVOID lpBuffer, //Yeni değerimiz genelde "int yeni = 999;"
SIZE_T nSize, //int değer yazacağımız için "int" büyüklüğünde olduğunu belirtmemiz lazım
SIZE_T *lpNumberOfBytesWritten //byte yazmıyoruz sadece değer yazıyoruz şuanda.
);
A handle can be anything from an integer index to a pointer to a resource in kernel space. The idea is that they provide an abstraction of a resource, so you don't need to know much about the resource itself to use it.
For instance, the HWND in the Win32 API is a handle for a Window. By itself it's useless: you can't glean any information from it. But pass it to the right API functions, and you can perform a wealth of different tricks with it. Internally you can think of the HWND as just an index into the GUI's table of windows (which may not necessarily be how it's implemented, but it makes the magic make sense).
EDIT: Not 100% certain what specifically you were asking in your question. This is mainly talking about pure C/C++.
C++:
int main(){
HANLE pencere = FindWindowA(NULL, "AssaultCube"); //Pencere ismini bulur ve bilgileri pencere isimli HWND değişkeni içinde tutar.
DWORD pID;
GetWindowThreadProcessId(pencere,&pID);//Videoda anlatıldı buralar
HANDLE hnd = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pID);
int yeni = 999;
ReadProcessMemory(hnd, (LPCVOID)(StaticAdres), &LocalPlayer, sizeof(DWORD), 0);
WriteProcessMemory(hnd, (LPVOID)(LocalPlayer + 0xF8), ¥i, sizeof(yeni), 0);
std::cout << "Hile başarılı.!!";
}
Video Ders