S
- Joined
- Sep 6, 2020
- Messages
- 2,470
- Reaction score
- 1,626
Bypass Nedir ?
bypass, alternatif bir yol bularak giriş veya geçiş yapmak anlamında kullanılan bir terimdir. Örneğin bir web sunucusu üzerinde farklı bir dizin yolu bulunarak bu yol kullanılıp server giriş yapılabilir. Bu durumda Server Bypass edilmiş olur.
Ya da bir cep telefonunun kilit ekranını düşünelim. Bu telefonun kilit ekranında bizden dört haneli bir kod isteniyor olsun ve ancak bu dört kodu girmemiz halinde telefon kullanıma açılacaktır.
Fakat biz bu dört haneli kodu kullanmak haricinde farklı bir yol bularak telefonun güvenlik ekranını aşabilirsek bu durumda güvenlik ekranını Bypass etmiş oluruz. Örneğin eski nesil bazı cihazlarda bu dört haneli kodu girmek yerine acil çağrılar kısmına geçiş yapıp bu menüden doğrudan telefonun içerisine erişebiliyorduk. Böyle bir işlem gerçekleştirdiğimizde Bypass'ı başarıyla gerçekleştirmiş oluruz.
Bypass, bilgisayar ve diğer teknolojik aletlerde yalnızca güvenlik ile ilgili bir terim olarak kullanılıyor. Dijitalcihazların haricinde yazılımlarda Bypass edilerek kırılabilir ve istenilen erişim haklarına sahip olunabilir.
Bypass Kodlama Mantığı?
Öncelikle bu iş için bize gereken şeylerden biraz bahsedelim. Benim anlatmak üzere olduğum yöntem bu işin en kullanışlı ve basit yöntemlerinden biridir arkadaşlar. Fakat x64 işletim sistemleri için çalışmaktadır. Yani bu yazıyı referans alarak bir Bypass kodlamak istiyorsanız, işe Windows 7 x64 işletim sistemini kullanmakla başlamalısınız.
Öncelikle x64 sistemlerde Zulu Bypass işlemi nasıl yapılır onu öğrenelim. İki adım vardır arkadaşlar. Birinci adım Zulu'ın açık olan işlemleri yakalamasını engeller. Örneğin biz Cheat Engine programını oyunumuzla birlikte açtığımızda Zulu 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 Zulu 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ü Zulu 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. Şimdi kodlarımıza bir bakalım.
C++:
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 :
bypass, alternatif bir yol bularak giriş veya geçiş yapmak anlamında kullanılan bir terimdir. Örneğin bir web sunucusu üzerinde farklı bir dizin yolu bulunarak bu yol kullanılıp server giriş yapılabilir. Bu durumda Server Bypass edilmiş olur.
Ya da bir cep telefonunun kilit ekranını düşünelim. Bu telefonun kilit ekranında bizden dört haneli bir kod isteniyor olsun ve ancak bu dört kodu girmemiz halinde telefon kullanıma açılacaktır.
Fakat biz bu dört haneli kodu kullanmak haricinde farklı bir yol bularak telefonun güvenlik ekranını aşabilirsek bu durumda güvenlik ekranını Bypass etmiş oluruz. Örneğin eski nesil bazı cihazlarda bu dört haneli kodu girmek yerine acil çağrılar kısmına geçiş yapıp bu menüden doğrudan telefonun içerisine erişebiliyorduk. Böyle bir işlem gerçekleştirdiğimizde Bypass'ı başarıyla gerçekleştirmiş oluruz.
Bypass, bilgisayar ve diğer teknolojik aletlerde yalnızca güvenlik ile ilgili bir terim olarak kullanılıyor. Dijitalcihazların haricinde yazılımlarda Bypass edilerek kırılabilir ve istenilen erişim haklarına sahip olunabilir.
Bypass Kodlama Mantığı?
Öncelikle bu iş için bize gereken şeylerden biraz bahsedelim. Benim anlatmak üzere olduğum yöntem bu işin en kullanışlı ve basit yöntemlerinden biridir arkadaşlar. Fakat x64 işletim sistemleri için çalışmaktadır. Yani bu yazıyı referans alarak bir Bypass kodlamak istiyorsanız, işe Windows 7 x64 işletim sistemini kullanmakla başlamalısınız.
Öncelikle x64 sistemlerde Zulu Bypass işlemi nasıl yapılır onu öğrenelim. İki adım vardır arkadaşlar. Birinci adım Zulu'ın açık olan işlemleri yakalamasını engeller. Örneğin biz Cheat Engine programını oyunumuzla birlikte açtığımızda Zulu 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 Zulu 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ü Zulu 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. Şimdi kodlarımıza bir bakalım.
C++:
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 :
C++:
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)"\xC2\x0C\x00", 3);
memcpy((LPVOID)EnumAddr,(LPVOID)"\xC2\x0C\x00",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
"Alıntı Mevcut"
"Alıntı Mevcut"
Last edited: