Bugün modlama ve bypass dünyasını derinden sarsacak, işin bizzat mutfağına girdiğim bir "tersine mühendislik" (reverse engineering) konusunu sizinle paylaşıyorum. Piyasada onlarca crack grubu var, peki bu iş arka planda nasıl dönüyor?
Geçenlerde işin içine Yapay Zeka (AI) katarak bir Steam oyununun (Garry's Mod) lisans korumasını analiz ettim ve sistemi dakikalar içinde nasıl atlatabileceğimi test ettim. Gelin bu sistemin arka planına birlikte bakalım.
Hemen baştan merak edenler için cevaplayayım: Evet, bu işlem tamamen ücretsiz. Analizlerimde kullandığım WinDbg aracı tamamen bedava. Tersine mühendislik için IDA'nın ücretsiz sürümünü (veya açık kaynaklı efsane araç Ghidra'yı) ve ücretsiz yapay zeka modellerini kullanarak bu süreci sıfır maliyetle halledebiliyoruz.
⚙️ Sistemin Çalışma Mantığı (Sadece Offline Mod)
Öncelikle şunu bilmeliyiz: Üzerinde çalıştığım bu mantık yalnızca offline (çevrimdışı) modu olan oyunlarda çalışır.
Bir oyunu açtığınızda arka planda Steam'in API'sine bir "Lisans doğrulama (Verification)" isteği gider. Eğer oyun "Online-only" (sadece çevrimiçi) ise, doğrulama işlemi bilgisayarınızda değil, doğrudan oyunun kendi sunucularında yapılır ve sunucuyu kandıramazsınız.
Fakat oyunun offline modu varsa, doğrulama kodları bilgisayarınızdaki .dll dosyalarının içindedir. Benim buradaki amacım bu dosyaları bulup, lisans sorulduğunda oyunun her zaman "Evet, lisansı var (True)" yanıtını vermesini (patch) sağlamaktı.
🛠️ Adım Adım Analiz ve Kırma İşlemim (AI Destekli)
1. Hata Mesajını Yakalama:
Oyunu Steam kapalıyken açtığımda ekrana "Steam çalışmıyor veya lisans yok" tarzı bir hata mesajı düştü. Bu benim en büyük ipucumdu. Hata mesajının ekran görüntüsünü alıp doğrudan Yapay Zeka ajanıma verdim ve şu komutu girdim: "Bu hata mesajı hangi DLL dosyasından tetikleniyor? Bul!"
2. IDA Pro / Ghidra ve AI Entegrasyonu:
Yapay zeka, yaptığı tarama sonucunda bana bu hatanın server.dll dosyasından geldiğini söyledi. İlgili DLL dosyasını tersine mühendislik aracımla (IDA) açtım. Ardından AI ajanını bu kodların içine saldım. AI, tüm doğrulama (verification check) satırlarını taradı ve lisans kontrolünü atlayacak (skip check) şekilde dosyayı yamadı.
3. Çökmeleri (Crash) Analiz Etme:
İlk DLL dosyasını yamaladım ama oyunu açtığımda başka bir hata verdi ve çöktü (crash). Çünkü oyun geliştiricileri lisans kontrolünü tek bir yere saklamaz, birden fazla DLL içine gömerler.
Oyun çöktüğünde klasöründe bir crash.log dosyası oluşur. Bunu Not Defteri ile açtığımda sadece anlamsız karakterler (çöp kod) gördüm. Ancak bu dosyayı ücretsiz WinDbg aracına atıp !analyze -v komutunu girdiğimde, oyunun tam olarak hangi DLL yüzünden ve kodun neresinde çöktüğü kabak gibi ortaya çıktı! Bu log verisini kopyalayıp tekrar Yapay Zekaya verdim ve o kısmı da yamamasını istedim.
4. Final Yaması ve Scriptleştirme:
Oyundaki (toplam 4-5 adet) tüm lisans kontrol dosyalarını bu yöntemle yamaladığımda oyun sorunsuz şekilde (internetsiz) açıldı. Üstelik addons klasörüne dışarıdan attığım her türlü mod, harita ve save dosyası da orijinal oyundaki gibi kusursuz çalıştı.
Tüm bu işlemleri her seferinde manuel yapmak yerine yapay zekaya, "Yaptığım tüm bu yamaları (Patch) tek tuşla uygulayacak bir Python scripti yaz" komutunu verdim. Ve sonuç olarak elimde o oyunu saniyeler içinde patchleyen bir araç oluştu.
Yapay zekanın kod okuma ve tersine mühendislik yetenekleri inanılmaz bir seviyeye ulaşmış durumda. Eskiden aylar süren kod okuma işlemleri, AI asistanlar sayesinde artık sadece birkaç dakika sürüyor.
İyi forumlar.
- altan