Jump to content

[Log] Writing a Private Color Picker Bot


SqueezeTheorem

Recommended Posts

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 by SqueezeTheorem
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

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