HACKER - Reverse Engineering - Keygenler
  Ana Sayfa
  Ziyaretçi defteri
  HACKER OLAMAK İSTİYENLER
  Başkaların Bilgisayarını Haclemek istiyenler
  Hackerlerin Kullandığı Programlar
  HABERLER
  Hack-Güvenlik
  => Kişisel Güvenlik ve Korunma Yöntemleri
  => Wireless Şifresi Kırma
  => Domain Adınızı Güncellemeyi Unutursanız...
  => Bir Rootkit Hikayesi...
  => RootKit Nedir ve Sistemden Nasıl Temizlenir?
  => Bruteforce Yöntemi İle Şifre Kırma Hesaplaması
  => Sosyal Mühendislik ve Senaryolar
  => Detaylarıyla Denial Of Service
  => N-Keylogger v1.3 ve Kullanımı
  => Access, Mssql ve Mysql ile Sql Injection
  => Soru-Cevap ile Hack Nedir, Nasıl Yapılır?
  => CSRF nedir, Nasıl yapılır?
  => Sql Server Şifreleri Nasıl Saklar?
  => PGP ye Pratik Giriş, PGP Kullanımı ve E-mail Güvenliği
  => Sanal Mağazacılık Ve Sanal Alışveriş
  => Veritabanı Saldırıları
  => Reverse Engineering - Visual Basic P-Code
  => Efkan Forum 2 - Database Yolu ile Hackleme Yöntemi 2
  => Efkan Forum - Database Yolu ile Hackleme Yöntemi
  => Kredi Kartları Güvenliği ve Carding Hakkında
  => Sosyal Mühendislik Hakkında
  => İnternet Bankacılığı ve Güvenliği
  => Reverse Engineering - Self Modifying
  => Reverse Engineering - Hedef Bölge
  => Reverse Engineering - Keygenler
  => Reverse Engineering - .Net Programları
  => Reverse Engineering - DeDe & VBDecompiler
  => Telnet ile Mailbox Temizlemek
  => Port Listesi
  => Virüs Çeşitleri
  => Proxy, Firewall ve kurulumu
  => Kredi Kartlarının Onaylanması ve Check Digit Algoritması
  => Exploit Nedir, Sistemlere Sızma Yolları
  => Exploitler Nedir, Nereden Bulunur ve Nasıl Kullanılır?
  => Advanced Coding / Buffer Overflow Exploit -3
  => Advanced Coding / Buffer Overflow Exploit -2
  => Advanced Coding / Buffer Overflow Exploit -1
  Windows Püfleri
  Arşiv
  İletişim

Reverse Engineering - Keygenler

 

Merhaba arkadaşlar bu yazımda size keygenlerden bahsedeceğim.

Gerekenler

Ollydbg
Keygen yazacağınız herhangi bir programlama dili(Ben delphide yazdığım örnek keygen kaynak kodunu dahil ettim), Gerekli ve örnek dosyaları, Tahribat.Com dokuman arşivinden veya buraya tıklayarak indirebilirsiniz.

Keygen yapmak reverse engineering’in en zor ve uzun süren konularından birisidir.Çünkü programın seri numarasının hesaplandığı bölgenin çok iyi bir şekilde analiz edilmesi gerekmektedir.Programın girdiğimiz seri numarayı ve hesaplanan seri numarayı karşılaştırdığı bölgede yeterince araştırma yapmış olmak ve daha gerisine dönerek kullanıcı adının alındığı bölgeden itiraben dikkatli bir şekilde registerleri,apileri ve işlemleri izleyerek doğru yerleri tespit etmeliyiz.Buraları izleyerek serial fishing denilen yöntemide gerçekleştirebiliriz.Yani hesaplama tamamlandıktan sonra, mesela “FireX” girdiysek karşılığı “235-26756766352” oluyor.Onu debugger ile görüp seri numarayı elde etmiş olarakta paylaşım yapabiliriz.Fakat sıkı kodlanmış bir uygulamanın seri numarasıda sap gibi ortada olmaz.Gerekirse not alarak işlemleri takip etmeniz gerekecektir.

Fakat dağıttımız seri numara zamanla kara listeye girebilir ve seri numaramız işe yaramaz hale gelebilir.Bu sebeple keygen yazmak daha mantıklıdır.Zor bir iştir.Fakat neticesi güzeldir.Bazı uyanık cracker teamler 15-20 tane seri numarayı bulup tespit ettikten sonra programa koyuyorlar ve keygen diyorlar(Program sadece seri numara üretiyorsa) Bir süre sonra verilen seri numaralar tekrar etmeye başlıyorsa o keygenden çok seri numara listesi gibi birşeydir.Keygende programın seri numarasının hesaplanma mantığını çözmek vardır.

