IDA functions [Spaghettikacke]

02/05/2013 19:35 Kosic#1
Hey Leute,
Wollte gerade von Shaiya die "Springen"-Funktion suchen, ( Also die Funktion, welche aufgerufen wird, wenn man Space drückt )(Ich denke mal es ist ne Funktion, weil was sonst?!) als ich sah das ich nur Spaghettikacke geliefet bekomme. Siehe:
[Only registered and activated users can see links. Click Here To Register...]
Was kann ich tun um die Funktion zu finden?

Warum will ich sie finden?
Weil ich sie Detourn will und somit einen Superjump"hack" machen will.

Würd mich freuen wenn ihr mir weiter helft und/oder Tipps gebt.

Mfg,
Kosic
02/05/2013 20:18 Requi#2
Ich denke, dass es eher ein Packet ist.

Wireshark und WPE können Packets sniffen ;)
02/05/2013 21:29 Kosic#3
Hast du zufällig WPE und kannst es hochladen? Weil meine Version funktioniert nicht.

Mfg,
Kosic
02/05/2013 22:44 Jeoni#4
Das, was IDA dir da liefert ist doch keine 'Spaghettiekacke' :D
IDA sieht doch nur den ASM-Code, wie soll das Programm die Funktionen sonst nennen? Ich finde, dass das schon gut umgesetzt ist, dass man die Adresse des Funktionsanfang gleich auch im Namen der Funktion hat. Wenn man selber etwas herausgefunden hat, kann man die entsprechenden Funktionen ja umbennenen.
Und es muss vermutlich auch ein Abschnitt im Code sein (nicht unbedingt eine ganze Funktion, aber eben doch ein Abschnitt), der das 'Springen' erledigt. Zumindest muss ja bei Druck auf die Leertaste die Spielerposition verändert werden, bzw. ein Sprung-Paket an den Server gesendet werden (je nach Spiel). Vielleicht ist das Sprung-Paket auch nur ein Positionsänderungspaket, welches auch beim normalen Bewegen per WASD gesendet werden würde (nur mit anderen Parametern), das kommt eben auf das Spiel an. Zudem nutzen viele Spiele Paketverschlüsselungen, die du im Paketfall zumindest reversen musst, bevor du einen Superjump realisieren kannst.
Vermutlich nutzt das Spiel DirectInput um zu überprüfen, was der User eingibt... Kann man sich ja mal anschauen ;)

Ich hoffe, ich konnte helfen, auch wenn ich das Spiel nicht kenne :)
Jeoni

P.S.: Solltest du noch Hilfe benötigen, kannst du mir eine PN senden, dann kann ich dir weitmöglichst helfen.
02/05/2013 23:56 Requi#5
[Only registered and activated users can see links. Click Here To Register...]

Hab mal meine Version hochgeladen
Bei mir funktioniert sie :)
02/06/2013 00:13 Kosic#6
#Edit
WPE funktioniert doch. Danke :)
Denke nicht dass das Springen über Packets funktioniert, weil ich finde keine identischen Packtes, nachdem ich paar mal gesprungen bin.
Also ich denke es ist eine Funktion :)
Soo... Wie kann ich nun heraus finden welche Funktion für den "Sprung" zuständig ist?

Mfg,
Kosic
02/06/2013 16:37 meak1#7
Also über das Packet allein wirst du die Sprung höhe nicht verändern können....

In dem Packet steht nur sowas, wie 'Sprung' 1, also 1 für ausführen.
Nicht wie hoch er springt etc. da hast du schon recht und musst die Sprung funktion finden direkt aus deinem Client/Spiel.

Ollydbg > IDA
- Ollydbg ist mehr für runtime debugging(wenn das Spiel gerade läuft/ausgeführt wird)
- IDA wird öfters verwendet um die Exe zu untersuchen/Pseucode erstellen glaube ich E;

aber da du noch keine weiteren Erfahrungen hast, denke ich wirst du diese Function nicht auf anhieb finden können, in Ollydbg kann man nach Strings(wörtern) suchen, manche functionen werden wirklich in einem Spiel 'Springen' 'Laufen' etc genannt

Aber meistens ist es anspruchsvoller ;D

Edit: Wenn ich mich noch erinnern kann, kannst du eh WPE vergessen, da Shaiya Packete verschlüsselt sind ;d
02/06/2013 20:54 Kosic#8
Quote:
Wenn ich mich noch erinnern kann, kannst du eh WPE vergessen, da Shaiya Packete verschlüsselt sind ;d
Ja, du hast recht. Shaiya Packets sind verschlüsselt. D.h kann ich sie vergessen^^

Quote:
aber da du noch keine weiteren Erfahrungen hast, denke ich wirst du diese Function nicht auf anhieb finden können, in Ollydbg kann man nach Strings(wörtern) suchen, manche functionen werden wirklich in einem Spiel 'Springen' 'Laufen' etc genannt
I know. Ich arbeite eigentlich mit Olly, aber wenn ich nach Funktionen suche, nimm ich eigentlich IDA.(Frag mich bitte nicht warum, ich weiß es nicht)