Jump to content

Knowledge required to create a botting client?


Swizzbeat

Recommended Posts

THIS IS FOR LEARNING PURPOSES ONLY IM NOT TRYING TO MAKE A CLIENT TO COMPETE OR ANYTHING SO MODS DONT F****N CLOSE THIS

 

Basically I'm trying to expand my knowledge of Java and be familiar with the absolute inner workings of it. I think it would be a great idea for my to invest my time into making my own client for the experience and knowledge I will gain throughout the process. The only problem is I have absolutely no idea where to begin! If anyone could please point me in the right direction for what I should start looking at, such as bytecode or some other area of Java, to begin building the foundation for a client that would be much appreciated! Even just a list of topics I would need to be strong in to get going would help me out so much.

 
FYI please don't just paste code and say there's half your client, add two more lines in and it will work. I'm going to do this from scratch and learn everything I need to know along the way for my own person knowledge, not to prove I can copy and paste. Setting a big goal in my mind helps me because to achieve it I need to learn a multitude of different things, and in the end hopefully I'm that much better of a programmer when I'm successful. 
Link to comment
Share on other sites

Once thing you should know is that if you really are committed, you will more than likely have to give up scripting, it takes a long time and it will be quite difficult to handle both things, looking at the amount of scripts you have it'll be even harder. When I say give up I just mean put them aside for a while and learn what you need to know. Unless you've got a shit load of time on your hands. PM me if you need help though, I know a decent amount to get you started.

  • Like 1
Link to comment
Share on other sites

I have personally written my own *fairly* functional bot in the past, and have worked on a relatively popular one recently (started with a w *cough*), this is what you will need to learn to do and do:

  • Learn about Java bytecode and muck around with the bytecode engineering library of your choice (BCEL=slow & easy to use, ASM=harder to use [very low level], but has great docs to learn or Javassist=haven't tried - plan to do so soon [btw if you're going to use Javassist, DO NOT USE EASYMODE]).
  • Study the client you plan on writing your bot for (maybe start by downloading an RSPS and writing it for that - as a beginner having the source, not having beclouding techniques hindering you, and not having updates thrown at you, will be of considerable use).
  • Look for patterns within the client you are writing your bot for (such as class layouts if appropriate [generally not], bytecode patterns) and start on your "updater" -> it's job is to analyse the client to identify classes, and the fields and methods within them). JBE and the source code of the client will be of considerable use here.
  • Using the information you have gathered using the updater you have written, proceed to inject the client with mutators/accessors for the fields you have found & make the classes containing these fields implement an interface of yours with these mutators/accessors to make everything easier to work with.
  • You should know what to do here when you get to it.
  • ??

This little guide I've written for you is really unsophisticated but yeah. If you wish I can also link you to a website that will probably be of considerable use (PM me for a link as it is another forum). I'm a little drunk atm so I'll probably fix this tomorrow.

Link to comment
Share on other sites

I have personally written my own *fairly* functional bot in the past, and have worked on a relatively popular one recently (started with a w *cough*), this is what you will need to learn to do and do:

  • Learn about Java bytecode and muck around with the bytecode engineering library of your choice (BCEL=slow & easy to use, ASM=harder to use [very low level], but has great docs to learn or Javassist=haven't tried - plan to do so soon [btw if you're going to use Javassist, DO NOT USE EASYMODE]).
  • Study the client you plan on writing your bot for (maybe start by downloading an RSPS and writing it for that - as a beginner having the source, not having beclouding techniques hindering you, and not having updates thrown at you, will be of considerable use).
  • Look for patterns within the client you are writing your bot for (such as class layouts if appropriate [generally not], bytecode patterns) and start on your "updater" -> it's job is to analyse the client to identify classes, and the fields and methods within them). JBE and the source code of the client will be of considerable use here.
  • Using the information you have gathered using the updater you have written, proceed to inject the client with mutators/accessors for the fields you have found & make the classes containing these fields implement an interface of yours with these mutators/accessors to make everything easier to work with.
  • You should know what to do here when you get to it.
  • ??

This little guide I've written for you is really unsophisticated but yeah. If you wish I can also link you to a website that will probably be of considerable use (PM me for a link as it is another forum). I'm a little drunk atm so I'll probably fix this tomorrow.

I've been studying some bytecode tutorials and feel like I'm starting to understand the general idea behind how to use/manipulate/read it. I'll send you a PM right now as I can't find any tutorial that uses ASM, their all BCEL :(

Link to comment
Share on other sites

I was talking to a friend of mine that linked me to a basic bot client that has all of the things that you would need to build your own client. Its got all the code you need, you just need to customize it to your own specific needs. If I can get the link, I'll send it to you offsite, because I don't know if I'll be banned on here or not.

Cheers!

~~TF~~

Link to comment
Share on other sites

I was talking to a friend of mine that linked me to a basic bot client that has all of the things that you would need to build your own client. Its got all the code you need, you just need to customize it to your own specific needs. If I can get the link, I'll send it to you offsite, because I don't know if I'll be banned on here or not.

Cheers!

~~TF~~

I'm not really interested in making a client, but to develop reverse engineering skills. Making a client is just a way for me to practice.

Link to comment
Share on other sites

Heres a question for all you Script makers is there anyway you can try and help me what do you all need to make runescape scrips i mean i have many little tricks and tips about the game and would like to put them up for others use can someone make a small video or something how to build a bot and message me it please

 

please message me... and ill give you credit also with my scrips i make.

 

Link to comment
Share on other sites

Heres a question for all you Script makers is there anyway you can try and help me what do you all need to make runescape scrips i mean i have many little tricks and tips about the game and would like to put them up for others use can someone make a small video or something how to build a bot and message me it please

 

please message me... and ill give you credit also with my scrips i make.

First of all don't make pointless posts that have nothing to do with the thread your posting on.

 

Second if you want to make scripts learn Java, along with how to use the forums: http://osbot.org/forum/forum/180-tutorials/

Link to comment
Share on other sites

 

I was talking to a friend of mine that linked me to a basic bot client that has all of the things that you would need to build your own client. Its got all the code you need, you just need to customize it to your own specific needs. If I can get the link, I'll send it to you offsite, because I don't know if I'll be banned on here or not.

Cheers!

~~TF~~

I'm not really interested in making a client, but to develop reverse engineering skills. Making a client is just a way for me to practice.

 

Okay.  If I find the link to the src I can still send it to you, if you want.

Link to comment
Share on other sites

huh, i thought the difficult part of making a botting client was just designing the functions (ex. mouse) rather than injecting/loading the client

From what I've gathered the easiest part is making the loader (just a simple applet contained within a JFrame) and the hardest is the updater. To make a client you have to deobfuscate the RuneScape class files and manipulate them using a library such as ASM. It's a lot harder then it sounds, and so far has given me a new found respect for what @Laz and @Maxi have to constantly deal with.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...