C++ Game Hacking

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Uzman Üye
Katılım
4 Şub 2016
Mesajlar
185
Çözümler
1
Tepki puanı
14
Ödüller
5
10 HİZMET YILI
Merhaba arkadaşlar bugün size C++ Game Hacking öğreteceğim.
ilk olarak pointer - value ve varsa offset bulunması gerekiyor.
benim hedefledigim oyun wolftü
oyunun degiskenlerini aldıgı yerler = cshxxxx.tmp objxxxx.tmp crexxxx.tmp cfxxxxx.tmp ve wolftü.bin(yani kendi .exe sinden)
pointerlarımızı bulduk diyelim

->Visual Studio açıyoruz C++ Proje oluşturuyoruz > Ayarlardan > Common Langague Runtime Support bölümünden seçeneklerden /clr seçiyoruz.

-> Linker > System > SubSystem ' i Windows yapıyoruz
-> Linker > Advanced > EntryPoint ' e "Main" yazıyoruz.
Sonra Forma Add diyip > UI bolumune gelip Formu seçip Add diyoruz
Form eklendikden sonra bir .h bide .cpp gelecektir.

forma gelip 2 kez tıklıyoruz formun kodlarının üstüne şu kodu yapıştırıyoruz

Kod:
DWORD ProcessExists(char *ProcessName)//
{
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
pe32.dwSize = sizeof(PROCESSENTRY32);
do
{
if(strcmp(ProcessName,pe32.szExeFile)==0)
{
DWORD ProcessId = pe32.th32ProcessID;
CloseHandle(hProcessSnap);
return ProcessId;
}
} while(Process32Next(hProcessSnap, &pe32));
CloseHandle(hProcessSnap);
return 0;
}
[font=tahoma, verdana, geneva, lucida,].cpp yi açıp[/FONT]

Kod:
#include "eklenen .h dosyasının ismi .h"

using namespace PROJE İSMİNİZ; 

[STAThreadAttribute]

int Main() {
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew FORMUN İSMİ());
return 0;
}
[font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,]ekliyoruz.[/FONT]
[/FONT]



[font=tahoma, verdana, geneva, lucida,]bunu yazdıgımız için .exe olucak ve tıkladıgımızda form gelicek yoksa gelmez..[/FONT]


[font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,]#include bölümüne şunları ekleyelim[/FONT][/FONT]

Kod:
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <string>
#include <fstream>
#include <float.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <sstream>
#include <Psapi.h>
[font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,]using namespace bölümüne ;[/FONT][/FONT][/FONT]

Kod:
Kod:
using namespace System::Diagnostics;
[font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,]Forma 2 kez tıklayıp Form_Load' a şunu yazıyoruz ve ya Timer'ada yazılabilir. Label ekleyip name sini CSH ve BIN yapın bu vereceğmi kod yukarda bahsettiğim cshxxx.tmp ve wolftü.bin 'i çeken koddur.[/FONT][/FONT][/FONT][/FONT]

Kod:
Process ^p = Process::GetProcessesByName("wolftü.bin")[0];
				 for each(System::Diagnostics::ProcessModule ^moz in p->Modules)
				 {
					 if(moz->FileName->IndexOf("csh")!=-1)
					 {
					 CSH->Text = moz->BaseAddress.ToString();
					 }
					  if(moz->FileName->IndexOf("bin")!=-1)
					 {
					 BIN->Text = moz->BaseAddress.ToString();
					 }
			
				 }
[font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,][font=tahoma, verdana, geneva, lucida,]CheckBox ekleyelim ve ismini Name ESP yapalım. sonra 2 kez üstüne tıklayıp kod bölümüne :d[/FONT][/FONT][/FONT][/FONT][/FONT]


Kod:
DWORD VERI = Convert::ToInt32(CSH->Text); //csh mizi yani pointerimizi bi sonuca ulaştıran bölüm. eğer bin le çalışıyorsa pointer CSH yi BIN yapın yoksa hata verir
DWORD OFFSET = 0x01; // ofset varsa kullanın 
DWORD ADRES = VERI + 0x353902; //+ OFFSET; ofset varsa kullanın
int DEGER = 2251829620; // value bölümümüz eğer değeri textboxtan alıcaksa int yerine DWORD yazın.
HANDLE MemHandle = OpenProcess(PROCESS_ALL_ACCESS,0,ProcessExists("wolftü.bin")); // oyunu degiskene tanıtıyoruz
WriteProcessMemory(MemHandle,(LPVO ID(ADRES)),&DEGER,4,NULL); // en sonunda valueyi adrese işleyen bolum VO ID İ birleştirin forum sansürlüy niye bilmiyorum
 
Üye
Katılım
28 Kas 2016
Mesajlar
30
Tepki puanı
0
9 HİZMET YILI
yararlı konu eyw bende  deniyorum ama kafam karıştı   :)
 
Onaylı Üye
Katılım
23 Ağu 2015
Mesajlar
100
Tepki puanı
0
10 HİZMET YILI
C++ Net İle Uyumludur. Yani Sadece Form Tabanlı Projede Çalışır.
 
l33t
Seçkin Üye
Katılım
5 Ara 2015
Mesajlar
464
Tepki puanı
76
Ödüller
9
10 HİZMET YILI
Kaç yıl önce tht de açtığım c++ konusu la :d
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst