Merhaba, Hoşgeldin!

VSRO.org, Silkroad Online, Knight Online, Metin2 ve diğer çevrimiçi oyunlar için öncü bir yardım ve geliştirme platformudur. Misyonumuz, bilgi ve deneyim sahibi bireyleri, bilgiye ihtiyaç duyanlarla bir araya getirerek, zengin bir etkileşim ortamı yaratmak ve farklı bakış açılarını birleştirmektir. Topluluğumuzda güçlü bir işbirliği ve öğrenme kültürü oluşturarak, herkesin değerli katkılarda bulunmasını sağlıyoruz.

vSRO Çözüldü 140cap game server ve silkroad exe

Conqueror

Vsro/Database-Editör
.
Katılım
3 Nis 2019
Mesajlar
1,528
Tepkime puanı
2,519
Puanları
113
Konum
İstanbul
Web sitesi
www.google.com
Türk Lirası
0.00₺
Selamun aleyküm arkadaşlar.
Nette araştırdım fakat istediğimi bulamadım.
Bana aşağıdaki özellikleri olan gameserver ve sro_client.exe lazım.

Level CH 140 + Mastery 560 (4 build)
Level EU 140 + Mastery 280
Party from 140

Bendeki dosyalarıda veriyorum editleyip gönderebilen arkadaşlar olabilir diye. Şimdiden teşekkür ederim.
 

Ekli dosyalar

Oyla 0
Please, Giriş yap or Kayıt ol to view quote content!
Anlattı zaten başka bi konuda alıntı yapayım mesajını onun

ben tekniği gösteriyorum clientini kendin düzenlersin... dll kullanıyorsan ve kaynak kodu varsa yapman çok daha kolay olur ama olly ile manuel şekilde gösteriyorum... şimdi "Form Party" e bastığın zaman pencere açıldığında yazacak max. kısmı olly'de burada: 0x0073FACC
9650492b7427220aee9f08f83df61ae5.png
6E yani 110, default sro_client'te burası böyle. cap değiştirmek için yapman gereken burayı editlemek, 6E yi istediğin cap yaparsın olur biter. Ama burası kodda signed byte olarak yazılmış yani burayı max 127 yapabilirsin. 127'den sonra yazdığın değerler negatife döner. çünkü signed byte -128'ten 127'ye kadar olabilir. O yüzden codecave yapmamız gerekiyor. Kısaca kodun çalıştırılması buraya geldiğinde başka bir yere zıplayacağız, istediğimiz cap'i integer olarak yazacağız. Tabi bu işlemden sonra kodun çalışma işleyişini bozmamamız için ilk baştaki yere geri dönmemiz lazım. Codecave kısaca buna deniyor. Bir diğer problem de codecave'i başlatabilmemiz için (başka bir yere zıplayabilmemiz için) en az 5 byte yere ihtiyacımız var, çünkü jmp opcode'u 1 byte (0xE9), yanına yazacağımız adres de 4 byte. O yüzden 5 byte yere ihtiyacımız var. Bizim codecave yapmak istediğimiz yer ise sadece 2 byte. PUSH 6E, byte karşılığı 6A 6E. O sebeple alttaki push komutunu da alacağız ve gittiğimiz yerde yapacağız onu da. Şimdi sro_clientta boş bir yer bul, oyuna girip attach yaptıktan sonra bulursan daha iyi olur. Boş yerden kastım şu:
cccde827cce4c43cce0a229d07f5afe2.png
ben bu örnekte codecave'imi 0x00D7F260'a yaptım. Şimdi gittiğin yerde sağ tık, assemble yap, keep size'ı kaldır. Ve öncelikle istediğimiz cap'i yazacağız. Yani 140 cap diyelim, PUSH 8C. Yazdık, olly bize şöyle bir satır yaptı:
Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
ardından 5 byte zorunluluğu yüzünden yalan ettiğimiz satırı alıp burada yapıyoruz. yani PUSH OFFSET 00E18B1C. parti max level için yapılması gerekenler tamam, şimdi kodun işleyişine geri dönelim. codecave'e girmek için PUSH 6E satırını seçmiştik. ve alttakini de almıştık. şimdi ondan sonraki ilk komuta geri dönmemiz gerekiyor, yani bu durumda 0x0073FAD3 adresindeki CALL 00653950. codecaveimize geri dönüp, bir jmp komutu ekliyoruz buraya geri dönmek için. Yani codecave son olarak böyle gözüküyor:
ca8a51c0dbaa0929395c2fea0e19a06b.png
codecavein içi ve çıkışıyla işimiz bitti. Tek kalan codecave'e girişimiz. orjinal kodun işlendiği yere gidiyoruz. Codecave'e girmek için 0073FACC'teki PUSH 6E yi seçmiştik. Şimdi buraya bir jmp yapacağız ve codecaveimize yönlendireceğiz. benim codecave 0x00D7F260'ta başlıyordu, oraya zıplayacağız. Codecave'e girebilmek için 5byte zorunluluğumuz vardı. Biz bu yüzden push komutunun altındaki push offseti de aldık. PUSH 6E, 2 byte idi, yani bize 3extra byte lazımdı. Ama alttaki komut 5byte idi. Yani 2 fazladan aldık, ama bu durum normal, yani 2 tane NOPumuz olacak. Şimdi codecave e gireceğimiz yerdeki 2 satırı seçiyoruz:
b25bb6f87c8fd3cbc84d08d8a1f4849c.png
sağ tık > assemble dedikten sonra (keep size işaretli olacak ki işleyişi noplar kendi gelsin, işleyiş bozulmasın) codecaveimiz için jump ekliyoruz: JMP 00D7F260. sonuç bu oldu:
3b04e0f4a997e0a143b1274aad77eee1.png
kodun işleyişi bu noktaya geldiğinde, bizim yazdığımız koda zıplayacak, capi ve diğer offseti yazacak, ve geri dönecek, bu kadar basit. Sonuç:
1a09408b5e5d2d1dd5377ddd9b68ec6c.gif
tabi bu sadece açtığında yazan değer. eğer manuel değiştirmek istersen elle yine 140 yazamazsın, onun offseti az üstte, 0x0073FAAF. Party matching için başka offsetler de var hangisi tam neye denk geliyor bilmiyorum, bazıları auto match, bazıları anasayfadaki arama kısmı için vs... hepsi için yapılması gerekiyor tek tek. Kolay gele...
 
Oyla 0
Geri
Üst Alt