NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

Daha sonra bize gereken iki program var, linkleriyle birlikte vereceğim:
-Cheat Engine
-Process Hacker​

Programlarımızı kurduktan sonra işe başlamak için önümüzde bir engel kalmıyor arkadaşlar. İsterseniz şimdi neler yapmamız gerektiğine geçelim.​


Öncelikle x64 sistemlerde XTrap Bypass işlemi nasıl yapılır onu öğrenelim. İki adım vardır arkadaşlar. Birinci adım XTrap'ın açık olan işlemleri yakalamasını engeller. Örneğin biz Cheat Engine programını oyunumuzla birlikte açtığımızda XTrap bizim Cheat Engine ile oyun üzerinde bir işlem yapmamızı beklemeden oyunu kapatır. Çünkü Cheat Engine açtığınızda niyetinizin ne olduğu az çok bellidir. İkinci adım ise Cheat Engine ile oyunun Memory'sine eriştiğimizde oyunun kapanmasını engeller. Yani ilk işlemi yapıp bıraksaydık Cheat Engine açtığımızda oyun kapanmayacaktı ama Cheat Engine ile oyun üzerinde herhangi bir değişiklik yaptığımızda XTrap oyunu kapatacaktı.​


Şimdi bu adımları hayata geçirmek için neler yapmamız gerektiğini öğrenelim.​


Sevgili arkadaşlarım 1. adımımızın ismi Process Name Detection Bypass'tır. Bu işlemi yapmamız için x64 bir sistemde yapmamız gereken şey System32'mizin içerisindeki kernel32.dll ve psapi.dll deki bir prosedürde değişiklik yapmaktır. Peki neden ? Çünkü XTrap açık olan işlemlerin isimleri vs. için kernel32.dll deki "K32EnumProcesses" prosedürüne ve psapi.dll'deki "EnumProcesses" prosedürüne başvurur. K32EnumProcesses'in açınımı Kernel32 Enumerating Processes'tir. psapi.dll Process Status Helper olarak da geçer. Bunu bildiğimize göre yapmamız gereken tek şey kernel32.dll'i açıp K32EnumProcesses'a ve psapi.dll'i açıp EnumProcesses'a bir jump attırmaktır. Burada işin içine kodlama giriyor arkadaşlar. Ben bypass'ların en güzel C++'ta kodlanabileceğine inanırım. Bunun için size kodları C++ şeklinde vereceğim. Ama AutoIT kullanan arkadaşlarımı da unutmayacağım tabi. Şimdi kodlarımıza bir bakalım.

C++ için :

Arkadaşlar kodlamaları detaylı olarak anlatacağım ayrıca bir yazım daha olacak. O yüzden C++'ta yeni olan arkadaşlarım sakın korkmasın, bir dahaki yazım için beklesinler. Şimdilik sadece Main.h'mizde olması gereken bir parçayı paylaşıp kodlamadan anlayan arkadaşlarımın ne demek istediğimi daha iyi anlamalarını sağlamak istiyorum.

Arkadaşlarım BYPASS isimli bir class tanımladıktan sonra bypass'ımızın ikinci admı için ProcessDetection isminde bir int tanımlıyoruz. İçini de şu şekilde dolduruyoruz :
Kod:
int BYPASS::processDetection()
{

DWORD K32EnumAddr = (DWORD)GetProcAddress(LoadLibraryA("Kernel32.dll") ,"K32EnumProcesses");
DWORD EnumAddr = (DWORD)GetProcAddress(LoadLibraryA("Psapi.dll"),"EnumProcesses");
DWORD old;
VirtualProtect((LPVOID)K32EnumAddr,sizeof(K32EnumAddr),PAGE_EXECUTE_READWRITE,&old);
VirtualProtect((LPVOID)EnumAddr,sizeof(EnumAddr),PAGE_EXECUTE_READWRITE,&old);
memcpy((LPVOID)K32EnumAddr,(LPVOID)"xC2x0Cx00", 3);
memcpy((LPVOID)EnumAddr,(LPVOID)"xC2x0Cx00",3);
return 0;
}
Gördüğünüz gibi iki fonksiyonumuzu da 3 adet byte ile çarparak jump'ımızı attırdık. Öğrendiğim kadarıyla bu byte'lar bu işlem için sabittir arkadaşlar

AutoIT için:
Sevgili dostlarım AutoIT kodlarını bulduğum kaynak farklı bir kaynak o yüzden 3 Byte'lı çarpma işlemi ile değil de direkt olarak farklı bir adrese yönlendirme şeklinde çalışıyor. Ama bu da sabit merak etmeyin.

Öncelikle $moduleKernel32 değişkenine kernel32.dll imizi atıyoruz.
Daha sonra $adressK32EnumProcesses değişkenimize $moduleKernel değişkeninden faydalanarak K32EnumProcesses'in adress'ini çekiyoruz.
Kodları şöyledir :

Kod:Panoya kopyala
Kod:
$moduleKernel32 = DllCall(DllOpen("Kernel32.dll"), "ptr", "LoadLibrary", "str", "Kernel32.dll")
$addressK32EnumProcesses = DllCall(DllOpen("Kernel32.dll"), "ptr", "GetProcAddress", "ptr", $moduleKernel32[0], "str", "K32EnumProcesses")
Daha sonra WriteProcessMemory komutundan faydalanarak bir memory hacking işlemi ile işlemimizi tamamlıyoruz. Ama dikkat edin, bu işlemi yaptığınız bir AU3 dosyasına KDMemory.au3 dosyasını #include etmelisiniz. Yoksa kesinlikle bu tarz bir işlem yapamazsınız. KDMemory.au3 dosyasını internette bulup AutoIT/includes dizininize atabilirsiniz. Şimdi son işlemi yapmamız için $P_Open değişkeni tanımlamamız gerekiyor. Bu değişken şöyle :
Kod:
$P_Open = OpenProcess(ProcessExists("TwelveSky2.exe"))


Daha sonra ise son işlemimizi yapıp ProcessNameDetectionBypass işlemimizi tam
amlıyoruz :​


Kod:
WriteProcessMemory($P_Open, $addressK32EnumProcesses[0], "dword", 0x90000CC2)​

Kod:Panoya kopyala
Kod:
int BYPASS::ProcessDetection()
{

DWORD K32EnumAddr = (DWORD)GetProcAddress(LoadLibraryA("Kernel32.dll") ,"K32EnumProcesses");
DWORD EnumAddr = (DWORD)GetProcAddress(LoadLibraryA("Psapi.dll"),"EnumProcesses");
DWORD old;
VirtualProtect((LPVOID)K32EnumAddr,sizeof(K32EnumAddr),PAGE_EXECUTE_READWRITE,&old);
VirtualProtect((LPVOID)EnumAddr,sizeof(EnumAddr),PAGE_EXECUTE_READWRITE,&old);
memcpy((LPVOID)K32EnumAddr,(LPVOID)"xC2x0Cx00", 3);
memcpy((LPVOID)EnumAddr,(LPVOID)"xC2x0Cx00",3);
return 0;
}
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.