SqueezeTheorem Posted November 6, 2019 Share Posted November 6, 2019 (edited) Writing a Color Picker Bot An idea I've had floating around for a while is writing my own private color recognition bot from scratch, and I finally got around to starting it today. It might seem like a lot of effort to essentially just re-invent the wheel, but there are a few distinct advantages a color picker bot offers over injection/reflection: Color bots don't interact with the JVM whatsoever, meaning any of Jagex's detection efforts that rely on observing things at the JVM level won't work Color bots generally won't break with updates. There's no need to deobfuscate new code, or remap memory values each time the gamepack changes. Having complete control of a bot client from the bottom up means you can alter low level code like mouse movement to see if any of the conspiracies about detection are actually true. I'll be addressing what low level features I plan to pay special attention to later as the client becomes more developed. This bot WILL NOT be released on OSBot or any other website. I am not trying to profit from this, nor advertise my own service. I just thought it would be something the community might be interested in and may shed some light on how Jagex detects botting, if successful. I've read that a lot of people have had a fair bit of success avoiding bans using mouse recorders and AHK, and I'm basically making a more sophisticated version of AHK/a mouse recorder. Screenshots/proggies coming soon. The first script I'm going make will be woodcutting/fishing/mining. Technology Used For this project, I'm only using Java and the native Java libraries. This might sound fairly restrictive, but I don't think it'll be a significant obstacle given the ImageIO, BufferedImage, and Robot classes built in the language. This bot will only interact with the game client by scraping colors and using the Robot class to left/right click. It's very primitive, and that's the point. Progress Log November 5, 2019: The basics of the client are up and running. The bot can determine when it's on the login screen, login in using a hardcoded username/password pair, click the red login button in the game lobby, and adjust its camera angle on login so scripts can be made under the assumption that the camera angle is constant. It's fully scriptable at this point. November 10, 2019: I've got the script set up where it can accurately determine the state of a fletching rotation, ie what the bot should do next. Click the bank, use the bow string, press space bar to craft, Etc. Planned Features Movement/pathing using the minimap. Inventory API Randomized, normally distributed sleeps on most actions that incorporates a fatigue system Next Goal function prototype script, even if the antiban is shit still. Edited November 11, 2019 by SqueezeTheorem Quote Link to comment Share on other sites More sharing options...
Apaec Posted November 6, 2019 Share Posted November 6, 2019 Sounds like a fun project, whether or not it will help with bans however will to be hard to gauge. Have to say, Java doesn't seem like a great choice for something like this. As this would be a standalone app, you're not locked in to using Java. Have you considered using python? You can use libraries such as TensorFlow to recognise game objects, which would be a whole lot more powerful than "naively" interpreting screen colours. Good luck Apa Quote Link to comment Share on other sites More sharing options...
Hernandez2000 Posted November 6, 2019 Share Posted November 6, 2019 Nice sounds interesting. I do find it funny that the old methods of botting were color bots and ahk and stuff and those ended up getting phased out over time for more "modern bots" like the current. Which are now easier to detect than the old methods lol. I have actually been interested in this topic myself to see if it will have low ban rate or if their detection is different than I think and it will still be noticed as robotic or something. I think the biggest problem with this kind of bot would be writing a script, but maybe not. Because it needs to move around and do all the things a normal bot does but with the added effort of properly clicking on things without interacting with the code. For moving around you maybe a able to use runelite ground markers. It will be easier to mark areas then tell it to look for that and click in the area. Something like that. Quote Link to comment Share on other sites More sharing options...
lulwut Posted November 6, 2019 Share Posted November 6, 2019 Check out SRL - been around forever and pretty much does this as is. Quote Link to comment Share on other sites More sharing options...
SqueezeTheorem Posted November 6, 2019 Author Share Posted November 6, 2019 5 hours ago, Apaec said: Sounds like a fun project, whether or not it will help with bans however will to be hard to gauge. Have to say, Java doesn't seem like a great choice for something like this. As this would be a standalone app, you're not locked in to using Java. Have you considered using python? You can use libraries such as TensorFlow to recognise game objects, which would be a whole lot more powerful than "naively" interpreting screen colours. Good luck Apa I have thought about better image recognition libraries, but I'm more interested in a proof of concept ATM. TensorFlow is the only library that I'm aware of that will work, but I'm sure there are others. Quote Link to comment Share on other sites More sharing options...
SqueezeTheorem Posted November 11, 2019 Author Share Posted November 11, 2019 Update: I've got the script set up where it can accurately determine the state of a fletching rotation, ie what the bot should do next. Click the bank, use the bow string, press space bar to craft, Etc. 1 Quote Link to comment Share on other sites More sharing options...
CrimsonVex Posted March 27, 2020 Share Posted March 27, 2020 Whats your progress? Howd you go with minimal and coordinates Quote Link to comment Share on other sites More sharing options...