• Log in or sign up for an account here: https://www.sythe.org/login

Injection bot risk?

Status
Not open for further replies.
Joined
Oct 14, 2011
Sythe Gold
64
Messages
1,357
Location
A Russian village
Injection bot risk?
Hello,
I used to bot from around 2007 using Pbot (Rsbot) until the hacking came around. I then moved onto Rsbuddy and ended up using SIMBA/RiD :) I'm not looking to get back into botting, but why do injection bots have a "higher" ban rate than colour bots (or stereotypically).

Thanks Soviet :D
 
Injection bot risk?
They don't. Neither bot seems to have a very high ban rate, though it's probably because Jagex's anti-cheating team has been focusing on their Botwatch program rather than catching botters.

The real thing that determines banrate is the scripter. Powerbot is kind of known for producing lazy scripters who don't write good antibans. Simba is a little more of a learning curve for scripting, so their scripters tend to be higher quality. RiD is coded by only RiD himself, and he's got a very good reputation for antiban as his highest priority.

inb4trentmakesridseemmoreamazingthanitis
 
Injection bot risk?
Hello,
I used to bot from around 2007 using Pbot (Rsbot) until the hacking came around. I then moved onto Rsbuddy and ended up using SIMBA/RiD :) I'm not looking to get back into botting, but why do injection bots have a "higher" ban rate than colour bots (or stereotypically).

Thanks Soviet :D

Hopefully this will answer your question:

For comparing Reflection/Injection (for all of the following concepts apply for) to color bots such as Simba or RiD, this is what Exarctus, one of the past Nexus Scripters and Developers had to say:
Exarctus said:
RiD bots are better written than NeXus bots, so they're less likely to get you banned.

Now to get into the real details:

