Register for your free account! | Forgot your password?

You last visited: Today at 02:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



fix

Discussion on fix within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old 10/13/2010, 19:41   #16
 
stage66's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
ich kann das spiel aber nicht startetn brauche ja die exe ^^
wer is so lieb und schick sie mir ? wer icq oder skype hat ? pn me bitte bekomtm thx aufjeden fall
stage66 is offline  
Old 10/13/2010, 19:42   #17
 
elite*gold: 577
Join Date: Oct 2009
Posts: 665
Received Thanks: 3,503
Quote:
Originally Posted by ℓσℓ View Post
Dankeschön aber für mich wäre es lieber es selbst zu fixxen.
Code:
void PythonNetworkStream::Initialize()
{
    STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);

    uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);

    DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
    TPacketSafeBoxItemSet packet;
    if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
        return 0;

    metin2_vc_client::packet_item itemData;

    itemData.itemVnum = packet.m_itemVnum;
    itemData.itemCount = packet.m_itemCount;
    memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
    memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);

    // NOOOOO, assembly
    void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(uint32_t, const void*))0x467500;
    const void* safeboxSingleton = *(void **)0x61C370;
    asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
    CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);

    (reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
    return 1;
}
Der alte Code hätte auch funktioniert ...

Kleine Dokumentation:
packet_item ist der Name der struct im Metin2 Client (laut .map)
CPythonNetworkStream ist der Name der MainStream-Klasse im Client (Char- und World-Server)
CNetworkStream ist der Name der allgemeinen Socket-Klasse im Client (diese enthält auch den Encryption/Decryption Code).

Kind Regards Tim
tim66613 is offline  
Thanks
10 Users
Old 10/13/2010, 19:42   #18
 
elite*gold: 255
Join Date: Jan 2010
Posts: 2,067
Received Thanks: 756
nice!
Funktioniert es mit dem Modifiziertem 2010er Client der hier pub is ( von xIvan4ikx)?
mfg
Zander
.Zander is offline  
Old 10/13/2010, 19:42   #19
 
elite*gold: 17
Join Date: Jan 2009
Posts: 2,538
Received Thanks: 2,405
ja nur es geht wirklich habe es damit gepackt und ich kann es danach mit keinem anderen entpacker mehr entpacken und auch wen das cmd fenster aufgeht steht auch das es von Tim66613 ist
Perfection- is offline  
Old 10/13/2010, 19:44   #20
 
elite*gold: 0
Join Date: Sep 2009
Posts: 593
Received Thanks: 155
Quote:
Originally Posted by tim66613 View Post
Code:
void PythonNetworkStream::Initialize()
{
    STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);

    uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);

    DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
    TPacketSafeBoxItemSet packet;
    if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
        return 0;

    metin2_vc_client::packet_item itemData;

    itemData.itemVnum = packet.m_itemVnum;
    itemData.itemCount = packet.m_itemCount;
    memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
    memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);

    // NOOOOO, assembly
    void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(DWORD, const void*))0x467500;
    const void* safeboxSingleton = *(void **)0x61C370;
    asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
    CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);

    (reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
    return 1;
}
Der alte Code hätte auch funktioniert ...

Kind Regards Tim

Könntest du vllt. noch einen Tipp geben bei dem Itemshop-Lager aber das Itemshop-Lager selbst nonpub lassen?
SOD666 is offline  
Old 10/13/2010, 19:46   #21
 
stage66's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
hmm will woll keiner helfen
stage66 is offline  
Old 10/13/2010, 19:47   #22
 
elite*gold: 191
Join Date: Jul 2010
Posts: 497
Received Thanks: 3,475
WTF!

Für was haben wir dan ne Lagertruhe esrstellt -,-

Aber naja. thx<3

fg Afro
#EroX is offline  
Thanks
1 User
Old 10/13/2010, 19:51   #23
 
elite*gold: 20
Join Date: Jun 2009
Posts: 1,090
Received Thanks: 756
Danke tim kann dieses ganze

Verkaufen von exen/programmen/ etc die einem garnicht selbst gehören nicht leiden
Hermes2012 is offline  
Thanks
1 User
Old 10/13/2010, 19:52   #24
 
BL00DSTYL3's Avatar
 
elite*gold: 15
Join Date: Sep 2010
Posts: 580
Received Thanks: 175
danke :P gute Arbeit^^
BL00DSTYL3 is offline  
Old 10/13/2010, 19:52   #25
 
stage66's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 31
hmm also keiner will helfen thx
stage66 is offline  
Old 10/13/2010, 19:53   #26
 
Bayolein's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 2,326
Received Thanks: 807
Quote:
Originally Posted by stage66 View Post
hmm also keiner will helfen thx
Wenn dus noch 10 mal
wiederholst gibts auch
kein besseres Ergebnis
Bayolein is offline  
Old 10/13/2010, 19:53   #27


 
.SpecialZ#'s Avatar
 
elite*gold: 180
Join Date: Dec 2008
Posts: 1,480
Received Thanks: 714
Quote:
Originally Posted by Hermes2012 View Post
Danke tim kann dieses ganze

