What is needed to create clientless bot?

02/03/2018 01:23 haperek#1
Hey guys, for few days I'm very fascinated of clientless bots, maybe there are people who made bots like that or have some knowledge about creating it.
I need some hints, what's exactly learn or what's type of skill i need.
i know C++, but definitely sth more is needed to do it, knowledge of library, network or even reverse enginering

so im waiting for some advices ^^
02/03/2018 01:44 IceTrailer#2
Quote:
Originally Posted by haperek View Post
Hey guys, for few days I'm very fascinated of clientless bots, maybe there are people who made bots like that or have some knowledge about creating it.
I need some hints, what's exactly learn or what's type of skill i need.
i know C++, but definitely sth more is needed to do it, knowledge of library, network or even reverse enginering

so im waiting for some advices ^^
Learn about socket programming, how contact between server <-> client works and learn reverse engineering
03/19/2018 17:14 SCORNI#3
I have already wrote a few console clients and have to say that reversing the encryption between client and server is pretty much the hardest part.
No one can give you tips or information because almost every game uses a different encryption. If you are lucky, you will find some sourcecode of your game client in the internet, but thats unlikely to happen.

If you have cracked the encryption, you only have to analyze the packets and find out which byte has which meaning. A lot of games use static protocols, so this part is not really hard but can be really time consuming.

The last part would be to implement the encryption and the protocol in a language of your choice.
The most languages (C++/Java/ .net/...) have a TCP/UDP implementation out of the box, so you will have to connect to the login-/gameserver and just send the right packets like the real game client.

If this works it should be the easiest part to send some move/attack packets
03/19/2018 19:20 warfley#4
Quote:
Originally Posted by SCORNI View Post
The most languages (C++/Java/ .net/...) have a TCP/UDP implementation out of the box, so you will have to connect to the login-/gameserver and just send the right packets like the real game client.
Well, C++ does not provide a network library within it's standard.
@ topic: For any language it's pretty easy to get a networking library (e.g., boost for C++). Even if not, using the system API isn't hard either, as it's just like writing to a file. But as SCORNI already said, the implementation will not be the ardest part, and all in all is the language choice pretty irrelevant.

For getting the protocol (as well as the encryption, compression and whats so ever transforms the packets) you could try to look at the packets, but i think you will defenetely need to take a look into the assembly, the key to this is reverse engeneering. Maybe your target game is written in .Net or Java, in which case it would be rather easy to decompile, but most games aren't written in those languages.
03/20/2018 08:06 SCORNI#5
Not a library, but you can use Winsock2 as TCP SocketStream and get performance from hell ;)
03/20/2018 15:41 warfley#6
Quote:
Originally Posted by SCORNI View Post
Not a library, but you can use Winsock2 as TCP SocketStream and get performance from hell ;)
As the runtime is dominated by the roundtriptime it doesn't matter what component you use, the call to the component will always be orders of magnitudes faster than the network traffic ;)
E.g. If nagles algorithm and delayed acks are used for a tcp stream, the transmission of data could take up to half a second, while the libray call is done in microseconds

And yeah winsock2 is a system library, which is not hard to use, but has the disadvatange that it is windows only. And one big advantage of clientless bots is, you can run them on a server so your computer does not have to be online all the time. But windows servers are way more expensive than linux servers
03/29/2018 15:29 Omdi#7
You can use this one as a reference.

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