Btw, Adam is a Super Mod @ RiD who is has a Bachelor's degree in Computer Networking and Computer Technology. He has been involved in this kind of stuff for over a decade, and even managed to exploit a vulnerability in a US Government website when he was in his early teen years (earned him an annoying and inaccurate "Cyber Terrorist" label before he even entered High School). He's very skilled and knowledgeable in writing or scripting bots for reflection, injection, Scar, possibly Simba (if anyone hired him to write a private one, I'm unsure of if he did or not), and other misc standalone bots for various different online games.

Adam said:
When a server is telling your client what is in what space on the screen/inventory and you program a bot to read the id of what ever is in the inventory. Nothing prevents them from changing the id to what ever they want to see if you suddenly stop clicking or follow a known pattern that signifies a bot failing.

I'd just like to state that I feel like my original point was mute. It is detectable. Let me describe the situation in simpler terms.
You load up a flax spinner script.
It reads the id's of whats on screen, sees flax and withdraws it.
It reads the id's of whats in your inventory and sees the flax and spins it.
Jagex runs an automated test against you, the id of flax changes.
Your bot now goes to withdraw flax and does not find it or tries to spin it and can't find it.
Your bot errors out in a way common for a program reading id's to error out after an id change.
They have now identified you as a bot.

The reason why this makes any reflection bot detectable is because a player does not know what the id is, they only see the image of flax which never changes. When it suddenly errors out cause the id changes you've been flagged and your screwed.

Now with proper error trapping for the script you can make one easily undetectable, because you'll never error out and they'll be unable to prove you were actually running a bot. Thing is, I've used nexus scripts and I wouldn't trust their error trapping 90% of the time. I couldn't even find a flax spinner that could open the door from inside the room, I had to add that to one myself.

FYI: I was a very intense script writer for reflection style bots in other games. No bans using any of my scripts I sold. Lost my main account using a simple potion drinker that wasn't randomized and didn't recheck id's. All my scripts were written in Delphi and we're meant to be run 27/4, automatically took breaks, re-opened bags, arranged items, etc. Unless you manage to cover every possible error for every possible user your going to end up with a lot of bans with any reflection platforms.

RiD said:
Mark is updating Nexus by intuition, without explicitly understanding everything in the code.
For example, on June 11th 2009 when you say Jagex first introduced new 'fake objects', on rsca alone (the main Nexus website), there were 20 threads about bans, 5+ people each thread banned, some with several accounts banned, that's over 100 bans. And between all the Nexus communities there must have been several hundred bans that day. That's when Jagex were even dumb enough to tell you in advance they were adding new detection systems.

Reflection as a method for reading in-game data is detectable, and although there's a way around every reflection detection system, things can easily slip through un-noticed, and there's always a new system round the corner if Jagex can be bothered to develop it. Three bans today on rsbots.net. You can claim it's only people who suicide that get banned, but you don't store records on each person, and as soon as you start guessing, you lose all credibility and it becomes impossible to get to the real issues. I'd be surprised if Jagex don't already have a system to detect the mouse movements used by Nexus right now, they are poor.
I'm not saying Nexus = instant ban, and I'm not saying people shouldn't use it, but I would never use it on my $1000+ USD RS account... And if you get reported, you have a high chance of ban... because it is detectable. As you say it yourself, anyone using Nexus as it is now, needs a bit of luck.

RiD said:
By deduction, we can conclude Jagex (clearly) don't ban accounts according to a concept of 'how confused' they are when it comes to sending 'fake objects' - not only would it be 1000 times harder to measure 'confusion' than detect interactions with a fake object, it would be inferior evidence of botting... acting retarded (whatever that entails) doesn't mean someone is a bot, but interacting with a fake object (only a bot could see) is.
On this basis, doing the same thing to a bot operating on vision is impossible. Sure you can detect when a RS account is interacting with misleading things drawn on-screen, but that isn't proof of a bot.

But lets ignore that flaw, and assume Jagex would consider drawing misleading graphical cues on-screen for a new detection system that picks up how 'confused' an account is. Your suggestion would still be false, it's clearly (far) more difficult, and costly, to "confuse" color bots.

Drawing misleading visual cues, harms gameplay and graphics - sending fake data has barely any effect on gameplay and graphics.
You can send fake objects of every kind to a reflection bot, by inheriting a few lines of code - doing the same to a bot operating on vision requires significant research + development, multiplied by the number of objects; we're talking exponentially more difficult. There are infinite ways to extract information from graphics, so it's very hard to understand how a color bot's 'vision' works and confuse it. With RiD it's not just colors, it's about shape, size, movement, etc. Furthermore, every single object looks different, and is read using a different procedure. Confusing RiD would require a specific screen-reading method to be reverse engineered and understood first, and then some weird stuff to be developed (such as large moving objects being randomly drawn) - whereas sending fake data to a reflection bot, requires no great research, and is a one-size-fits-all solution.
It would have a short lifespan, because graphical interference would not go un-noticed - fake objects are disguised completely from regular players, and are easier to hide from botmakers/scripters.
It would be a PR disaster. Because you couldn't hide misleading graphical cues from players, Jagex would have to come out and explain why they are there, and that still wouldn't stop the flood of bug reports they'd get.
There's a good reason Jagex have never used this as a detection process. Whereas detection systems aimed at bots which take cues from data are in operation now.

RiD said:
Actually, I did sum it up by saying, you're messing with their code, and they can change anything. Even just changing the data-structure of generic in-game objects would leave you having to identify new-look fake objects leaving the potential for a mistake, they could modify the game-engine to allow for interchangable fields (eg, temporarily switch the x and y grid coordinates around - which would leave you having to reflect elsewhere to get the coordinates of an object - the kind of thing you probably wouldn't notice). And in the most extreme scenario, they could delve into the graphics rendering pipeline, with a sneaky hidden surface removal algorithm, which would make fake and real objects identical - the only difference being hidden within instructions passed to the rendering algorithm at run-time - I'm not saying I believe Jagex will do that, because the cost would be too high imo. There are plenty of cheap ways, it comes down to creativity really.

But even you say reflection is detectable, by bringing up recent detection systems that detected and banned many RS accounts in a single day "a few months ago" (quoted above, also proving I did bother to read what you said). :rolleyes:

RiD said:
No, that's not what I mean. A hidden-surface removal algorithm is part of the graphics rendering process in all 3D games. The client has graphical information for every object within a certain zone of your player, (like you mention: models, skins, etc) - however, most of those surfaces will not be drawn on screen any given frame - because for example, there's a wall blocking it from view, the back of a wall is not drawn when the camera is facing the front, etc. A hidden-surface removal algorithm is the process that takes all surfaces and determines (based on camera angle, distance and positions of other surfaces in the scene) - which surfaces will be drawn and which aren't. A wall-hack is a modified hidden-surface removal algorithm that draws things on screen that aren't meant to be there - and I was referring to the opposite, an algorithm modified to NOT draw things, that should be there (According to the code).