Verkaufen von exen/programmen/ etc die einem garnicht selbst gehören nicht leiden
Ich denke hier geht´s weniger ums "mögen", sondern eher um den Fakt das es eine art von Diebstahl ist.

Er hat das ganze ding unter Copyright - Wenn du sein Auto stehlen würdest könnte dich exakt die selbe Strafe treffen. Pixel hin oder her.

Greetings !
.SpecialZ# is offline  
Thanks
1 User
Old 10/13/2010, 19:53   #28
 
syηтaχ's Avatar
 
elite*gold: 0
Join Date: Jun 2009
Posts: 486
Received Thanks: 241
Quote:
Originally Posted by tim66613 View Post
Code:
void PythonNetworkStream::Initialize()
{
    STORM_STATIC_ASSERT(sizeof(TPacketSafeBoxItemSet) == 40);

    uint8_t* RecvSafeBoxSetPacketAddr = reinterpret_cast<uint8_t*>(0x41E530);

    DetourClassFunc(RecvSafeBoxSetPacketAddr, reinterpret_cast<const uint8_t*>(&RecvSafeBoxSetPacket_Hook), GetAsmInstrLength(RecvSafeBoxSetPacketAddr, 8));
}
Code:
char __stdcall PythonNetworkStream::RecvSafeBoxSetPacket_Hook(PythonNetworkStream* self)
{
    TPacketSafeBoxItemSet packet;
    if (!self->Recv(&packet, sizeof(TPacketSafeBoxItemSet)))
        return 0;

    metin2_vc_client::packet_item itemData;

    itemData.itemVnum = packet.m_itemVnum;
    itemData.itemCount = packet.m_itemCount;
    memcpy(itemData.itemMetinSockets, packet.m_itemMetinSockets, sizeof(uint32_t) * 3);
    memcpy(itemData.attributes, packet.m_itemAttributes, sizeof(metin2_vc_client::packet_item_attribute) * 7);

    // NOOOOO, assembly
    void (__stdcall* CPythonSafebox__SetItemData)(uint32_t slotIndex, const void* data) = (void (__stdcall* )(uint32_t, const void*))0x467500;
    const void* safeboxSingleton = *(void **)0x61C370;
    asm("movl %0, %%ecx" : : "m" (safeboxSingleton));
    CPythonSafebox__SetItemData(packet.m_itemIndex, &itemData);

    (reinterpret_cast<uint8_t*>(self))[1322] = 1; // Refresh Safebox
    return 1;
}
Der alte Code hätte auch funktioniert ...

Kleine Dokumentation:
packet_item ist der Name der struct im Metin2 Client (laut .map)
CPythonNetworkStream ist der Name der MainStream-Klasse im Client (Char- und World-Server)
CNetworkStream ist der Name der allgemeinen Socket-Klasse im Client (diese enthält auch den Encryption/Decryption Code).

Kind Regards Tim
@ Tim66613

woher haste den Code Auszug würde mich intressieren ^^.

MfG -Eazy-
syηтaχ is offline  
Old 10/13/2010, 19:53   #29
 
elite*gold: 0
Join Date: Oct 2010
Posts: 139
Received Thanks: 164
Ich finds auch mies das andere die arbeit von tim releasen und nicht einmal tim fragen...
bei mia klappts zwar nicht der öffnet fenster nicht glaube weiß auch worans liegt aber naja ^^
Ownii* is offline  
Thanks
1 User
Old 10/13/2010, 19:55   #30
 
Megaload's Avatar
 
elite*gold: 1
Join Date: Jan 2010
Posts: 2,571
Received Thanks: 1,141
Ich kann mich nur bei Tim entschuldigen das ich es versucht habe zu vk aber dann diverse angebote Abgelehnt habe "Einzelnde Personen können selbst befragt werden".

Es tut mir Leid Tim.

Mit freundlichen Grüßen und ein Big Sry
Megaload
Megaload is offline  
Thanks
1 User
Reply

Tags
metin2


Similar Threads Similar Threads
2010 Client
10/04/2010 - Metin2 Private Server - 0 Replies
Hallo ich möchte einen Client sowie Neonblue 4.5 aber nur das es 2010 ist und man auch Pc.eix etc. entpacken kann also keine verschlüsselung hat pls gibt mir mal einen ^^ Und das bei den Bonis dann auch alles genau so steht wie DE halt :D
2010 Client
09/25/2010 - Metin2 Private Server - 1 Replies
Hi Com. Ich wollte mal fragen ob jemand den 2010er Client hat da vieles Entbuggt ist e.t.c finde keinen guten immer i-welche bugs ^^ Thx im vorraus
2010 client???
09/22/2010 - Metin2 Private Server - 6 Replies
hey leute da ich neu bin hab ich ma ne frage was ist besser einem 2010 client und wo bekommt man den her kan ma einer pls einen download link oder so rein stehlen von einem guten client
2010 CLient ?????
09/20/2010 - Metin2 Private Server - 4 Replies
Hey wollt mal fragen ob wer weiß wo es den 2010 Client gibt wo man im Statusfenster alles sieht und die Damageanzeige funktioniert??? weil Finalmt2 hatt so einen z.b. Freu mich schon auf Antworten



All times are GMT +2. The time now is 02:26.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.