Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Kal Online
You last visited: Today at 08:46

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

Advertisement



PlayerStruct...

Discussion on PlayerStruct... within the Kal Online forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2009
Posts: 172
Received Thanks: 70
Arrow PlayerStruct...

Hallo, liebe Community.

Ich hab' eine Frage. Ein Bekannter von mir hätte gern' ein niedliches Programm. Dazu benötige ich aber (wie Syntex sagte) die PlayerStruct von KalOnline. Ich habe mit Bloodx probiert, an diese PlayerStruct zu kommen. Jedoch sind wir gescheitert. Bloodx hat für mich - mit einer UCE - die Offsets für das eigene Level und die Koordinaten gesucht. Jedoch sind die Ergebnisse unbrauchbar. Wieso? Wie 5andr0 zu mir sagte: "Runtime Variablen". Ich suche allerdings den "fixen" Offset für die PlayerStruct. Und die finde ich nicht. Ich habe sämtliche Tutorials gesucht und einige gelesen. Jedoch waren die meißten auf "Counter-Strike" oder "World of Warcraft" bezogen. Natürlich habe ich auch Google.de gefragt, ob's da Snippets für KalOnline gibt. Ich habe auch das Posting von Syntex gelesen (4Stories oder so). Da meine Kenntnisse in Bezug auf ASM sehr beschränkt sind, bitte ich um Hilfe.

Liebe Grüße,
hijax.

EDIT:
Vielleicht könnte wer von euch nach den Offsets für die eigenen Koordinaten bzw. das eigene Level suchen und posten.

xUsername is offline  
Old 03/02/2009, 21:18   #2
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
hm playerstruct is doch pointer +offset = x y z und hp undso??, ah misst habe die offsets für x y z aus source gelöscht ;s
meak1 is offline  
Old 03/02/2009, 22:49   #3
 
elite*gold: 0
Join Date: Sep 2007
Posts: 56
Received Thanks: 21
Also wenn es Dir nur darum geht die DMA (Dynamic Memory Address) in eine SMA (Static Memory Address) umzuwandeln, solltest du mal nach Trainer googeln.
Auch wenn es nur Counterstrike tuts sind oder ähnliches, das Prinzip bleibt ja das gleiche. (Glaube es war irgendwie so: Pointer finden und mit einem Debugger Breakpoints setzen um die Offsets zu bekommen, dann die Werte am Offset speichern... ka weiss nicht mehr genau :P ). TSearch ist für sowas echt cool, aber leider auf int detected...

Alternativ kann man sich auch alle benötigten Daten die man für so ein struct bräuchte auch via Packets holen.

Wenn du weisst was du und wie du es tust, ist die Packet variante schneller (denke ich).
--- is offline  
Old 03/02/2009, 23:38   #4
 
elite*gold: 0
Join Date: Oct 2007
Posts: 474
Received Thanks: 159
Quote:
Originally Posted by --- View Post
Also wenn es Dir nur darum geht die DMA (Dynamic Memory Address) in eine SMA (Static Memory Address) umzuwandeln, solltest du mal nach Trainer googeln.
Auch wenn es nur Counterstrike tuts sind oder ähnliches, das Prinzip bleibt ja das gleiche. (Glaube es war irgendwie so: Pointer finden und mit einem Debugger Breakpoints setzen um die Offsets zu bekommen, dann die Werte am Offset speichern... ka weiss nicht mehr genau :P ). TSearch ist für sowas echt cool, aber leider auf int detected...

Alternativ kann man sich auch alle benötigten Daten die man für so ein struct bräuchte auch via Packets holen.

Wenn du weisst was du und wie du es tust, ist die Packet variante schneller (denke ich).
ui :O haben wir da ein neues Köpfchen entdeckt? ich hoffs mal wäre toll mal wieder was neues zu lernen / erfahren ... ich bekomm ja selbst iwie nicht viel auf die reihe ^.^
hello123456 is offline  
Old 03/03/2009, 07:24   #5
 
elite*gold: 0
Join Date: Feb 2009
Posts: 172
Received Thanks: 70
Quote:
Originally Posted by meak1 View Post
hm playerstruct is doch pointer +offset = x y z und hp undso??, ah misst habe die offsets für x y z aus source gelöscht ;s
Das hatte ich auch schon erlesen. Aber dennoch: Danke für deine Hilfe.

Doch nicht so ein schlechter Kerl.

Quote:
Originally Posted by --- View Post
Also wenn es Dir nur darum geht die DMA (Dynamic Memory Address) in eine SMA (Static Memory Address) umzuwandeln, solltest du mal nach Trainer googeln.
Auch wenn es nur Counterstrike tuts sind oder ähnliches, das Prinzip bleibt ja das gleiche. (Glaube es war irgendwie so: Pointer finden und mit einem Debugger Breakpoints setzen um die Offsets zu bekommen, dann die Werte am Offset speichern... ka weiss nicht mehr genau :P ). TSearch ist für sowas echt cool, aber leider auf int detected...

Alternativ kann man sich auch alle benötigten Daten die man für so ein struct bräuchte auch via Packets holen.

Wenn du weisst was du und wie du es tust, ist die Packet variante schneller (denke ich).
Das stimmt schon, dass vielleicht alles das Gleiche wäre. Jedoch werden in diesen Tutorials die "Offsets" schon direkt angegeben und nicht gezeigt, wie ich diese Finde. Da ich Allgemein Probleme habe, mit irgendwelche UCEs, RAM Cheater, Memory Hacker usw. Kal zum laufen zu bringen... Nicht einmal Kal ohne "Loader" direkt mit Debugger starten geht nicht. Ich find's mysteriös. Denn anscheint geht's bei den meißten. RootKit: Geht nicht. "Stealther", geht nicht. Und direkt den Source von 'ner UCE nehmen -> verändern -> kompilieren... darauf habe ich nicht wirklich einen Nerv. Naja, damit hätte ich deine "Debugger Info" - an meinem Rechner - kaputt gemacht.