Grabbing models and skins wouldn't help you to detect this kind of fake object, they'd be identical.

RiD said:
There is already a hidden surface removal algorithm in RuneScape - without hidden surface removal you don't have 3D graphics. I brought this up as an example where you'd have to delve into the graphics renderring pipeline to detect fake objects, and hidden surface removal is a very complicated process in it's own right, which acts on a lot of data - every object in the scene. This would be the most hardcore place possible to hide the implementation of fake objects, in my opinion. But as I said, it's just a hypothetical.

RiD said:
If Jagex were going to mess with renderring to create fake objects (I doubt they would, it would be very messy), they wouldn't stop at filtering the 3D model, they'd filter top text, etc, aswell. They'd leave interactability, to register clicks on fake objects, more easily. The server would only have to track which were real/fake, in order to send the right instructions back to the client. I'm not saying there wouldn't be some fundamental changes needed to the game engine, they'd have to increase the amount of communication between client and server for a start (for example, when you right-click, submenus would no longer be possible to generate from objects, and would rely on server instruction), to avoid side-effects caused by the presence of certain types of invisibile-interactable-fake-object. But shifting the difference between real/fake objects into the graphics renderring pipeline, is not impossible. Difficult yes, impossible no.

RiD said:
It's simple (the server spawns objects, not the client), for each fake object the server spawns it would keep track of a Unique ID (a character string unique to each object), and when the client returns an interaction which has the UID for a fake object, it would increment some sort of counter. By investigating the ratio of interactions with a fake objects per 100 clicks, etc - anything beyond a certain threshold would be solid evidence of macroing.

RiD said:
In a good design, the algorithm would differentiate based on UID, allowing the knowledge of which were real and fake, to be kept tacit, not explicit. That means, there wouldn't be any flag for fakes, it would just be hardwired in. To illustrate - in the very simplest case you could have a system (on the client) where any objects with the letter 'A' in the UID were eliminated (from being drawn on screen). Basically, instead of a 'marker' you have a process to eliminate fakes, and the more complicated the better. Such is the range of possibility, they could actually create a program to write this algorithm, and update it automatically - allowing for a different implementation (reflection bots would need to decode) each RS update.

That would be a one-time deal for Jagex, but would lead reflection bots to have extra work, every single RS update - however I agree the initial amount of work required will no doubt scare Jagex off, and arguably it's a backward step for gameplay too, because the extra communication between client/server required.

RiD said:
You should read up on how 3D graphics renderring works, just because you have access to skins and models, does not mean you know what will and will not be drawn on the screen. As I mentioned, hidden surface removal is one example of that. Where entire 3D models are passed into the graphics renderring pipeline (every single frame, for as long as they exist in the scene) but not necessarily drawn on the screen (because for example, they may be behind a wall, etc). Grabbing the models and skins, is irrelevant, it does not prove it will be drawn on the screen.

RiD said:
Oh, by looking at the screen? I thought you meant using reflection. Sure, that would be a way around, but there's always a countermeasure Jagex can use to get around that, then you can get around that, etc.

Compared to the techniques already discussed, it's relatively simple to apply filters that change the colors renderred from the colors of the skins - this already happens on a small scale, but they could take it a step up, to get around the workaround you suggest - for example instead of the real skins, they could use inverse colored skins (they wouldn't go for inverse, but a less easily reversed filter, and they could change the filter used automatically, each RS update) and flip them back before renderring, which wouldn't change the graphics at all, pretty much zero overheads, but would make the renderred output unrecognisable from the actual skins.

Jagex will have their own ideas, I think they're unlikely to take bot detection into the graphics renderring process, but basically if you are reading from data, there's always a potential update Jagex can make that will switch things up.

Long read, but hope that explains a bit.
 
Injection bot risk?
Most will also say that injection bots edit the Runescape client, in which they can physically tell (that's my personal understanding anyway). Reflection bots would utilize the canvases to complete the necessary tasks. RID is, in my opinion, the most intellectual bot on the market for the many reasons stated above.
 
Injection bot risk?
Thanks everyone! And Trent that has covered my answer in enough detail ^_^

Joke it was very useful thanks Trent!
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top