Programda kullanıcı adının dışında başka şeyler daha istenmesi ,seri numaranın parçalara ayrılarak hesaplanması işimizi dahada zorlaştırmaktadır.Fakat sıkı bir çalışmayla üstesinden gelinebilir.Programın her adımının dikkatle takip edilmesi,gözümüzü registerlerdan ayırmamamız gerekmektedir.Özellikle keygen yapımında sabır çok önemlidir.Çünkü işimiz programına göre hayli uzar.Program sıkı korunmuş ve birçok matematiksel işlemden geçirilmişse oldukça uzun kodlar bizi bekleyecektir.Keygen olayına kısaca gözatarsak;

Deneme amaçlı kısa bir program yazdım.Bu program için keygen yazacağız.Deneme amaçlı programı kolaylık olması açısından visual c++  ile yazdım.Örneğin delphi ile yazsaydım.Programda birçok prosedür çağrısı ve daha uzun kodlar bizi bekliyor olacaktı.Bir programı debugger ile açtığınızda her taraf call ile doluysa delphi olduğunu anlayabilirsiniz (: Deneme amaçlı programda static linking’i seçtiğim için dosyanın boyutu biraz büyük oldu.Sebebi farklı windows sürümlerini kullanan arkadaşların sorun yaşamaması.Ayrıca keygenide delphi bilenlerin ağırlık olması sebebiyle delphide yazdım.Kaynak kodlarını indirebilirsiniz.

Ollydbg ile önce hedef programa gözattıktan sonra kilit noktayı buluyoruz. Kodlara sağ tıklayıp search for->all referenced text strings’e basar hata mesajını aratırsak o bölgeye ulaşabiliriz.Tabi dosya packlenmiş olacak,şifrelenmiş olacak,daha sıkı korunmuş olacak işler bu kadar yolunda gitmeyecek.Resimde gördüğünüz üzere bölgeye ulaştık.

Reverse Engineering - Keygenler

 

Şimdide register butonuna bastığımızdan itibaren başlayan bölgeyi analiz edelim.

Reverse Engineering - Keygenler

 

Programı sizde satır satır izleyerek gözlemleyebilirsiniz.Ben işlemleri resimde belirteceğim ve keygende hangi adımları yapmamız gerektiği ortaya çıkacak.Keygeni yazarken direk debuggerdan assembly kodlarını kopyalayıp programımıza uyarlayıp kullanabiliriz.Fakat işlemler fazlasıyla karmaşıksa adımları izleyerek sonuca ulaşabiliriz.Örneğin orada döngü varsa assembly koduyla döngüye girmek yerine delphide yada herhangi bir dile özgü şekliyle döngü oluşturarak aynısını tekrarlayabiliriz.

İşlemleri sıralarsak
1-)İsmi ve seri numarayı al(Keygen için önemli değil ismi almamız ve hesaplatmamız yeterli)
2-)İsmin uzunluğunu al.
3-)Karakterleri döngüde teker teker ele al ve karşılıklarını topla.Debugger ile baktığımızda mesela “a” yazdıysak hex karşılığı olan 61’i göreceğiz.Biz decimal olarak karşılığını toplatacağız yani 97.Düzenlersek  “asd” yazdıysak karşılıkları olan 97+115+100’ü toplayacağız.Yani harflerin karşılıklarını topluyoruz.
4-)Döngüden sonra çıkan değerin karesini al.

Bunların tespitini tabiki registerlara bakarak yapıyoruz.Değerler hangi registera aktarılmış,nerelerde kullanılmak üzere geri çağrılıyor vs bunların hepsini dikkatlice izlememiz lazım.

Bu adımları kendi kullandığımız programlama diliyle yerine getiriyoruz.Forma kullanıcı adını alan bir edit seri numarayı gösteren label veya edit koyduktan sonra gereken matematiksel işlemleri adım adım yerine getiriyor ve sonucu yazdırıyoruz.Yada programın hesaplama yaptığı assembly kodlarını kopyalayıp keygene koyabilirsiniz bu da başka bir yöntemdir.Fakat arada gereksiz bazı yerlerde olabileceğinden biraz uğraştırabilir.

Keygenlerle ilgili anlatacaklarım bu kadar.Deneme amaçlı program,keygen,yazı ve ekstra materyaller tamamen FireX tarafından yazılmıştır.Kopyalayanlar emeğe saygı duyarlarsa sevinirim.Saygılarımla..

Bugün 39 ziyaretçi (41 klik) kişi burdaydı!
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol