[ZSZC] Packets of Skills/misc

07/04/2010 17:54 Epic_Rage#16
Quote:
Originally Posted by lolkop View Post
well searching for "autoit clientless" in elitepvpers would show up tat thread in like 3seconds so i don't realy get why you haven't been able to find it o0...
what eva, i don't realy like the way he's using to parse packets, since autoit got such nice (and extremely efficient) regexp functions, it would be sad to not use them :P.

all packets can be parsed in one line in autoit. and since you do not have to take care of the type of the stuff you've just parsed its even more easy.

Edit:
to get idea of how the silkroad security and packet system works you gotta check drews [Only registered and activated users can see links. Click Here To Register...]
I'll TRY to figure this out lol, cos i really dont want to have to ask you to make me a working function for me, because then ill feel like an ass for asking for resources :P

Anywho, 4am now so i need to sleep! ~_~
07/04/2010 18:49 PortalDark#17
Quote:
Originally Posted by lolkop View Post
well searching for "autoit clientless" in elitepvpers would show up tat thread in like 3seconds so i don't realy get why you haven't been able to find it o0...
what eva, i don't realy like the way he's using to parse packets, since autoit got such nice (and extremely efficient) regexp functions, it would be sad to not use them :P.

all packets can be parsed in one line in autoit. and since you do not have to take care of the type of the stuff you've just parsed its even more easy.

Edit:
to get idea of how the silkroad security and packet system works you gotta check drews [Only registered and activated users can see links. Click Here To Register...]
is this from projecthax?
07/04/2010 20:59 lolkop#18
nope it's been posted @ 0x33 like 2 years ago by drew, when he started to work with packets =)

some weeks before he started developing his sr33 packet framework.
07/04/2010 21:19 GoneUp#19
btw:

All Skill Packets are so:
(7074) /op
0104 /mode
4D000000 /pk2id dword
00 /end
07/05/2010 05:50 Epic_Rage#20
Quote:
Originally Posted by cheater94x View Post
btw:

All Skill Packets are so:
(7074) /op
0104 /mode
4D000000 /pk2id dword
00 /end
I have no idea what mode, pk2id dword and end is sooo, that aint gonna help me much :p

Finally woke up, time to work on this connecting n' sending :-d
07/05/2010 12:30 GoneUp#21
Quote:
Originally Posted by Epic_Rage View Post
I have no idea what mode, pk2id dword and end is sooo, that aint gonna help me much :p

Finally woke up, time to work on this connecting n' sending :-d
4D000000 = 0000004D = 77
Just look after these id in the Skill Data File in the Media. The Mode is always the same for skill attacks. There are Modes for Buffs, etc.. too.
07/05/2010 13:01 Epic_Rage#22
Quote:
Originally Posted by cheater94x View Post
4D000000 = 0000004D = 77
Just look after these id in the Skill Data File in the Media. The Mode is always the same for skill attacks. There are Modes for Buffs, etc.. too.
Ahh i see now..

Im currently trying to work out how to send the packet to my client, this is what i have so far, and it aint working:

Code:
$Hex = "0B00F07008310104E8270000010B83F001"
$IP = "127.0.0.1" 
TCPStartUp()
$socket = TCPConnect( $IP, 15778) 
If $socket = -1 Then MsgBox (0,"TCP","Can't make a connection")
TCPSend($socket,$Hex)
It doesn't dc me when i run it, but then again, it doesn't do anything ingame either (it should use the 'yes' emote)

What should i be using instead?
07/05/2010 13:43 rsalumpit#23
I'm also interested in making my own bot i hope i can catch up..
Yeah maybe start with some simple things first.
07/05/2010 14:42 Epic_Rage#24
I might try sending packets via C# since i can't find any premade functions for sending packets that are working for me lol

Here is an example i found, which apparently works:

Code:
Socket winsock = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocollType.Tcp);

winsock.Connect("127.0.0.1",15778);

public class Client
        {
            BinaryReader br;
            MemoryStream ms;
            byte[] buffer = new byte[8192];

            public void Start(int port)
            {
                try
                {
                    Socket ws_receive = new Socket("127.0.0.1", 15778);

                    sw_receive.BeginRead(buffer, 0, buffer.Length, new AsyncCallback(OnReceive), null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error: {0}", e);
                    Console.ReadLine();
                }
            }


public void OnReceive(IAsyncResult ar)
            {
                try
                {
                    sw_receive.Read(buffer);
                    
                    ms = new MemoryStream(buffer);
                    br = new BinaryReader(ms);

                    Packet.size = br.ReadUInt16();
                    Packet.OpCode = br.ReadUInt16();

                    Packet.data = new byte[datasize];
                    Array.Copy(buffer, 6, Packet.data, 0, Packet.size);

                    Packet.Parse(Packet.OpCode,Packet.size);
                    
                    sw_reiceve.EndRead(ar);
                    sw_receive.BeginRead(buffer, 0, buffer.Length, new AsyncCallback(OnReceive), null); 
                }
                catch (Exception e)
                {
                }
            }
        }
Although it looks hella confusing :D
07/05/2010 15:05 GoneUp#25
Just look at ProjextHax after xBot. Very nice and clear example for an sro bot.
07/05/2010 15:22 Epic_Rage#26
Quote:
Originally Posted by cheater94x View Post
Just look at ProjextHax after xBot. Very nice and clear example for an sro bot.
Found it([Only registered and activated users can see links. Click Here To Register...])

I'll have a look at it in about 30mins, gotta go get something to eat. Thanks for the tip, definately sounds like something i am in need of :D
07/05/2010 15:26 WeeMan1337#27
Quote:
Originally Posted by Epic_Rage View Post
Found it([Only registered and activated users can see links. Click Here To Register...])

I'll have a look at it in about 30mins, gotta go get something to eat. Thanks for the tip, definately sounds like something i am in need of :D
I started an open source clientless project. There are multiple inject functions that are used for different things. It's written in C++ with Qt.

[Only registered and activated users can see links. Click Here To Register...]
07/05/2010 20:34 lesderid#28
1. Learn about HEX. (bytes, words, dwords, qwords, ...)

2. Learn about TCP/IP. (packets, sockets, IPs/hostnames, ...)

3.1. Learn a (high level) programming language:
3.2. A lot of possible choices, for example: C#, VB.Net, AutoIt, Python, Java, ...

4. Learn about the libraries/frameworks your program is going to use. (the java lib for java, .Net for C#/VB.Net, ...)

5. Learn how to setup networking in your programming language.

6. Gather all the extra information. (packet parsing, GUIs, ...)

7. Start writing your application.

8. USE GOOGLE (or any other preferred search engine), it's REALLY helpful.

9.1. Use forums and helpdesks:
9.2. Again, use google to find the right forum.
9.3. For questions that need to be answered quickly, I highly recommend asking them at [Only registered and activated users can see links. Click Here To Register...].

10. Don't be shy to ask questions, everyone does it.
07/06/2010 03:03 Epic_Rage#29
Quote:
Originally Posted by lesderid View Post
1. Learn about HEX. (bytes, words, dwords, qwords, ...)

2. Learn about TCP/IP. (packets, sockets, IPs/hostnames, ...)

3.1. Learn a (high level) programming language:
3.2. A lot of possible choices, for example: C#, VB.Net, AutoIt, Python, Java, ...

4. Learn about the libraries/frameworks your program is going to use. (the java lib for java, .Net for C#/VB.Net, ...)

5. Learn how to setup networking in your programming language.

6. Gather all the extra information. (packet parsing, GUIs, ...)

7. Start writing your application.

8. USE GOOGLE (or any other preferred search engine), it's REALLY helpful.

9.1. Use forums and helpdesks:
9.2. Again, use google to find the right forum.
9.3. For questions that need to be answered quickly, I highly recommend asking them at [Only registered and activated users can see links. Click Here To Register...].

10. Don't be shy to ask questions, everyone does it.
Thats exactly what i need to learn lol, thanks :)
I just hope that i don't quit before-hand because for the last 3 days ive stayed up till 4am each day trying to send just 1 packet to sro and have it make my character do an emotion :(
07/06/2010 04:43 Epic_Rage#30
Apologies for the double post but i just wanted to say: I finally got packet sending working through autoit!! Yay me!! Time to work on that packet-based autopot :D