Anasayfa
UO Sunucular
Forumlar
Profilim
UO-Developer.COM

Multi Client Hazırlamak

UO-Developer.com — Hex Workshop ile client patch, çift client açma

Piyasadaki UO Double, UO Multi gibi programları bilirsiniz; çalışma mantığını merak etmişsinizdir. Bu rehberde olayı saf bir dille, nağme yapmadan anlatıyoruz.

Konu: Ultima Online client hex patch | Seviye: İleri | Client: 2.0.3

İlgili: Multi Client Hazırlamak | Client Dökümanları | Multi Client ve EasyUO


İçindekiler
  • Multi client mantığı
  • Reverse nedir? — kısa assembly notu
  • Gerekli araçlar
  • Hex Workshop adımları
  • Offset özeti
  • RAM ve donanım notu
  • Kontrol listesi

1. Multi Client Mantığı

Assembly bilmiyorsanız teknik detayları atlayıp doğrudan 4. Hex Workshop adımları bölümüne geçebilirsiniz.

Normalde UO client çalıştırıldığında sistemde zaten açık Ultima process var mı diye bakılır. Varsa uyarı verir ve ikinci client açılmaz.

Bizim amacımız bu kontrolü reverse — tersine — çevirmek: Tek process varken bile ikinci client açılabilsin.

Bunu nasıl yapıyoruz? Client exe içindeki ilgili assembly jump komutlarını hex editörle değiştiriyoruz. Orijinal rehberde W32Dasm ile analiz yapılmış; size hazır offset değerleri veriliyor — birkaç byte değiştirmeniz yeterli.


2. Reverse ve jmp — Kısa Not

Assembly makine dilidir; jmp komutu koşullu veya koşulsuz sıçrama yapar — kısaca: zıpla, başka adrese git.

Client patch'inde yaptığımız şey: 74 veya 75 gibi koşullu jump opcode'larını EB — koşulsuz jump — yapmak. Böylece already running kontrolü atlanır.

Örnek — Ferda Tanyeri assembly kitabından sonsuz döngü (kaynak: sourtimes):

debug
-a100
mov ah,2
mov dl,2
int 21
jmp 102
int 20
-g

Multi client için yukarıdaki kodu çalıştırmanız gerekmez; yalnızca jmp mantığını göstermek içindir.


3. Gerekli Araçlar
  • Hex Workshophexworkshop.com — tercih edilen hex editör
  • UO Client 2.0.3 — offset'ler bu sürüme göredir; farklı client sürümünde adresler değişir
  • Client exe yedeği — patch geri alınamazsa orijinalden baştan

Uyarı: Offset'ler 2.0.3 içindir. ML, HS veya başka client'ta aynı adresler çalışmayabilir.


4. Hex Workshop Adımları

Adım 1 — Yedek alın

Client exe dosyasının kopyasını güvenli bir yere alın.

Adım 2 — Client'i açın

Hex Workshop ile 2.0.3 client exe dosyasını açın.

Adım 3 — Birinci patch (offset D5457)

  • Ctrl+G — Go To
  • Beginning of file seçili olsun
  • Hex modunda offset: D5457 — tırnak yok
  • İmleç tahminen C074 gibi bir konuma gelir
  • Oradaki 74 byte'ının üzerine gelin, EB yapın

Adım 4 — İkinci patch (offset D56DD)

  • Tekrar Ctrl+G
  • Beginning of file, offset: D56DD
  • İmleç muhtemelen 0075 civarına gelir
  • Oradaki 75 byte'ını EB yapın

Adım 5 — Kaydet

Dosyayı kaydedin. Patch'lenmiş client ile ikinci instance açmayı deneyin.


5. Offset Özeti

Client 2.0.3 — Hex Workshop, Beginning of file:

  • D545774EB
  • D56DD75EB

Değerler tam ekranınıza göre bir byte kaymış olabilir; 74 / 75 görmüyorsanız çevresindeki koşullu jump byte'larını W32Dasm ile doğrulayın.


6. RAM ve Donanım Notu

Patch doğru olsa bile sistemde yeterli RAM yoksa ikinci client açılmayabilir — buna hex patch ile çözüm yok. Donanım yetersizse hardware forumlarından sistem gereksinimlerine bakın.

Ayrıca bazı shard'larda Guardian veya anti-cheat multi client'ı engelleyebilir — bu rehber yalnızca client exe patch'idir.


7. Özet Kontrol Listesi
  • [ ] Client 2.0.3 exe yedeklendi mi?
  • [ ] Hex Workshop kuruldu mu?
  • [ ] Offset D5457 — 74 → EB yapıldı mı?
  • [ ] Offset D56DD — 75 → EB yapıldı mı?
  • [ ] Dosya kaydedildi mi?
  • [ ] İkinci client açılış test edildi mi?

8. Alternatifler

Hazır program: UO Double, UO Multi vb. — aynı mantığın paketlenmiş hali. Tek dosya ile açma: Multi client tek dosya

UO-Dev SPONSOR

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?

UO-Dev SPONSOR

Henüz yorum yapılmamış. Yorum yazabilmek için giriş yapmanız gerekir.

Üyelerin oylama ortalaması (10 dışında) :

9.00

Oylar: 1 den itibaren 17-01-2013 23:27

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?