• Hey
    Ich kenne mich inzwischen gut mit detours,hooken, speicheradressen, lua in c++ und so manche andren tollen sachen aus, die ich mit c++ programmiere.
    Da ich wie immer langeweile hab wollte ich an einem kleinen Automaton rumbasteln ich bekomm die Pakete 0 probleme. ich kann sie absenden auch kein Problem.
    Mein Problem ist nur wie kann ich ein packet so erstellen das es z.B. Eine Message in den Chat schreibt.Ich schon ein bisschen was von Packeten gehört aber kenn mich gar nicht so recht mit ihnen aus. Es gibt bei Flyff eine Packet strukture die hab ich mir angeschaut aber die hilft mir da leider auch nicht arg viel weiter :D

    mfg Xenox3

  • [FONT="Trebuchet MS"][COLOR="LemonChiffon"][SIZE="2"]Nein, kann man nicht!
    Sorry für OT
    [/SIZE][/COLOR][/FONT]

    [CENTER]

    [/CENTER]

  • [COLOR="SeaGreen"]Nein, man kann sich keine LGs durch packets cheaten
    Zu deiner Frage Xenox3, einfach mal sniffen.
    Erstell dir 4-5 Chars, logg dich ein, sniff die packets während du einen Text spammst (Die packets die gleich sind, benutzt du)
    Dann machste das selbe mit einem anderen Char (Selber text), dann suchst du die Unbterschiede in den Packets.
    Dadurch findest du den Namen/MoverID etc raus.
    Probieren macht immernoch am meisten Spaß ;)[/COLOR]

    PS : Ich hab mich nie mit GameHackin / FlyFF Hacking beschäftigt, sondern nur ab und zu mal
    bisschen an Sachen rumgespielt aber nie ernsthaft drangesetzt...

  • Du musst, wie Psychotik sagte, mehrere Packets sniffen, um sicherzugehen, dass du die richtigen hast. Dann schaust du dir die Packetheader an (Frag mich nicht, ich bin kein Fachmensch xD). Danach kommen weitere Packets, die dann z.B. die Nachricht enthalten.

    [RIGHT][SIZE=1]
    It'll take QQ to a whole new level.[/SIZE]
    [mad][/mad]
    [/RIGHT]

  • generelle Packetstruktur:

  • omg TY :D genau das war mein problem wie ich die id raus bekomme

    Anfang ????? Länge ?????? Kp ist immer so LängeData ????? Data

    [5e] [2b 8a 32 93] [0f 00 00 00] [04 e6 68 ce] [ff ff ff ff 00 00 ff 00] [03] [00 00 00] [68 69 31]
    [5e] [4e ed 8e 2b] [0e 00 00 00] [20 25 23 e7] [ff ff ff ff 00 00 ff 00] [02] [00 00 00] [68 69]
    [5e] [b5 5a 2a 14] [14 00 00 00] [8e a5 71 4e] [ff ff ff ff 00 00 ff 00] [08] [00 00 00] [2f 73 20 68 69 31 32 33]
    [5e] [ab 6c 65 28] [0e 00 00 00] [c5 a4 c8 e4] [ff ff ff ff 00 00 ff 00] [02] [00 00 00] [68 69]

    wie man die 2 hashs raus bekommt ist das einzige problem die ändern sich andauernd-.-

  • Zitat von Xenox3;76250

    omg TY :D genau das war mein problem wie ich die id raus bekomme

    Anfang ????? Länge ?????? Kp ist immer so LängeData ????? Data

    [5e] [2b 8a 32 93] [0f 00 00 00] [04 e6 68 ce] [ff ff ff ff 00 00 ff 00] [03] [00 00 00] [68 69 31]
    [5e] [4e ed 8e 2b] [0e 00 00 00] [20 25 23 e7] [ff ff ff ff 00 00 ff 00] [02] [00 00 00] [68 69]
    [5e] [b5 5a 2a 14] [14 00 00 00] [8e a5 71 4e] [ff ff ff ff 00 00 ff 00] [08] [00 00 00] [2f 73 20 68 69 31 32 33]
    [5e] [ab 6c 65 28] [0e 00 00 00] [c5 a4 c8 e4] [ff ff ff ff 00 00 ff 00] [02] [00 00 00] [68 69]

    wie man die 2 hashs raus bekommt ist das einzige problem die ändern sich andauernd-.-

    Wir splitten eins deiner packete mal komplett auf:

    Code
    [5e] --> Header
    [2b 8a 32 93] --> Data Length Checksum
    [0f 00 00 00] --> Data Length
    [04 e6 68 ce] --> Data Checksum
    [ff ff ff ff 00 00 ff 00 03 00 00 00 68 69 31] --> Data

    [COLOR="Red"]Data Length Checksum (HASH NR1)[/COLOR]: Wir inverten ( xor 0xffffffff ) den CRC-32-IEEE_802.3 Hash der Data Länge ( die in diesem fall 15 beträgt ( siehe Data Length ) ) und xorn diesen mit der SessionID ( welche dem Client mittels des ersten Packets mitgeteilt wird. Sie setzt sich dort aus den bytes 10 - 13 zusammen )

    [COLOR="Red"]Data Length[/COLOR]: Little endian der byte anzahl der data ( ff ff ff ff 00 00 ff 00 03 00 00 00 68 69 31 )

    [COLOR="Red"]Data Checksum (HASH NR2)[/COLOR]: siehe Data Length Checksum. Replace jedoch die Data Länge mit der Data ( ff ff ff ff 00 00 ff 00 03 00 00 00 68 69 31 )


    Edit:

    Vielleicht helfen dir einer dieser beiden source codes den zusammenhang zu verstehen ( leider kann ich nicht so gut c++):

  • [FONT="Comic Sans MS"][COLOR="Green"][SIZE="2"]Sehr schön erklärt.[/SIZE][/COLOR][/FONT]

  • Hallo,
    Ich hab dazu mal ne Frage,
    Als ich mich eingeloggt hab hat der Flyff-Server mir folgendes Paket geschickt:

    Code
    [5e] [08 00 00 00] [00 00 00 00] [d1 c5 d7 19]


    ich hab angenommen dass [d1 c5 d7 19] also die Session ID ist (oder?).
    Dann hat mein Client dem Flyffserver meine Zugangsdaten geschickt.
    Darauf hat der Flyffserver mir wieder die Infos wie z.B. Chardaten und Realmdaten(also die versch Server z.b. Augu + ip und so) geschickt.Danach
    schickt er mit ein Paket
    Es sieht folgend aus:

    Wo liegt hier der Fehler ? Ist die ID-Falsch ?
    Hoffe auf Hilfe.
    MFG Funjoker^^

  • berrechnung der sessionid:
    [FONT="Courier New"][d1 c5 d7 19] ---[reverse]---> [19 d7 c5 d1] ---[dec]---> 433571281[/FONT]

    Berechnung der Data Length Checksum:
    [FONT="Courier New"]( CRC32-IEEE-802.3 ( BitConverter.GetBytes(4) ) xor 0xffffffff ) xor 433571281
    Das Ergebnis noch in Hex umwandeln und dann reversen ([01 02 03 04] -> [04 03 02 01])
    (Bei mir gibt die crc32 funktion eine dezimal Zahl wieder anstatt einer hexadecimal Zahl)[/FONT]

    Dein fehler: Du darfst nicht die länge mit 0xffffffff xor'n sondern musst diese erst mit der crc32 funktion hashen. Der errechnete Hash wird anschließend mit 0xffffffff (= -1) gexor'd

  • I don't get it

    also nochmal langsam:
    Ich habe ( CRC32-IEEE-802.3 ( 4 ) xor 0xffffffff ) xor 433571281 d.h. also erstes CRC32-IEEE-802.3 ( 4 ) xor 0xffffffff des ist 0x00000004 xor 0xffffffff = 0xfffffffb (oder?) und jetzt 433571281 mit 0xfffffffb (oder?). Deshab ich immer über Bits gemacht (geht des anders? ich progge eigg in java und da mach ich des Bitweise (also mach die beide zu Binärzahlen und dann ganz einfach xor pro bit)) und habs nochmal mit dem Calculator Calculator - Free Online Javascript Calculator gemacht. da kommt bei mir [16 28 3a 2a] raus des jetzt noch reversen [2a 3a 28 16]. Des passt immernoch nicht^^
    Ich bin viel zu doof xD
    mfg funjoker^^

  • [FONT="Courier New"]CRC32 ( BitConverter.GetBytes(4) ) --> 1373222836
    1373222836 Xor 433571281 --> 1208906341
    1208906341 ---[Hex]---> 480e7265 ---[reverse]---> 65720e48[/FONT]

    Welche CRC32 Funktion benutzt du? (ich hab hier mal das xor 0xffffffff weggelassen das dies schon in meiner crc32 funktion getan wird.

    Edit: Sorry ich hatte die Funktion [FONT="Courier New"]BitConverter.GetBytes()[/FONT] vergessen einzubauen aber eigentlich muss bei deiner CRC32 funktion dabei stehen wie man die benutzt ( Das ist auf die bezogen die ich benutzte .. siehe source code ). [FONT="Courier New"]BitConverter.GetBytes(4) --> {4 & 255, 4 >> 8 & 255, 4 >> 16 & 255, 4 >> 24 & 255}[/FONT]

  • Ich bins nochmal :D ich hab noch ein kleines problem mit dem session id packet. Ich bekomme es einfach nicht^^. Welchen Port benutzt es den 2300,2800 oder 15400)?
    Das erste packet mit 5e ist bei mir das packet mit meinem pw und id

  • also ich bekomm schon 5 packete ohne ihrgendein pw oder id einzugeben

    00 1a 4f d1 f0 3b 00 b0 8c 02 ec 49 08 00 45 00 ..O..;.....I..E.
    00 34 2d 64 40 00 80 06 bd 0c c0 a8 02 65 c3 3b .4-d@........e.;
    8a 0a c1 67 59 d8 e2 a9 25 e5 00 00 00 00 80 02 ...gY...%.......
    20 00 1a ee 00 00 02 04 05 b4 01 03 03 08 01 01 ...............
    04 02
    ..

    Das ist das erste 0.o komisch komisch komisch ich sehe zwar 5e und 80 und die 00 aber net so viele 00 und es ist auch entweder eine lange id oder ich weiß nicht genau was die id ist :D

  • das schaut mir wenig nach einem flyff packet aus, da diese immer mit 5e anfangen .. egal ob das packet vom server kommt oder vom client und in diesem packet ist nirgends ein 5e. Haste teamviewer oder irgnedwas in dieser richtung? .. dann kann ich ma drüber gucken.

    Wo bitteschön siehst du da ein 5e?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!