29.05.2014 Saat 13-14 Arası Patch Geldi Oyuna.Bazı Adresleri Bulup Sizlerle Paylaşmak İstiyorum.
Addresler ASM Olarak Vericem, Kendiniz Kodlamanıza Dökersiniz Artık
1 - Öğretici Oyununu, Normal Oyun İle Değiştirme
Kod:
5A1E37B7 - 8B 82 1C030000 - mov eax,[edx+0000031C]
5A1E37BD - FF D0 - call eax
5A1E37BF - 84 C0 - test al,al
5A1E37C1 - 0F84 C3010000 - je 5A1E398A
5A1E37C7 - 83 05 D4190A5B 04 - add dword ptr [5B0A19D4],04
5A1E37CE - 8D 8D D8FEFFFF - lea ecx,[ebp-00000128]
5A1E37D4 - E8 974AE6FF - call 5A048270
5A1E37D9 - 01 1D D4190A5B - add [5B0A19D4],ebx
5A1E37DF - 6A 08 - push 08
5A1E37E1 - 68 1C7C3E5A - push 5A3E7C1C : [""Standard""]Burdaki Gördüğünüz 5A ve 5B ile Başlayan Adresler Oyunun Her Açılışında Değişir Ama Offset ve ASM Kodları Değişmez.
Şimdi Burdaki Kodlar Ne İşe Yarar, Her WolfTeam Açtığımda Nasıl Bulabilirim Derseniz Yazılı Olarak Anlatıcam.
--- JE 5A1E398A ---
Buradaki 5A1E398A Her Oyun Açıldığında Farklı Kod Gözükür AMA JE veya Üstündeki "Test Al,Al" Satırı ile Bi üstündeki "Call Eax" Satırı Sabit Kalır.
JE Komutu : Just EQUAL Yani Eğer Eşitse Bunları Bunları Yap Anlamına Gelir.Peki Bu Eşitlik Neyin Eşitliği ?
Bildiğiniz Üzere Öğretici Girince Bir Adres "1" Değerini Alıyor.
Aynı Adres Normal Oyuna Girince "0" Değerini Alıyor.İşte Bizim Yapacağımız İş İse, Buradaki Döngüyü Değiştirmek
Yukardaki JE Satırı Eğer Oda Türünün Valuesi "1" İse Öğretici Olduğunu Anlayıp Silahları Ona Göre Değiştiriyor.Ama Eğer 0 ise Alt Satırdaki Kodları Uygulamak Yerine Normal Oyuna Girerkenki Kodları Uyguluyor.
Şimdi Biz Burda JE Satırını , JNE Kodu ile Değiştirirsek Bu Sefer Oyun Tersine Dönmüş Oluyor, Yani Oda Türünün Valuesi "1" Olursa Normal Oyun
"0" Olursa Öğretici Oyun Gibi Görüp, Silahları Ona Göre Değiştiriyor.
Yani Olması Gereken Son Hali ;
Kod:
5A1E37B7 - 8B 82 1C030000 - mov eax,[edx+0000031C]
5A1E37BD - FF D0 - call eax
5A1E37BF - 84 C0 - test al,al
5A1E37C1 - 0F84 C3010000 - jne 5A1E398A *(Burdaki Değişiklik)
5A1E37C7 - 83 05 D4190A5B 04 - add dword ptr [5B0A19D4],04
5A1E37CE - 8D 8D D8FEFFFF - lea ecx,[ebp-00000128]
5A1E37D4 - E8 974AE6FF - call 5A048270
5A1E37D9 - 01 1D D4190A5B - add [5B0A19D4],ebx
5A1E37DF - 6A 08 - push 08
5A1E37E1 - 68 1C7C3E5A - push 5A3E7C1C : [""Standard""]--- PEKİ Her Seferinde ADRESİ NASIL BULABİLİRİM ? ---
Bu Kısımda Kolay Arkadaşlar Şimdi Sizlere Anlatacağım Yöntem ile Kolaylıkla Bulabilirsiniz...
Cheat Engine -> Memory View -> Yukardaki Menüden "Search" -> Find Assembly Code
Aşağıdaki Resimdeki Gibi Başlangıç ve Bitiş Aralıklarını Ayarlıyoruz.Sol Kısımdaki Text Kısmına Gördüğünüz Kodları Yazıyorsunuz.
Dikkatinizi Çektiyse Sol Kısımdaki Kodlar, Yukardaki Verdiğim ASM'lerin Hep Başındaki Komutlar, Adresler Sürekli Değişiyor Ama Kodlar Sabit Demiştik, İşte Sabit Olması Bize Sürekli Değişken Adresi Bulmamıza Yarıyor.
Herşey Hazır Oldukdan Sonra, Scan Butouna Basıp Aramaya Başlatıyoruz.
Zaten 1 Tane Sonuç Bulucak, Onada Çift Tıklayıp Memory View'de Görebileceksiniz.
Ardından "JE" Satırını "JNE" ile Değiştiriniz.
Ve İlk Reverse Enginering Dersimiz Bitmiştir Arkadaşlar
Not : Lütfen Emek Hırsızlığı Yapmayınız, Başka Forumlarda Paylaşırsanız Bile Kaynak ve Paylaşan Olarak Konu Altına Ekleyiniz.
Not : Diğer Derslerim Zamanla Devam Edicektir.Bu Şekilde Herşeyini Anlatarak Ders Vericem. Anlamadığınız Biryer Olursa Konu Altına Bildirin.
"Wolfteam Reverse Enginering Vol1" icin 0 yorum: