Swizzbeat Posted December 16, 2013 Share Posted December 16, 2013 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 More sharing options...
GoldenGates Posted December 16, 2013 Share Posted December 16, 2013 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. 1 Link to comment Share on other sites More sharing options...
KMJT Posted December 16, 2013 Share Posted December 16, 2013 Good luck, also an interesting subject for me 1 Link to comment Share on other sites More sharing options...
Bug Posted December 16, 2013 Share Posted December 16, 2013 gl swizz 1 Link to comment Share on other sites More sharing options...
TheScrub Posted December 16, 2013 Share Posted December 16, 2013 (edited) I would link you off site but i will be banned l most likely but anyway here is something to help you! http://download.forge.objectweb.org/asm/asm4-guide.pdf Edited December 16, 2013 by TheScrub 1 Link to comment Share on other sites More sharing options...
Celeos Posted December 16, 2013 Share Posted December 16, 2013 ASM bro. 1 Link to comment Share on other sites More sharing options...
User Posted December 17, 2013 Share Posted December 17, 2013 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 More sharing options...
Swizzbeat Posted December 17, 2013 Author Share Posted December 17, 2013 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 More sharing options...
Anaesthetic Posted December 17, 2013 Share Posted December 17, 2013 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 More sharing options...
Swizzbeat Posted December 17, 2013 Author Share Posted December 17, 2013 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 More sharing options...
gengrant4 Posted December 17, 2013 Share Posted December 17, 2013 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 More sharing options...
Swizzbeat Posted December 17, 2013 Author Share Posted December 17, 2013 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 More sharing options...
Anaesthetic Posted December 17, 2013 Share Posted December 17, 2013 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 More sharing options...
LifezHatred Posted December 17, 2013 Share Posted December 17, 2013 huh, i thought the difficult part of making a botting client was just designing the functions (ex. mouse) rather than injecting/loading the client Link to comment Share on other sites More sharing options...
Swizzbeat Posted December 17, 2013 Author Share Posted December 17, 2013 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 More sharing options...