Deine Packet Variante habe ich noch nicht probiert. Da bisher alle meine alten Accounts und die eines Bekannte geblockt wurden. Und ich weiß nicht, was der Grund ist. Ob ich jetzt nun die Packets abfange und dann geblockt werde... keine Ahnung.

Auch wenn die Packet Variante schneller ist: Die PlayerStruct Variante ist "sauberer". Dennoch werd' ich weiter probieren.

Danke.
xUsername is offline  
Old 03/03/2009, 15:03   #6
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
joa hatte auch die playerstruct für x y z rausgesucht gehabt für bot aber da es mit packets geht ist es besser denke ich weil du nie den pointer dann suchen brauchst ;s was willst mit der eig. ?
meak1 is offline  
Old 03/03/2009, 18:02   #7
 
elite*gold: 0
Join Date: Sep 2007
Posts: 56
Received Thanks: 21
Ich Denke wie meak1:
Packets ist vermutlich sauberer und die werden sich nicht so schnell ändern...
--- is offline  
Old 03/03/2009, 18:19   #8
 
elite*gold: 0
Join Date: Feb 2009
Posts: 172
Received Thanks: 70
Naja, sauberer ist ein PacketParser nicht, würde ich sagen. Besser wäre es, eine "eigene" Struct auf die PlayerStruct zu packen. Somit könnte ich mit PlayerStruct.Level (Bsp.) zugreifen.

Aber Packets:
if(Packet[2] == 0x??) { }
... ist meiner Meinung nach unsauber.

Dann würde ich doch lieber Structs auf Packets packen. Wäre in dieser Hinsicht auch die schnellere Variante - anstatt sich Stundenlang mit der Suche der PlayerStruct zu beschäftigen.
xUsername is offline  
Old 03/03/2009, 18:23   #9
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
hm aber der vorteil nie playerstruct pointer suchen
meak1 is offline  
Old 03/03/2009, 18:26   #10
 
elite*gold: 0
Join Date: Feb 2009
Posts: 172
Received Thanks: 70
Das stimmt schon. Aber ob ich jetzt nun die "neuen" Offsets für Recv() bzw. Send() suche... oder EINEN Offset für die PlayerStruct?!

xUsername is offline  
Old 03/03/2009, 18:46   #11
 
MeUndercover's Avatar
 
elite*gold: 20
Join Date: Jun 2008
Posts: 569
Received Thanks: 57
Beste wäre wenn du die größe der Playerstruct zur Laufzeit ermittelst und dein Prog. im Anschluss an diversen Merkmalen, mit entsprechendem Offset, den Adressbereich herauszufinden versucht.
Die Suche kann entweder lokal bzw. mithilfe von Packets kombiniert erfolgen und sollte immer die Differenz der Adressen der gefundenen Ergebnisse berücksichtigen.

Gruß MeUndercover
MeUndercover is offline  
Old 03/03/2009, 18:47   #12
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
ja bis jez sind die noch nie aufm int gechanged ;s nur aufm p server
meak1 is offline  
Old 03/04/2009, 23:49   #13
 
elite*gold: 0
Join Date: Sep 2007
Posts: 56
Received Thanks: 21
Jup, Packets rocken mehr


Quote:
Originally Posted by hijax View Post
Das stimmt schon. Aber ob ich jetzt nun die "neuen" Offsets für Recv() bzw. Send() suche... oder EINEN Offset für die PlayerStruct?!

In Kal gibt es nur ein (Socket) Recv() => eine fkt hooken und rest selber verarbeiten...
(Falls du die nicht finden solltest:
Man kann alternativ auch direkt an der Decrypt funktion detouren, sodass du immer alles bekommst, was decryptet wird)

Bei Send gibt es zwar verschiedene stellen, aber du brauchst ja nur ein Send, was du immer ausnutzt (notfalls encrypten selber machen mit dem Baka code
=> eine fkt hooken/detouren.

Also bräuchtest du im Endeffekt nur zwei funktionen Hooken bzw. Detouren und kannst alles machen.

Bis du alle DMA gefunden und umgewandelt hast, vergeht sicher mehr Zeit.

Die Packets werden sich vermutlich in nächster Zeit nicht ändern.
Die SMA könnten sich mit update des Clienten, nach der Maintance verändern/verschieben...
=> Wenn man keine Fingerprint suche oder ähnliches einbaut, darf man vermutlich jede Woche die Adressen neu suchen :/

Mit Packets wirst du also auf dauer auch weniger Zeit investieren müssen.
--- is offline  
Old 03/05/2009, 08:17   #14
 
meak1's Avatar
 
elite*gold: 220
Join Date: Jun 2007
Posts: 3,768
Received Thanks: 1,126
er hat ja send und recv bla ;E
meak1 is offline  
Old 03/05/2009, 08:48   #15
 
elite*gold: 0
Join Date: Feb 2009
Posts: 172
Received Thanks: 70
Eigentlich ist das eine super Idee, wenn man direkt Decrypt hooked.

Und Allgemein: Ich geb' immer die Offsets per Hand ein. Weil ich keine Lust habe, Funktionen anderer zu benutzen.

Aber, wie du schon sagtest: Packets sind nicht so zeitaufwendig. Deshalb arbeite ich gerade mit Packets.
xUsername is offline  
Reply




All times are GMT +1. The time now is 08:48.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.