|
You last visited: Today at 04:24
Advertisement
What is needed to create clientless bot?
Discussion on What is needed to create clientless bot? within the General Coding forum part of the Coders Den category.
02/03/2018, 01:23
|
#1
|
elite*gold: 0
Join Date: Apr 2014
Posts: 12
Received Thanks: 0
|
What is needed to create clientless bot?
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
|
#2
|
elite*gold: 150
Join Date: Sep 2010
Posts: 2,070
Received Thanks: 820
|
Quote:
Originally Posted by haperek
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
|
#3
|
elite*gold: 0
Join Date: Jun 2009
Posts: 970
Received Thanks: 227
|
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
|
#4
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
Quote:
Originally Posted by SCORNI
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
|
#5
|
elite*gold: 0
Join Date: Jun 2009
Posts: 970
Received Thanks: 227
|
Not a library, but you can use Winsock2 as TCP SocketStream and get performance from hell
|
|
|
03/20/2018, 15:41
|
#6
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
Quote:
Originally Posted by SCORNI
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
|
#7
|
elite*gold: 93616
Join Date: Apr 2010
Posts: 13,737
Received Thanks: 14,990
|
You can use this one as a reference.
|
|
|
All times are GMT +2. The time now is 04:24.
|
|