Register for your free account! | Forgot your password?

You last visited: Today at 00:37

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

Advertisement



Player ID's?

Discussion on Player ID's? within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2008
Posts: 490
Received Thanks: 595
Player ID's?

So well from stumbling on 1 problem.. Solving.. I stumble on the next.
Player ID's or whatever you want to call them.
I mean they make no sense at all whatsoever.
I tried countless things to make some sense out of them but they just dont.

Alright let me explain.. In the attack function theres a push for the skill u use and a push with the person u right click.
The skill is easy to 'mimic' but that darned ID i traced and traced and it just doesnt make any sense.

Well alright so how am I going to solve it? Good question.
I want to keep away from read/write processmemory but i feel like im not gonna have much of a choise.
To solve this problem i can do a 'memory scan' for the players name entered in, I counted the bytes to the ID from the username (they are pretty close to eachother and dont change)
So that would be a solution, a crappy most likely not to fast either.. solution.

If you think you got a better solution feel free to respond.
_fobos_ is offline  
Old 01/19/2009, 13:58   #2
 
unknownone's Avatar
 
elite*gold: 20
Join Date: Jun 2005
Posts: 1,013
Received Thanks: 381
I'm still not sure what the problem is, your post is a bit ambiguous about what you're trying to do...
From what I gather, you're wish to make some kind of function that will grab a player ID, given a player name, yeah?

You shouldn't need scan memory for a particular player id, instead, identify the code that creates or reads/writes to the collection of players that the client keeps. The collection could be anything like a simple array, a vector, list, map, or more complex hashtable. I doub't they use anything further than the C++ STL though. To find the code that accesses the collection, try searching for a known id/name pair to find the location of the current context, and set a memory breakpoint. Then, either introduce a new player to the screen, or remove the existing player and see if the code breaks. Alternatively, you might wanna use TSearch's autohack function which may do some of the work for you.

An alternative solution might be to identify the code that fetches a playerid/name pair from the network, mainly the 0x3f6 packet. Hooking that code can avoid alot of effort because you can maintain your own collection of players. It still has the same problems as any hook though, being version specific. You need to repeat the process every time TQ update the client, unless you're smart enough to program some heuristics that will automate it.

IMO, it would be better to use a network based hook or proxy, because they would only need updating as TQ make changes to the protocol, which only happens after tens of patches, and the changes are usually minor.
unknownone is offline  
Thanks
1 User
Old 01/19/2009, 18:26   #3
 
elite*gold: 0
Join Date: Sep 2008
Posts: 490
Received Thanks: 595
Quote:
Originally Posted by unknownone View Post
I'm still not sure what the problem is, your post is a bit ambiguous about what you're trying to do...
From what I gather, you're wish to make some kind of function that will grab a player ID, given a player name, yeah?

You shouldn't need scan memory for a particular player id, instead, identify the code that creates or reads/writes to the collection of players that the client keeps. The collection could be anything like a simple array, a vector, list, map, or more complex hashtable. I doub't they use anything further than the C++ STL though. To find the code that accesses the collection, try searching for a known id/name pair to find the location of the current context, and set a memory breakpoint. Then, either introduce a new player to the screen, or remove the existing player and see if the code breaks. Alternatively, you might wanna use TSearch's autohack function which may do some of the work for you.

An alternative solution might be to identify the code that fetches a playerid/name pair from the network, mainly the 0x3f6 packet. Hooking that code can avoid alot of effort because you can maintain your own collection of players. It still has the same problems as any hook though, being version specific. You need to repeat the process every time TQ update the client, unless you're smart enough to program some heuristics that will automate it.

IMO, it would be better to use a network based hook or proxy, because they would only need updating as TQ make changes to the protocol, which only happens after tens of patches, and the changes are usually minor.
You're right i want to make some kind of function that identifies the ID with the given name, The name is 48 bytes behind the ID but the location of the ID changes each person except for your own ID that 1 is static for some reason.
I tried to change the code to instead of reading the ID to read the name but to no avail "Wrong Target!".

And I tried to break into it to see where the ID is set but putting a breakpoint is not going to do the trick as other code also accesses that location, But I will try that again.

This is the bigger picture if i for example type in my textbox fobos to stig, it should find the ID because the ID is needed for the attack function theres no other reason i need the ID.
My code then needs to push that ID along with another push for the skill ID and then call the attack function.
I already got the skill done and i call the attack function correctly so im getting somewhere.

Also the ID is set in a call before the call to the attack function.
and after that call EAX holds the ID, now ofcourse i went in the call to see where eax is set wich is a loop, it somehow recognises all ID's that are near you, so if your in a map with 3 other people it will loop 3 times.
Now i thought of a way to do the trick i can call the function in my dll and move the name i entered in the textbox to a free mem location and compare it to the register that will hold the ID + the 48 offset where the name is located, if the name equals the name at that offset my attack function gets called.
In theory that should do it I hope.

(BTW im writing this as i go along with it so i prolly barely make sense lol)


Btw on a side note there's 3 attack functions for magic skills its pretty funny see if i execute my stig with another attack function i just need coordinates, works like a charm bad thing is it skips the "hand movement" so its noticable thats the reason i wont use that 1 but the original.
_fobos_ is offline  
Old 01/19/2009, 20:48   #4
 
hallowendin's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 21
Received Thanks: 48
we...fobos ... hablas español???
hallowendin is offline  
Reply


Similar Threads Similar Threads
[Problem]Player->Player Da wird nichts Angezeigt!!!!!!!!!!!!!
10/02/2010 - Metin2 Private Server - 6 Replies
Hey Leute, In NaviCat wen ich rein gehe und unter Player->Player gehe wird mir nichts Angezeigt überhaupt nichts. Jetzt meine frage wie kann ich das wieder Reparieren ???? Oder besser wie kann ich alle acc die drauf sind wieder ganz schnell Löschen und das dann wieder die Player->Player DB wieder geht ????? Egal wie es klappen könnte pls sagt es mirr ist wichtige gebe auch BIGG THXXX
Wie man einen Player mit Cheat Engine possed▀How to posses any player with CE
09/24/2010 - WoW PServer Exploits, Hacks & Tools - 11 Replies
DEUTSCH: In diesem Tutorial werde ich euch zeigen wie man mit Cheat Engine aus der sicht eines anderen Spielers sehen kann, ohne ein Priester zu sein. Ihr braucht: 1.Cheat Engine 2.Punis Tool Download Danke an H3llf!re
[Request]Seine Player ID finden/finding ur player ID in S4
08/12/2009 - S4 League - 7 Replies
Also Engine und Bypass und alles hab ich ja nun frag ich mich wie man seine ID und gegebenfalls di von andern Spielern findet und pls postet jetz nicht den Cheat Table von zero oder so odern CT es wäre mir am liebsten wie man es genau selber findet.
[REQUEST]Full list NPC ID's ITEMS ID's, MAP ID's for 5095 source
06/03/2009 - CO2 Private Server - 1 Replies
Any have a full list? TY in advanced.



All times are GMT +1. The time now is 00:37.


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.