Beiträge von gercreed

    Die Hosts-Datei ist eh nur da für Manipulation der DNS Auflösung, sprich du kannst keine ip-adressen umleiten.
    Kannst du nicht irgendwie per hex editor oder sonst irgendwie den Flyff client direkt auf die andere IP umleiten?
    Sonst hilft nur WSA-Hook.


    MfG

    Das Stimmt soweit, die ersten 3 Params bilden den Header, also Länge + Opcode + Security Bytes, und dann halt der PacketInhalt.


    Security Bytes:


    ToServer & Decrypted = 0100
    ToClient & Decrypted = 0200
    ToServer & Encrypted = 0300
    ToClient & Encrypted = 0400


    MfG

    Am Besten schaust du dir mal den kbot als bot oder den ktor als proxy von keinplan an.
    Auch gut ist die SilkroadSecurity Klasse in c# von Drew Benton.
    Da kannst du dir die Empfangsklassen und so anschauen , ist auch gut beschrieben.


    MfG

    Nein, es stimmt schon dass packets manchmal nicht ganz ankommen !


    Du liest ja als erstes den Header von einem Packet, da steht ja länge, opcode, und die security bytes drinne.
    Manchmal ist alt der Fall dass die Packet länge 55 beträgt, im Eigangspuffer des Sockets aber nur z.B. 30 bytes vorhanden sind.
    Dann liest du halt die 30 bytes die zu dem packet gehören, speicherst das unvollständige packet ab und checkst im nächsten loop ob die restlichen bytes angekommen sind und fügst das packet dann zusammen !


    MfG

    Ich finde dass Anglizismen die deutsche Sprache sowohl Positiv als auch Negativ beeinflussen können.
    Insofern mit Anglizismen nicht übertrieben wird können sie die Sprache bereichern, falls die Anglizismen in den Vordergrund rücken und die eigene Sprache verdrängen wirkt sich das
    natürlich negativ aus.


    MfG

    Das 30D0 Packet stimmt, Aufbau wie folgt; Zerk speed nicht enthalten da der sich auch nicht wechselt.


    [cs]/*[S -> C][30D0]
    E0 D3 A9 00 object id
    9A 99 19 42 speed walking
    01 00 F0 42 speed running
    */
    public static void parse30D0(BinaryReader br)
    {
    uint oid = br.ReadUInt32();
    float sw = br.ReadSingle();
    float sr = br.ReadSingle();[/cs]


    MfG

    Was meint ihr wie lange es dauert bis der erste Emulator für so ein Game auf dem Markt ist ?
    Jetzt ist der Grundstein gesetzt für ein richtiges MMORPG auf dem iOS und dann wird es bestimmt ähnlich wie auf dem PC ablaufen wenn die Spielergemeinde groß genug ist.

    Mist, ich sehe gerade, dass hinter dem Packet Auto-Parse noch "new SRO only" steht, also fällt das für die alten Versionen wir zszc und sowas flach.
    Bei rsro, csro, isro etc. funkt der Analyzer eiwnandfrei, aber da sind die Packets auch unterschiedlich aufgebaut, also wird dir das wenig nutzen.


    MfG

    Ich habe gesagt, dass Java bei weitem nicht besser ist als AutoIt


    Wenn du sagst, dass etwas bei weitem nicht besser ist, verstehe ich das aber so, dass etwas auch nicht in 10000 jahren besser sein wird.


    @ToPic


    C++ > dot.net > java > AutoIt


    Diese Aussage ist pauschal falsch. Es kann mir keiner sagen, dass C++ besser als die dotnet sprachen ist.
    C++ mag zwar schneller sein, da unmanaged, man kann auch näher an der Hardware prorgammieren und hat insgesamt ein wenig mehr Möglichkeiten, aber wenn man sich mal die Produktivität anschaut, ist C++ der große Verlierer, und zwar mit Abstand.
    Es kommt immer auf das Einsatzgebiet an, wenn du später im Beruf als Programmierer nur C++ kannst, wirst du warscheinlich keinen Job bekommen. Heutzutage muss man flexibel sein, man muss wissen mit welcher Sprache man am Effektivsten zum Ziel kommen kann.


    MfG

    Ich weiß nicht wie du deine Zahlen in Hex-Werte umwandelst, aber wenn ich 100.224 in Hex-Schreibweise umwandle kommt bei mir genauso wie im Packet
    80-87-01-00 raus. Du hast warscheinlich die ganz normale Hex() oder .ToString("X4") funktion genommen, das klappt so nicht.
    Versuchs mal so:
    [cs]Dim barr As Byte() = BitConverter.GetBytes(100224)
    Dim str As String = BitConverter.ToString(barr).Replace("-", "")[/cs]


    Ich kann jetzt auch nicht viel mit dem Packet anfangen weil ich weder weiß, welche Items/Skills/Masteries du geskillt hast, noch ob du irgendwelche Avataritems an hast.


    MfG

    [cs]
    88-07-00-00 character type
    06-00 character name length
    4B-72-61-69-7A-79 character name
    22 volume, also ein mix aus wie dick und wie hoch du ihn gemacht hast
    60 current level
    60 highest level (also das höchste erreichte level, wenn du ihn z.B. downgelevelt hast ist highest lvl höher als current level)
    QWORD exp EC8B990600000000 -> 110.726.124
    DWORD sp leiste wert
    QWORD gold 9A6D270000000000 -> 2.583.962
    DWORD sp 49810100 -> 98633
    WORD ap
    BYTE zerk orbs
    DWORD kp
    DWORD HP C62F0000 -> 12230
    DWORD MP 8E100000 -> 4238
    packet.data.ReadBYTE();//noob icon (byte)
    packet.data.ReadWORD();//daily pk (uint16)
    packet.data.ReadWORD();//pk level (uint16)
    packet.data.ReadDWORD();//murderer level (uint32)
    packet.data.ReadBYTE();//titel
    packet.data.ReadBYTE();//kp
    BYTE inventarsize
    BYTE itemcount
    [/cs]


    So das wär schonmal das wichtigste anhand der item anzahl kannst du dann ne for schleife machen und alles durchgehen, darauf folgen avataritems, dann masteries und dann skills.


    //Edit hab gerade gesehen dass das ein sehr altes Packet ist, normalerweise steht der charname erst gegen Ende des Packets, poste mal in nem spoiler das 3013 Packet so wie es der edxAnalyzer schon zerstückelt hat !
    //Edit2 hab das mal grade anfänglich geparsed, da kommen werte raus die ein bischen verschieden zu deinen Angaben sind, nehme an du hast ein die Werte erst später/früher abgelesen.
    MfG

    Du bist schon richtig, das 0x3013 ist das chardata packet,
    3017 & 3018 & 3019 sind Groupspawn packets, also wenn mobs chars npcs etc spawnen.
    Der Aufbau ist etwas älter, am besten aktivierst du mal beim nächsten Login vom edxLoader den Analyzer, da bekommst du das Paket direkt in seine Einzelteile zerstückelt.


    MfG