Page 1 of 2 12 LastLast
Results 1 to 25 of 32

Thread: Color vs Reflection? Detection vs Efficiency?

  1. #1
    Join Date
    Oct 2015
    Posts
    80
    Mentioned
    2 Post(s)
    Quoted
    35 Post(s)

    Post Color vs Reflection? Detection vs Efficiency?

    Hey guys

    I keep hearing tons of good things about reflection and of course color detection is least of our concern on code-level detection. We know they can but they don't so for the sake of argument we're going to assume that color bots are currently undetected.

    Now I know when it comes to color scripting, the efficiency decreases of the bot itself but it all depends on the scripter. the better the scipter, the better the results of your script you'll generally see. But in all honesty, color bots have their own limitations, limitations to which injection bots aren't subjected to (too bad injection bot almost always mean insta-ban).

    Now I'll admit, I don't know much about Reflection bot and how exactly they operate differently in comparison to color and injection bot. So if someone can share their opinion and shed the light on this topic, it'll be great.

    cheers

  2. #2
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    I hate linking to powerbot but one of the developers over there posted a pretty good explanation of the different types of bots

    https://www.powerbot.org/community/t...on/?p=14273061

    Here's the verbatim quote for anyone who can't/won't view powerbot

    Let me give you a heads up. A color bot hacks the canvas to get the canvas image or uses native like SCAR to identify the frame and leech the graphics through-out graphics buffer. From there it uses bitmap finding algorithms or pattern algorithms. These are an array of pixels to identify. For text they use OCR with a neural network or pattern matcher. In general they use pattern matching in different colorspaces such as HSV/HSL or RGB. To identify stuff in the inventory they use coordinates and run pattern matching algorithm in the bounding rect. Injection bots use a bytecode engineering library like BCEL or ASM to edit the client's class files to they can identify which field belongs to what class. First they will download the client which are class files. They would decompile the class files to turn them back to java files. When this is done they would refactor the fields and classes so the code looks readable. When the client is fully understood they search for bytecode patterns to identify these classes and fields. When you have a program that identifies these classes and fields you have yourself an updater. An injection bot will load the RuneScape client like the webpage setting an useragent when the client is downloaded these files get edited. Thanks to the updater we know which fields are what so we could do



    Lets say the "Player" class is called aL and the field "Player health" is called wK



    We could write this interface



    public interface Player {



    public int getPlayerHealth();



    }



    So we can add this interface to our aL (player class) throughout bytecode (basically we link our written interface to the client's class to "hook" our api with the original client) and inject the getter.



    public class aL implements Player {



    private int wK; //Obfuscated field



    public int getPlayerHealth() {//Inherited from interface Player

    return wK;

    }



    }



    Remember we have 4 kinds of bots

    Color - which uses the canvas' graphics to identify the current state of the player

    Injection - which injects getters into the client to retrieve data

    Inflection - which edits fields/classes to redirect information

    Reflection - which "looks" at the loaded client's classes in the JVM and returns the information it contains (this has been become a lot harder, so you actually need a bit of injection/inflection to hack the loader of the client)



    The loader of the client has basically became Jagex's legal security. When a new bot spawns they know they had to hack/decompile the loader which is illegal in some countries like the USA (look at Nexus iBot).



    Seems like this post became longer and longer as I started typing
    However there are links and things you won't be able to see unless you view the real page

    That entire thread is also pretty informative as it mainly consists of a KeepBotting from two years ago asking about what other types of bots can do that color can't, and how

    I'm sure there are better explanations out there but this is the one I've always referred back to

    Lol there's actually a post by ggzz (our own Brandon) in there too
    Last edited by KeepBotting; 02-13-2016 at 04:18 PM.
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Badâ„¢ before everyone gets laser pistols

  3. #3
    Join Date
    Dec 2010
    Posts
    483
    Mentioned
    30 Post(s)
    Quoted
    328 Post(s)

    Default

    I can not conceive of any way that reflection can be detected.

    Essentially, everytime we call class.getDeclaredFields() it will return a NEW instance of those fields, as a snapshot so to speak.

    This means we can essentially do whatever we want (such as making private fields accessible) without them being able to check, because if they did the same they would get a different NEW instance.

    Just thinking now... I suppose they could Xboot a custom version of the Class or Field object, but that would be incredibly obvious and they currently do not.

  4. #4
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    Assuming most people use the SMART client for either method.. The client would be detected first. So detection would be based on the script and how the user employs both techniques.

    <------------------>



  5. #5
    Join Date
    Mar 2013
    Posts
    49
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by the bank View Post
    I can not conceive of any way that reflection can be detected.

    Essentially, everytime we call class.getDeclaredFields() it will return a NEW instance of those fields, as a snapshot so to speak.

    This means we can essentially do whatever we want (such as making private fields accessible) without them being able to check, because if they did the same they would get a different NEW instance.

    Just thinking now... I suppose they could Xboot a custom version of the Class or Field object, but that would be incredibly obvious and they currently do not.
    Bad Reflection clients are being detected by checking the jvms garbage collection frequency.

    Even injection can be detected by GC frequency and is why I'm a strong proponent of keeping the runescape client and the bot running in different processes.

  6. #6
    Join Date
    Sep 2008
    Location
    Not here.
    Posts
    5,422
    Mentioned
    13 Post(s)
    Quoted
    242 Post(s)

    Default

    The bit about the use of reflection requiring hacking the loader is wrong. Just because that is how smart and essentially every other bot does it, doesn't make it required.

  7. #7
    Join Date
    Dec 2015
    Location
    Toronto, Ontario
    Posts
    85
    Mentioned
    2 Post(s)
    Quoted
    21 Post(s)

    Default

    Reading this post was very informative regarding reflection. From what it seems is that reflection is about as safe as colour botting since you would most likely be running in SMART most of the time. The only time colour is safer is when you are running it right to the original client or osbuddy. They can detect SMART now but they don't, right? Does this mean everyone should be using reflection or are their downsides I don't know about? I always used and scripted in colour. Should I switch?

  8. #8
    Join Date
    Mar 2012
    Posts
    107
    Mentioned
    2 Post(s)
    Quoted
    49 Post(s)

    Default

    They can't detect smart. Everyone would be banned if they could, without question. JaGex likes to overstate their capabilities, because there is no downside to it and it might deter people from using bots in the first place.

  9. #9
    Join Date
    Mar 2013
    Posts
    1,010
    Mentioned
    35 Post(s)
    Quoted
    620 Post(s)

    Default

    Quote Originally Posted by One Kid View Post
    They can't detect smart. Everyone would be banned if they could, without question. JaGex likes to overstate their capabilities, because there is no downside to it and it might deter people from using bots in the first place.
    Are you trying to say the developers at Jagex don't have the knowledge or that they cannot do it with their current game client? since both are completely untrue. Feel free to search around the forums to see either brandon or benland100 explain how SMART is detectable and even the code to do it.
    #slack4admin2016
    <slacky> I will build a wall
    <slacky> I will ban reflection and OGL hooking until we know what the hell is going on

  10. #10
    Join Date
    Mar 2012
    Posts
    107
    Mentioned
    2 Post(s)
    Quoted
    49 Post(s)

    Default

    Quote Originally Posted by Harrier View Post
    Are you trying to say the developers at Jagex don't have the knowledge or that they cannot do it with their current game client? since both are completely untrue. Feel free to search around the forums to see either brandon or benland100 explain how SMART is detectable and even the code to do it.
    Theory VS Practice are two different things.

  11. #11
    Join Date
    Mar 2013
    Posts
    1,010
    Mentioned
    35 Post(s)
    Quoted
    620 Post(s)

    Default

    Quote Originally Posted by One Kid View Post
    Theory VS Practice are two different things.
    Yes in theory they can and in practice they haven't yet it doesn't mean they cannot do it. SMART is a small target and they rarely even target larger bots like RuneMate, RSBot or Epicbot but they have proven in the past they can detect them.
    #slack4admin2016
    <slacky> I will build a wall
    <slacky> I will ban reflection and OGL hooking until we know what the hell is going on

  12. #12
    Join Date
    Oct 2012
    Posts
    1,258
    Mentioned
    40 Post(s)
    Quoted
    588 Post(s)

    Default

    Quote Originally Posted by One Kid View Post
    Theory VS Practice are two different things.
    You now understand that the statement
    Quote Originally Posted by One Kid View Post
    They can't detect smart.
    is simply not true, correct?

  13. #13
    Join Date
    May 2015
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Quote Originally Posted by Harrier View Post
    Yes in theory they can and in practice they haven't yet it doesn't mean they cannot do it. SMART is a small target and they rarely even target larger bots like RuneMate, RSBot or Epicbot but they have proven in the past they can detect them.
    Isn't this essentially what the bot nuke thing was? Jagex detecting all botting clients and straight up banning everybody.

  14. #14
    Join Date
    Dec 2007
    Posts
    2,112
    Mentioned
    71 Post(s)
    Quoted
    580 Post(s)

    Default

    Quote Originally Posted by webbydee View Post
    Isn't this essentially what the bot nuke thing was? Jagex detecting all botting clients and straight up banning everybody.
    You can't say for sure but yes i also agree with this.

  15. #15
    Join Date
    May 2015
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Quote Originally Posted by Kasi View Post
    You can't say for sure but yes i also agree with this.
    Were people using SMART clients also banned? wouldn't this settle the is SMART detectable debate once and for all?

  16. #16
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    Quote Originally Posted by webbydee View Post
    Were people using SMART clients also banned? wouldn't this settle the is SMART detectable debate once and for all?
    The detect-ability of SMART is/has been settled. The question that remains is whether or not it triggers/leads to more bans (If Jagex even gives a shit). What I mean by more bans - Say you ran the same color script over a long period of time on the official client, then ran it again, this time using SMART. Would you see any drastic differences in ban patterns? (Ex. amount of time it took to get banned)

  17. #17
    Join Date
    Dec 2007
    Posts
    2,112
    Mentioned
    71 Post(s)
    Quoted
    580 Post(s)

    Default

    Quote Originally Posted by webbydee View Post
    Were people using SMART clients also banned? wouldn't this settle the is SMART detectable debate once and for all?
    There's a difference between something being detectable and it being detected. Example: You have cancer (unaware), which would be easy to detect but you haven't had a medical examination in a while, so the following is true; The cancer is undetected but easily detectable.

    SMART is detectable, just as every other client/bot out there is, including the private ones. Whether Jagex is currently detecting it is another story. The SMART detectable debate has already been settled. It's possible to detect every bot/client. Anyone who says otherwise (RID, Trent! etc) simply has no idea what they're talking about.
    Last edited by Kasi; 11-27-2016 at 04:33 PM.

  18. #18
    Join Date
    Dec 2015
    Location
    Toronto, Ontario
    Posts
    85
    Mentioned
    2 Post(s)
    Quoted
    21 Post(s)

    Default

    Quote Originally Posted by Kasi View Post
    There's a difference between something being detectable and it being detected. Example: You have cancer (unaware), which would be easy to detect but you haven't had a medical examination in a while, so the following is true; The cancer is undetected but easily detectable.

    SMART is detectable, just as every other client/bot out there is, including the private ones. Whether Jagex is currently detecting it is another story. The SMART detectable debate has already been settled. It's possible to detect every bot/client. Anyone who says otherwise (RID, Trent! etc) simply has no idea what they're talking about.
    I fully agree with this. It's not a debate anymore, we know. Coming to a day where SMART is undected is unreasonable because it would just be a constant rat race if its even possible in the first place(not like they dectect it now anyways). Am I wrong? The question I asked orginally.... Should people use colour bots anymore? I'm starting to think the answer is no when it comes to anything beyond just for fun.

  19. #19
    Join Date
    Mar 2013
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    8 Post(s)

    Default

    It's common knowledge that reflection is more detectable than color.

  20. #20
    Join Date
    Nov 2015
    Posts
    73
    Mentioned
    1 Post(s)
    Quoted
    31 Post(s)

    Default

    Quote Originally Posted by IMayoboeiI View Post
    It's common knowledge that reflection is more detectable than color.
    Do you know any exact reason for that? I've botted reflection for a lot of years and never been banned.

  21. #21
    Join Date
    Apr 2017
    Posts
    11
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    It really depends on what you're using it for, atm for me personally: Reflection = all non NPC related, anything related to finding NPC i use colour which sounds weird, but it's the only way I can get it to work

  22. #22
    Join Date
    Aug 2007
    Location
    Hawaii
    Posts
    3,880
    Mentioned
    7 Post(s)
    Quoted
    152 Post(s)

    Default

    SRL's been around for a long time, and it's a shame we didn't crowdsource a large Runescape ban study. There's so many variables in place when it comes to bot detection, it's ridiculous. Color, reflection. They're both equally detectable. Just matters if your script shows enough automation to trigger a ban.

    Example:

    Wrote a hunter script in reflection. 7 accounts of mine got banned. Not all at once. Kept making new accounts to see why my script is bannable. They kept getting banned, to the point where I think I'm flagged. So I bot other tasks on other accounts. No bans. So that tells me the script has something wrong with it. Converted it to color. Another 5 accounts banned. So currently converting into a hybrid, using reflection and color and completely rewrote the logic of the script. Still seeing bans.

    It's really confusing because the hunter scripts on RSbot have trashier logic's than mine, and break all the time yet the ban rate is so low.
    Faith is an oasis in the heart which will never be reached by the caravan of thinking.

  23. #23
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    I just bot 1 to 99 Magic on OSRS using an autoclicker in Objective-C on OSX.. no ban for a month now.. I bot it 24/7 but I did it in my player owned house so that I won't get banned. I figured OSX would have less of a chance of getting banned than any other OS since barely anyone uses it and Simba doesn't run well on it.. neither does RSBot (at least for me on Sierra 10.12.5). Level 1 every other skill (level 30 each skill now). Clicked the EXACT same spot every time. I figure Jagex is basing their bans on "Loaded Clients".. like custom loaders or based on player reports.. I did have to give up my mouse for 2 weeks though (sucked). But again, no one knows.. :l
    I am Ggzz..
    Hackintosher

  24. #24
    Join Date
    Aug 2007
    Location
    Hawaii
    Posts
    3,880
    Mentioned
    7 Post(s)
    Quoted
    152 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    I just bot 1 to 99 Magic on OSRS using an autoclicker in Objective-C on OSX.. no ban for a month now.. I bot it 24/7 but I did it in my player owned house so that I won't get banned. I figured OSX would have less of a chance of getting banned than any other OS since barely anyone uses it and Simba doesn't run well on it.. neither does RSBot (at least for me on Sierra 10.12.5). Level 1 every other skill (level 30 each skill now). Clicked the EXACT same spot every time. I figure Jagex is basing their bans on "Loaded Clients".. like custom loaders or based on player reports.. I did have to give up my mouse for 2 weeks though (sucked). But again, no one knows.. :l
    Damn.

    It's so confusing because one skill is allowed to be botted freely on particular bot client, yet it triggers a ban on another bot client. Despite the former having a far higher usage rate.
    Faith is an oasis in the heart which will never be reached by the caravan of thinking.

  25. #25
    Join Date
    Aug 2016
    Posts
    20
    Mentioned
    1 Post(s)
    Quoted
    6 Post(s)

    Default

    How jammy bans bots:

    Flag account:
    client heuristics (is client modified? gc rate. os. java version)
    ip (includes flagging blocks if multiple ips are flagged in the block)
    player reports
    player action pattern heuristics
    manually checking accounts in areas

    All the data is fed into some machine learning algorithm (neural net?) which provides wealth with which accounts to check on.

    After account is flagged:
    manually review account (wealth)
    or ban if detected doing something marked as instaban (tutorial island, red chins)


    How do not get banned:
    use a script that is human (very hard cause you are competing with machine learning. easier if you just bot 1 account)
    avoid getting flagged (easier)

    there are lots of good papers on bot detection that you can find on google.
    Last edited by dan1; 05-26-2017 at 12:41 AM.

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •