Selecting a Target [Packets]

11/23/2014 04:05 Daifoku#1
Hey,

I made a raidframe for Sky Tower.. but I'm having difficulties to select a player (I click on a player in my raidframe -> send("select player by ID") ). The Packet (op code 00c6) gets send but nothing happens.

I found two packets. One is a recv packet and the other one a send packet.
When i click on a character, I get a recv packet. But i can not send a recv packet, can I ?
The send packet doesn't seem to work(nothing happens on send). The packet is "c6 00 c3 44 ff ff" where the last four bytes are the monsterID/PlayerID/EidolonID.

any idea ?

----------------------------------------------------------------------------
#packetEditing, #D3D
----------------------------------------------------------------------------

PS:
I just got a few PMs...
Please don't PM me, I am not going to share a tool for sniffing/sending/resending.
We all know what will happen if I will release it ~
+ I am a noob and my code is shitty xD *still learing c++ /D3D/Reversing...*

As soon as i got a "clean base", I am going to release some D3D interfaces with additional options that might come in handy. I won't release anything, that may destroy the game.
11/23/2014 21:11 Omdi#2
Would you provide some samples for the received and sent packets?
I am not familiar with Aura Kingdom's packet structure, though I may be able to help you :)
11/23/2014 23:10 Daifoku#3
sure, thanks for your help :)

I went to Skandia and just logged some packets.
I started logging in Skandia, went to some monsters, selected and killed one.

[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
11/24/2014 00:14 Omdi#4
So the C6 packet only gets sent by clicking on a monster and not a player?

Btw. I am actually able to speak German :p
11/24/2014 00:19 Daifoku#5
Edit:

Da war eine Falschaussage meinerseits.
Beim auswählen eines Spielers werden sehr wohl beide Pakete gesendet:

[Send] [6] [2df6d060]
c6 00 d4 59 f6 05

[Recv] [11] [2df6d468]
d3 01 d4 59 f6 05 00 00 00 00 00


das sind auch die einzigen Pakete, die beim auswählen gesendet/empfangen werden.
Allerdings passiert echt gar nichts, wenn ich das 0x00c6 Paket absende.
Das Paket wird aber definit vom Server akzeptiert, da ich sonst einen disconnect bekommen würden.


Nachtrag:
Wenn ich das Paket manuell sende, bekomme ich vom Server sogar eine Rückmeldung,nämlich das 0x01d3 Paket:

[Recv] [11] [21b13468]
d3 01 d4 59 f6 05 00 00 00 00 00 ...Y.......

Also ich bin grade etwas verwirrt...

edit:
Habe das ganze nun im dual-log getestet.
Wenn ich mit dem zweiten Charakter den ersten Charakter auswähle, sehe ich, nachdem ich das 0x006c Paket gesendet habe, ein Ziel, nämlich genau das, welches ich mit dem Paket auswählen wollte.
Also es geht, allerdings wird es mir visuell nicht angezeigt.

Kann man das irgendwie ändern ? :( Bei einem Bot wäre das völlig egal, da ich die Ziele eh per ID angreife... allerdings will ich den Nutzern ein visuelles zusätzliches Interface bereitstellen, welches ich mittels D3D/DirectX erstelle. Irgendwie blöd, wenn ein Nutzer einen Namen anklickt und diesen dann "visuell nicht im Target hat"

Naja, ich denke das ganze hat sich geklärt und verläuft nun in eine andere Richtung. Ingame-Funktionen wollte ich soweit möglich vermeiden, da ich diese nach einem Update immer wieder überprüfen müsste.Zu viel Arbeit für zu wenig lernprozess ;-)

Ich werde es irgendwie anders lösen müssen
danke für deine Hilfe :)
11/26/2014 15:06 Omdi#6
Du könntest auch manuell via DirectX dein Target markieren.
Die Positionen solltest du ja eigentlich durch das Packet haben :)
11/27/2014 21:48 Daifoku#7
Mh, ich weiß echt nicht, wie du das meinst. kannst du das bitte etwas ausführen ? :)
Soweit ich dich verstehe, soll ich die Funktion, welche zum Markieren der Monster dient, Reversen und manuell aufrufen? oder soll ich mir einfach ein eigenes Zielfenster basteln ? Problem bei letzerem wäre, dass ich dann noch immer keine Skills auf das Ziel per Hotkeys (1,2,3,....etc) anwenden kann ^^

PS: Meine Kenntnisse mit DirectX sind minimal (bringe mir das grad an diesem Raidframe bei ;-) )
11/28/2014 18:33 Omdi#8
Naja, ich meinte das so, dass du einfach manuell ein Viereck über das Monster malen könnest :) Dafür solltest du, wie du selbst schon erwähnt hast, erstmal solide Kenntnisse bezüglich DirectX haben. Das mit den Skills ist echt ärgerlich, da würde ich auch eher die Ingame Funktion suchen und es nicht selbst machen. Wie viel machst du momentan denn mit Packets und wie viel mit aufrufen von Spielfunktionen?
11/28/2014 20:27 Daifoku#9
Momentan arbeite ich nur mit Packets, aber damit komme ich wohl nicht an mein Ziel ^^
Ich weiß wohl, wie man per c++ ingame-funktionen aufrufen kann, allerdings habe ich bisher nur sehr wenige Erfolge beim Reversen gehabt ~ konnte nur ganz simple Funktionen finden und selbst dafür habe ich mehrere Tage gebraucht :D

Die Target Funktion konnte ich nicht finden. Ich weiß ehrlich gesagt auch gar nicht, wie ich bei sowas anfange.
Ich hatte einfach mal die Stelle im Speicher gesucht, an der die TargetID steht, sofern man ein Target hat. Habe dann einen "Memory on Write" Breakpoint in olly gesetzt und gelangte dann eben zu einer Funktion, welche die TargetID setzt.

Wie es da weiter geht, keine Ahnung :D habe vieles Probiert aber ohne Erfolg.
11/29/2014 13:02 Omdi#10
Schau mal ob du irgendwie mit suchen nach Strings wie "Target" oder so weiter kommst.
Wäre erstmal die einfachste Variante :D