pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


Merchant hack/bug.. fixed! %100 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !



Join the forum, it's quick and easy

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Sizleri Neler Bekliyor ?
-Foruma Üye Olarak Yeni Arkadaşlıklar Edineceksiniz.
-İnternette Zaman Geçirecek Bir Alanınız Olucak Ve Eğleneceksiniz.
-PvP Server Tutkunuysanız Pvp Serverlerde Yenilikleri Takip Ediceksiniz.
-Yeni Açılan Serverleri Anında Bulacaksınız .
-Gmlik Adaylığı Koyacaksınız.Serverinizi Tanıtacaksınız.
-Pvp Serverler Hakkında Herşey Bu Forumda Olucak.
-ÜYE OLURSANIZ FORUMDAKİ REKLAMLAR GÖZÜKMEZ
Bunlardan Yararlanmak İçin Sizden Tek İsteyimiz Üye Olmanız Yada Giriş Yapmanız.


Merchant hack/bug.. fixed! %100 30us3s8
Lütfen Foruma FİREFOX İle Giriniz !

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin2

Would you like to react to this message? Create an account in a few clicks or log in to continue.

pvp serverler,pvp server,pvp serverlar,private serverlar,private serverler,private server,metin pvp server

pvpserverler.forumclan.com  Üye sayımız +105.000 / Aramıza Hoşgeldiniz !

    Merchant hack/bug.. fixed! %100

    MayoneZ
    MayoneZ
    Gold Master
    Gold Master


    <b>Mesaj Sayısı</b> Mesaj Sayısı : 2595
    <b>Kayıt tarihi</b> Kayıt tarihi : 06/05/09
    Priest
    Tasarımcı
    BJK

    Merchant hack/bug.. fixed! %100 Empty Merchant hack/bug.. fixed! %100

    Mesaj tarafından MayoneZ Ptsi Ağus. 24, 2009 6:43 pm

    Orjinal Kod Makale
    Alıntı:


    Quite proud of this one, though it's spread out all over the place (used small but safe code-caves, Kekers says I should have used a DLL and BlaDe says I should have used a larger [more likely that it is used and my code will be written over] code-cave.. but I like it!).

    Below is the actual workings of it, but I'll throw it into the Ebenezer/Client Editor once I'm finished fixing the select character DC hack (might as well throw them in together!).

    Kod:
    < CUser::ItemTrade >
    004A5E93 E9 7AA00500 JMP Ebenezer.004FFF12 // jump to our first code cave

    < start of first code-cave >
    004FFF12 80BF 90000000 >CMP BYTE PTR DS:[EDI+90],0 // check if pTable->m_Countable == 0
    004FFF19 ^E9 B61CFDFF JMP Ebenezer.004D1BD4 // (jump to our next code-cave as we ran out of space)

    < next code-cave >
    004D1BD4 ^0F85 C342FDFF JNZ Ebenezer.004D1731 // if pTable->m_Countable != 0 (meaning, it's stackable), jump to our patched over code - we don't need to continue checking, the Merchant hack doesn't deal with stackable items!
    004D1BDA EB 2A JMP SHORT Ebenezer.004D1C06 // (jump to our next code-cave as we ran out of space)

    < next code-cave >
    004D1C06 837D E8 01 CMP DWORD PTR SS:[EBP-18],1 // check if the stack size is 1
    004D1C0A ^E9 46FBFFFF JMP Ebenezer.004D1755 // (jump to our next code-cave as we ran out of space)

    < next code-cave >
    004D1755 ^0F85 9858FDFF JNZ Ebenezer.004A6FF3 // if the stack size != 1, jump to fail_return - this prevents anything from happening with the item!
    004D175B ^EB D4 JMP SHORT Ebenezer.004D1731 // otherwise, continue onto our patched over code

    < last code-cave > // continue on with our patched over code [which is below]
    004D1731 807F 38 14 CMP BYTE PTR DS:[EDI+38],14 // check if pTable->m_Race == 20
    004D1735 ^0F84 B858FDFF JE Ebenezer.004A6FF3 // if it is, it means the item is untradeable so jump to fail_return
    004D173B ^E9 5D47FDFF JMP Ebenezer.004A5E9D // otherwise... jump back to CUser::ItemTrade

    < back to CUser::ItemTrade >
    004A5E9D |. 807D 0B 01 CMP BYTE PTR SS:[EBP+B],1
    Did this yesterday, but it took me a bit to get it tested - was 'playing' a bit of WoW with Kekers while Visual Studio 2008 (and SP1) & SQL Server 2008 were installing, then I had to set all that up.. then ODBC (...why Vista, why...), and finally multi-client it. But yeah, it works (after all of that), and on the first go i r proud to say!

    If you're going to use this to patch it, you'd be best using OllyDBG to jump to each address, hit "assemble" on each line and copy the instruction (though you'll need to remove "Ebenezer." from them all, for the record - Olly puts that in). Don't use a hex editor, unless you work out the file offsets.

    Edit:
    My tabs are all over the place.. oh well
    Az Buçuk Çevirilmişi

    Ancak bunun yerine her yaymak's Quite biri, gurur (küçük ama güvenli kod mağaralar kullanılan Kekers bir DLL ve Blade kullandığınız gerektiğini söylüyor ben daha büyük bir [daha çok bu ve kod kullanılır olasılıkla kullandığınız gerektiğini söylüyor üzerinde yazılı olacak] kod mağara .. ama I like it!).

    Aşağıda bu gerçek çalışma, ama bir kere ben DC kesmek seçin karakter belirleme bitti Ben Ebenezer / Müşteri Editör içine atmak olacak (aynı zamanda birlikte atıyorlar olabilir.)

    Kod:

    004A5E93 E9 7AA00500 JMP Ebenezer.004FFF12 / / atlama ilk kodu mağara için


    004FFF12 80BF 90000000> CMP BYTE PTR DS: [EDI 90], pTable-> m_Countable == 0 eğer 0 / / kontrol
    004FFF19 ^ E9 B61CFDFF JMP Ebenezer.004D1BD4 / / (atlamak sonraki kodunuza-mağara gibi boşluk bitti)


    004D1BD4 ^ 0F85 C342FDFF JNZ Ebenezer.004D1731 / / eğer pTable-> m_Countable bizim kod üzerinde yamalı - biz kontrol devam etmek için, Tüccar kesmek gerekmez için! = 0 bu stackable's (anlam), atla başa gelmez stackable öğeleri!
    004D1BDA EB 2A JMP KISA Ebenezer.004D1C06 / / (atlamak sonraki kodunuza-mağara gibi boşluk bitti)


    004D1C06 837D E8 01 CMP DWORD PTR SS: [ebp push-18], 1 / / kontrol edin boyutunu yığıt 1
    004D1C0A ^ E9 46FBFFFF JMP Ebenezer.004D1755 / / (atlamak sonraki kodunuza-mağara gibi boşluk bitti)


    004D1755 ^ 0F85 9858FDFF JNZ Ebenezer.004A6FF3 / / eğer! = 1, atlamak fail_return - bu öğe ile olmasını engelleyen şey yığın boyutu!
    004D175B ^ EB D4 JMP KISA Ebenezer.004D1731 / / aksi halde, üzerine kod bizim yamalı üzerinden devam

    / / bizim kod üzerinde yamalı [hangi altında devam]
    004D1731 807F 38 14 CMP BYTE PTR DS: [EDI 38], pTable-> m_Race == 20 eğer 14 / / kontrol
    004D1735 ^ 0F84 B858FDFF JE Ebenezer.004A6FF3 eğer o / / bu öğeyi anlamı çok fail_return atlamak untradeable olduğunu
    004D173B ^ E9 5D47FDFF JMP Ebenezer.004A5E9D / / başka ... geri CUser atlamak:: ItemTrade


    004A5E9D |. 807D 0b 01 CMP BYTE PTR SS: [ebp push + B], 1
    Bu dün mi, ama bana test için biraz aldı - 'Kekers süre Visual Studio 2008 (ve SP1 ile WoW biraz oynamaya) ve SQL Server 2008 oldu, sonra bu kadar .. ayarlamak zorunda yükleme edildi sonra ODBC (... neden Vista, neden ve sonuç çok istemci ...),. Ama evet, çalıştığı tüm bu (sonra), ve ilk IR söylemek gurur git!

    Eğer yama bu kullanacağız, en iyi her adres atlamak için, isabet "monte" her satırında OllyDBG kullanarak duyarım ve talimat kopyası (ancak "Ebenezer kaldırmak gerekir." Onlardan tüm kayıt için - Olly koyar olarak) bu. Eğer dosya uzaklıklar çalışmak, bir onaltılık düzenleyici kullanmayın.

      Forum Saati C.tesi Nis. 27, 2024 11:42 am