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.

Tarih:
Hit: 6341
Yazar: FireX

Taglar: reverse engineering - keygenler


Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.