Opcode need Help

03/05/2011 23:01 mss29#1
hi

this get data from 3015(OpCode)
Player1
Quote:
B100153002008F390000440000003708FB3200000043330000 001F330000008D330000006733000000AE33000000322A0000 00972C0000020502E78B0000004A5F0000000015FF0D024E6A8D9DA04459DF9F4284661C445A1901014E6A47054F00A1 0201000300000000420000C8420000C84201890F0000B45D03 000C0044656D6F6E5368616954346E00010000000000000C004C6F72644F664A616E67616EDB1300 000000000000000000000000000000012000FF04
15FF0D02 = PlayerID

44656D6F6E5368616954346E = PlayerName

C0 = PlayerNameLenght

variable these data

Player2
Quote:
77070000320000003706410300000089030000006803000000 D403000000AD03000000F5030000000502E48B000000495F00 000000B1B20003 6C6AB3397A43000034435C76AF44603B000100603B01000000 9A999941010070420000C842000C00436865535465524669654C4400010000000000000000000000000000000000000000000000 000000000000FF03
B1B20003 = PlayerID

436865535465524669654C44 = PlayerName

C0 = PlayerNameLenght

How do I find this data in the data not the same length (in C# ,may VB)
03/05/2011 23:11 kevin_owner#2
I would like to help you. but I only understand hi and thanks the rest is just a puzzle for me. Could you try to explain it in a little bit better english. I think that even google translate will give you some better english.
03/05/2011 23:13 Schickl#3
google translator fails...
03/05/2011 23:35 mss29#4
Quote:
Originally Posted by kevin_owner View Post
I would like to help you. but I only understand hi and thanks the rest is just a puzzle for me. Could you try to explain it in a little bit better english. I think that even google translate will give you some better english.
but THİS google translate :(
03/05/2011 23:48 kevin_owner#5
oke well I guess it's just pretty bad at converting your language into english try to find someone which can translate your question into readable english.
03/06/2011 01:05 Kape7#6
Translated: How can I find this data when the packet data doesn't have the same length?
I think that's what he was meaning.
That's the spawnpacket, right?
I won't dare to help you on that mess XD
03/06/2011 01:23 kevin_owner#7
aha oke that clears a lot. well the character data hmm well i still have some hard coded data in it but the parts that i want to work are working but when you use edxSilkroadLoader or winpcap to sniff that packet you might notice that the packet data is 0 well this is just cause it starts with a start loading packet (that's what i call it) so the first 6 bytes of that sniffed packet are just to let the client now that a character packet in coming then you got the chardata packet and then some kind of end loading packet with the character id in it.

if it's about loading it into some kind of structure you might want to split it up into different parts like some kind of struct for the masteries or skills which you create a new object everytime you need to load a mastery perhaps working with a list to store those kind of things.

I hope this helped a little. If this isn't what you wanted to know just try to explain what you mean. btw a tip for google translate try to keep your sentences as short as possible. and don't convert a whole text:)

Edit:
sorry i didn't noticed you changed the first post. well i'm not going to edit my previous post that would be a little to much work. but you might want to try edxSilkroadLoader and use that packet logger cause it already parses the packet for you and just read the whole packet cause there might be something like items between them and if you get something like 6 items in the first player data and 12 in the 2nd player data you can loop through those items to skip them if you know what I mean.
03/06/2011 03:05 Murgen#8
Don't spawn packets change when you move? Now im tempted to go get one and compare
03/06/2011 06:33 Oriya9#9
Code:
B100 ;Pakcet length
1530 ;Opcode (3015)
0200 ;Security bytes (you probably used SrProxy, that's why it is 0x0200)

8F390000 ;PK2 Model
44 ;Size (volume and height)
00 ;Rank
00 ;Icons (no icons)
00 ;Unknown
37 ;Maximum item slots
08 ;Item count
FB320000 ;Item #1
00 ;Plus #1
43330000 ;Item #2
00 ;Plus #2
1F330000 ;Item #3
00 ;Plus #3
8D330000 ;Item #4
00 ;Plus #4
67330000 ;Item #5
00 ;Plus #5
AE330000 ;Item #6
00 ;Plus #6
322A0000 ;Item #7
00 ;Plus #7
972C0000 ;Item #8
02 ;Plus #8
05 ;Maximum avatar slots
02 ;Avatar count
E78B0000 ;Avatar #1
00 ;Plus #1
4A5F0000 ;Avatar #2
00 ;Plus #2
00 ;Duplicate the model/size/item list/etc (0x00 = no duplication, 0x01 = duplication)
15FF0D02 ;Player ID
4E ;Sector X
6A ;Sector Y
8D9DA044 ;X (Float)
59DF9F42 ;Z (Float)
84661C44 ;Y (Float)
5A19 ;Angle
01 ;Destination (0x01 = yes, 0x00 = no)
01 ;Walking flag (0x00 = walking, 0x01 = running)
If Destination = 0x01 Then
	4E ;Destination's Sector X
	6A ;Destination's Sector Y
	4705 ;Destination's X (Word)
	4F00 ;Destination's Z (Word)
	A102 ;Destination's Y (Word)
ElseIf Destination = 0x00
	00 ;No destination
	5A19 ;Angle (again)
End If
01 ;Alive/dead flag (0x01 = alive, 0x02 = dead)
00 ;Unknown
03 ;Movement-type flag (0x00 = standing, 0x02 = walking, 0x03 = running, 0x04 = sitting)
00 ;Berserk flag
00000042 ;Walking speed
0000C842 ;Running speed
0000C842 ;Berserk speed
01 ;Buff count
890F0000 ;Buff #1
B45D0300 ;Buff duration #1
0C00 ;Player name length (in this case, 12)
44656D6F6E5368616954346E ;Player name (in this case, "DemonShaiT4n")
00 ;Unknown
01 ;Job type (0x01 = trader, 0x02 = thief, 0x03 = hunter)
00 ;Job level
00 ;PK flag (0x01 = "pink name", 0x02 = "red name")
00 ;Transport (0x01 = yes, 0x00 = no)
00 ;Unknown
If Transport = 0x01 Then
	00000000 ;Transport's model should be here
End If
00 ;Unknown
00 ;Stall flag (0x00 = no stall, 0x04 = stall)
0C00 ;Guild name length (12)
4C6F72644F664A616E67616E ;("LordOfJangan")
DB130000 ;Guild ID
0000 ;Grant name length
If Grant name length > 0 Then
	;Name here
End If
00000000 ;Guild emblem ID
00000000 ;Union ID
00000000 ;Union emblem ID
01 ;Guildwar flag (0x00 = no war, 0x01 = in war)
20 ;FW role
If Stall flag = 0x04 Then
	0000 ;Stall name length (Word)
	;Stall name here (String)
	00000000 ;Stall's model
End If
00 ;This yellow stripe above players when they enter PvP or wear/unwear job item
FF ;PK flag (different PK flag.. 0xFF = off, 0x01 = Capture the Flag, 0x02 = on)
04 ;Unknown
That was the first one, just parse the second one the same way:
Code:
77070000
32
00
00
00
37
06
41030000
00
89030000
00
68030000
00
D403000000AD03000000F5030000000502E48B000000495F00000000B1B200036C6AB3397A43000034435C76AF44603B000100603B010000009A999941010070420000C842000C00436865535465524669654C4400010000000000000000000000000000000000000000000000000000000000FF03
And so on... :)
03/06/2011 09:07 mss29#10
Quote:
Originally Posted by Oriya9 View Post
Code:
B100 ;Pakcet length
1530 ;Opcode (3015)
0200 ;Security bytes (you probably used SrProxy, that's why it is 0x0200)

8F390000 ;PK2 Model
44 ;Size (volume and height)
00 ;Rank
00 ;Icons (no icons)
00 ;Unknown
37 ;Maximum item slots
08 ;Item count
FB320000 ;Item #1
00 ;Plus #1
43330000 ;Item #2
00 ;Plus #2
1F330000 ;Item #3
00 ;Plus #3
8D330000 ;Item #4
00 ;Plus #4
67330000 ;Item #5
00 ;Plus #5
AE330000 ;Item #6
00 ;Plus #6
322A0000 ;Item #7
00 ;Plus #7
972C0000 ;Item #8
02 ;Plus #8
05 ;Maximum avatar slots
02 ;Avatar count
E78B0000 ;Avatar #1
00 ;Plus #1
4A5F0000 ;Avatar #2
00 ;Plus #2
00 ;Duplicate the model/size/item list/etc (0x00 = no duplication, 0x01 = duplication)
15FF0D02 ;Player ID
4E ;Sector X
6A ;Sector Y
8D9DA044 ;X (Float)
59DF9F42 ;Z (Float)
84661C44 ;Y (Float)
5A19 ;Angle
01 ;Destination (0x01 = yes, 0x00 = no)
01 ;Walking flag (0x00 = walking, 0x01 = running)
If Destination = 0x01 Then
	4E ;Destination's Sector X
	6A ;Destination's Sector Y
	4705 ;Destination's X (Word)
	4F00 ;Destination's Z (Word)
	A102 ;Destination's Y (Word)
ElseIf Destination = 0x00
	00 ;No destination
	5A19 ;Angle (again)
End If
01 ;Alive/dead flag (0x01 = alive, 0x02 = dead)
00 ;Unknown
03 ;Movement-type flag (0x00 = standing, 0x02 = walking, 0x03 = running, 0x04 = sitting)
00 ;Berserk flag
00000042 ;Walking speed
0000C842 ;Running speed
0000C842 ;Berserk speed
01 ;Buff count
890F0000 ;Buff #1
B45D0300 ;Buff duration #1
0C00 ;Player name length (in this case, 12)
44656D6F6E5368616954346E ;Player name (in this case, "DemonShaiT4n")
00 ;Unknown
01 ;Job type (0x01 = trader, 0x02 = thief, 0x03 = hunter)
00 ;Job level
00 ;PK flag (0x01 = "pink name", 0x02 = "red name")
00 ;Transport (0x01 = yes, 0x00 = no)
00 ;Unknown
If Transport = 0x01 Then
	00000000 ;Transport's model should be here
End If
00 ;Unknown
00 ;Stall flag (0x00 = no stall, 0x04 = stall)
0C00 ;Guild name length (12)
4C6F72644F664A616E67616E ;("LordOfJangan")
DB130000 ;Guild ID
0000 ;Grant name length
If Grant name length > 0 Then
	;Name here
End If
00000000 ;Guild emblem ID
00000000 ;Union ID
00000000 ;Union emblem ID
01 ;Guildwar flag (0x00 = no war, 0x01 = in war)
20 ;FW role
If Stall flag = 0x04 Then
	0000 ;Stall name length (Word)
	;Stall name here (String)
	00000000 ;Stall's model
End If
00 ;This yellow stripe above players when they enter PvP or wear/unwear job item
FF ;PK flag (different PK flag.. 0xFF = off, 0x01 = Capture the Flag, 0x02 = on)
04 ;Unknown
That was the first one, just parse the second one the same way:
Code:
77070000
32
00
00
00
37
06
41030000
00
89030000
00
68030000
00
D403000000AD03000000F5030000000502E48B000000495F00000000B1B200036C6AB3397A43000034435C76AF44603B000100603B010000009A999941010070420000C842000C00436865535465524669654C4400010000000000000000000000000000000000000000000000000000000000FF03
And so on... :)


WOW that nice thankyou :handsdown:

thanks all
03/08/2011 12:25 Windrius#11
Quote:
Originally Posted by Oriya9 View Post
Code:
00 ;Icons (no icons)
00 ;Unknown
And so on... :)
That unknown is the pvp flag if I'm not mistaking. :)