SRL Archive - SRL Site Discussion

Open/Closed Source and Detectability


RAM

2010-01-14 15:50:53

Open/Closed Source and Detectability…..Discuss away …..

mixster

2010-01-14 15:52:34

The most detectable part of macroing is the SRL library and that has been open sauce for a long time. RSBot is more of a threat, so unlikely to target specifically SRL and especially unlikely to look through the code to locate any points of detectability.

Dan Cardin

2010-01-14 17:15:48

could not the code of how it is being accessed, the colors and whatnot, be helpful in them being able to make rs more prone to not working? Or am i overestimating rs's abilities?

mixster

2010-01-14 17:23:19

Well, they have to maintain a balance between making objects hard to detect and making them look like they should. After all, they could prevent all colour macroing by using a large amount of colours in all objects with very few unique colours, but then they wouldn't look at all like the object they are supposed to be.

YoHoJo

2010-01-14 17:28:49

Hmm, well the only main thing they can see that will help then any is mainly how our mouse moves and how we type with SCAR I guess. I mean none of the 'finding' procedures/functions do anything physically on rs, we just move the mouse. So if they find something crazy/weird/detectable about how our mouse moves, then they can maybe do something, but afaik our mouse movements = human, can't tell the difference, so I'm not scared anymore.

Dan Cardin

2010-01-14 17:38:19

i meant on the how the program finds the colors on the screen arena. I dont know if it would be possible to use that information to somehow deny access through that method but it was just something that came to mind.

senrath

2010-01-14 17:48:42

From: Dan Cardin
i meant on the how the program finds the colors on the screen arena. I dont know if it would be possible to use that information to somehow deny access through that method but it was just something that came to mind.


From what I understand, the only way to deny us that information would be to deny the screen from displaying it, which is something that they can't/won't do, because it would kill the game.

acureon

2010-01-14 17:49:19

but see what if there is some information that is unique between any other client vs SMART that they can look for within the source code, once they have something like that, sure they can't just deny access to SMART buttt they could keep a "watch" on SMART users and throw randoms and whatever it is they do to other people "suspected" of macroing you see where I'm coming from?

(kinda happy my stupid little question led to this whole new discussion XD)

caused

2010-01-14 18:02:24

I'm quite sure that the Java-Client RS uses can detect if the windows API moves the mouse, so we're all screwed anyways ;) ….

~caused

mixster

2010-01-14 18:09:05

Do you have any proof for that belief, because I think it's absurd on several levels.

Wanted

2010-01-14 18:10:01

From: caused
I'm quite sure that the Java-Client RS uses can detect if the windows API moves the mouse, so we're all screwed anyways ;) ….

~caused


Lol because SCAR doesn't use windows API? [sarcasm]

YoHoJo

2010-01-14 18:13:49

Color wont be 'blocked' rofl, impossible. If the colors on the screen, and we can see it, SCAR can pick it! And well like someone said in the other thread, nothing about smart is bad :p, just a client, its scar the autos, and something else about SMART disguising itself as firefox browser.

caused

2010-01-14 18:15:45

When you use smart it can be detected if you don't receive the (page that contains the) advertisement…

Wanted

2010-01-14 18:18:21

From: caused
When you use smart it can be detected if you don't receive the (page that contains the) advertisement…


Yea along with another 100k legit players XD :stirthepot:

senrath

2010-01-14 18:40:32

From: IceFire908
Yea along with another 100k legit players XD :stirthepot:


Which can be banned, according to the Runescape ToS.

Wanted

2010-01-14 18:42:59

From: senrath
Which can be banned, according to the Runescape ToS.


Well if they want to ban botters that bad than with that logic they should just ban everyone.

Probably still won't stop the Chinese though

senrath

2010-01-14 18:52:06

From: IceFire908
Well if they want to ban botters that bad than with that logic they should just ban everyone.

Probably still won't stop the Chinese though


It's not really about the botters, this time. Their ToS has included, since pretty much the beginning, a statement about how blocking the ads on their F2P page can get you banned.

Wanted

2010-01-14 19:01:07

From: senrath
It's not really about the botters, this time. Their ToS has included, since pretty much the beginning, a statement about how blocking the ads on their F2P page can get you banned.


They aren't going to ban 100k + people… would be a dumb business move and cost them much more than stupid ad revenue. Besides most people that play RS don't even have a choice of the ad is blocked because they are kids and their parents set up the firewall.

senrath

2010-01-14 19:05:47

I'm not saying that they will, just that they could and it wouldn't even be without warning.

Dan Cardin

2010-01-14 21:27:54

so why is it that other games cant be autoed on? i thought it was because they either blocked access from outside things or they didnt allow those kind of programs to be running while the game was. With the source, wouldnt it make it easier to determine such things?

Infantry001

2010-01-14 21:32:33

From: Dan Cardin
so why is it that other games cant be autoed on? i thought it was because they either blocked access from outside things or they didnt allow those kind of programs to be running while the game was. With the source, wouldnt it make it easier to determine such things?


What other games are you wondering about? There are many games I know of that can be autoed on…

Sir R. M8gic1an

2010-01-15 04:28:39

Scar basically reads off the screen. If you can, scar can. The way to stop it is to literally make the game go one color.

~RM

Narcle

2010-01-15 08:44:11

Wasn't there something called GameGuard that didn't allow you to select the client or some such? So therefor you couldn't read it etc.

n3ss3s

2010-01-15 08:51:45

From: caused
When you use smart it can be detected if you don't receive the (page that contains the) advertisement…



private String parseArg(String arg) {
return Pattern.matches("\".*\"", arg) ? arg.substring(1, arg.length() - 1) : arg;
}

/**
* Sets up the RuneScape client with all needed (and some extra) settings.
*/
private void initApplet(String root, String params) throws Exception {
String jsInfoPage = downloadHTML(root + params);
jsInfoPage = jsInfoPage.substring(Math.max(jsInfoPage.indexOf("<applet"), jsInfoPage.indexOf("write('<app")), jsInfoPage.indexOf("</applet>"));
System.out.println("Applet Loader Parsed");
thisLoader = new URLClassLoader(new URL[]{new URL(root + parseArg(search(jsInfoPage, archiveRegex, 1)))});
clientApplet = (Applet) (thisLoader.loadClass(parseArg(search(jsInfoPage, codeRegex, 1)).split("\\.")[0]).newInstance());
HashMap<String, String> paramMap = new HashMap<String, String>();
paramMap.put("width", parseArg(search(jsInfoPage, widthRegex, 1)));
paramMap.put("height", parseArg(search(jsInfoPage, heightRegex, 1)));
Matcher matcher = Pattern.compile("<param name\\=([^ ]*) value\\=([^>]*)>").matcher(jsInfoPage);
while (matcher.find()) {
paramMap.put(matcher.group(1), parseArg(matcher.group(2)));
}
ClientStub stub = new ClientStub(root + parseArg(search(jsInfoPage, archiveRegex, 1)), root, paramMap);
clientApplet.setStub(stub);
clientApplet.setPreferredSize(new Dimension(width, height));
stub.active = true;
System.out.println("Applet Parameters Forwarded");
}

It does ;)

Markus

2010-01-15 09:05:36

From: caused
I'm quite sure that the Java-Client RS uses can detect if the windows API moves the mouse, so we're all screwed anyways ;) ….

~caused


Of course the mouse driver also just calls the windows API to move the mouse ;)

senrath

2010-01-15 15:29:06

From: Narcle
Wasn't there something called GameGuard that didn't allow you to select the client or some such? So therefor you couldn't read it etc.


GameGuard is expensive, and requires a stand-alone exe to work. Unless things have changed in the last couple of months, it cannot be implemented in Runescape.

Gu3st...

2010-01-15 17:10:25

From: senrath
GameGuard is expensive, and requires a stand-alone exe to work. Unless things have changed in the last couple of months, it cannot be implemented in Runescape.
Correct


And GameGuard can easily be solved, all you would need to do is not specify any client, and make SCAR find the start and end positions :)

Narcle

2010-01-15 17:13:37

I didn't say it Jagex uses or will use it just that its possible. I know some higher developed games use it to stop things such as this.

BenLand100

2010-01-16 13:10:23

FYI: I could easily tell you (from the runescape side) if RS was running in SMART (or what else it was running in). Being open source just cuts down on the guesswork. Luckily for all of you, they simply don't care that much.

senrath

2010-01-16 13:24:11

From: BenLand100
FYI: I could easily tell you (from the runescape side) if RS was running in SMART (or what else it was running in). Being open source just cuts down on the guesswork. Luckily for all of you, they simply don't care that much.


I'm curious as to how they would. I mean, doesn't it tell them it's something else?

mixster

2010-01-16 13:41:46

If I were to hazard a guess, as BenLand100 replaces the Java Canvas class, they could possibly check to see if the Canvas class being used has things that BenLand100 uses that the normal one does not.

senrath

2010-01-16 14:05:30

Ah, that would make sense.

BenLand100

2010-01-16 14:16:04

Or just Class.forName("smart.Client")… lol

n3ss3s

2010-01-17 04:37:27

From: mixster
If I were to hazard a guess, as BenLand100 replaces the Java Canvas class, they could possibly check to see if the Canvas class being used has things that BenLand100 uses that the normal one does not.


The graphical debug we do on SMART is done on SMART's debug canvas, not RS'.

mixster

2010-01-17 09:20:13

Not that - the actual Canvas class that the RS Applet uses isn't the same one that is in the normal Java JRE since BenLand puts his own in to be able to do the minimized coloury stuff. So, they could check to see if the canvas being used offers methods or variables that the normal one did not, but Smart's did - though BenLand also just pointed out they could look for Smart stuff more easily than this.

Cartmann

2010-01-17 09:24:43

Are you saying that SMART has become detectable? And because it's open source?

mixster

2010-01-17 09:35:26

No, it was always possible to be detected, but Jagex hasn't bothered to. If they did, they would target RSBot first anyway as they are a much bigger "threat" to RS. I really think Jagex know that bots are an important part of the RS economy and game, but that they must maintain the image of coming down on bots to ensure normal players remain happy that they aren't wasting their time and controlling the size of the botting accounts.

Gu3st...

2010-01-17 09:42:30

There are some games that scar can't auto on.
For example:
Any Rose-online private servers (if you target it then scar wont see any changes in the canvas, thus rendering it unuseable.
Dofus (HoldMouse, ReleaseMouse, ClickMouse, doesn't work)

silentwolf

2010-01-18 14:10:30

Where there's a will there's a way :)

Gu3st...

2010-01-18 14:14:05

From: silentwolf
Where there's a will there's a way :)
True. Especially in programming. ANYTHING is possible, it's only about finding the way to do it

GoF

2010-01-19 05:32:22

From: Zyt3x
Correct


And GameGuard can easily be solved, all you would need to do is not specify any client, and make SCAR find the start and end positions :)


Those protection systems make SCAR unable to find any color except 0 from anywhere while running, atleast from my experience..

My guess for the #1 reason RS hasn't implemented anything like this already would be that people using color macros is just a fraction of all botters, and RS is known as being "the biggest and best browser MMORPG", and making it require a dl would kind of ruin that, and it's probably their primary excuse for it looking like crap.. I'd guess their next big project MechScape will have something like this, unless they're planning to make it a silly browser game too. Well, that's kind of two reasons but who cares.

Gu3st...

2010-01-19 07:05:26

From: GoF
Those protection systems make SCAR unable to find any color except 0 from anywhere while running, atleast from my experience..
For me GameGuard froze the client that SCAR was "aim"-ing at

Cartmann

2010-01-19 09:42:50

So this would actually means that every SMART user (which is probably 90% of the people using this for Runescape) could receive mass bans any day?

Isn't it possible to disguise it?

senrath

2010-01-19 10:38:26

From: GoF
Those protection systems make SCAR unable to find any color except 0 from anywhere while running, atleast from my experience..

My guess for the #1 reason RS hasn't implemented anything like this already would be that people using color macros is just a fraction of all botters, and RS is known as being "the biggest and best browser MMORPG", and making it require a dl would kind of ruin that, and it's probably their primary excuse for it looking like crap.. I'd guess their next big project MechScape will have something like this, unless they're planning to make it a silly browser game too. Well, that's kind of two reasons but who cares.


Well, that and GameGuard only runs on Windows, which would eliminate a decent amount of their playerbase if they implemented it.

mixster

2010-01-19 10:58:31

From: Cartmann
So this would actually means that every SMART user (which is probably 90% of the people using this for Runescape) could receive mass bans any day?

Isn't it possible to disguise it?


Use a browser (& VM) instead of Scar.

mrpickle

2010-01-19 21:34:59

We need more coders.

Cartmann

2010-01-20 03:59:29

hehe, we allready have alot of nice coders :P but could be cool with someone to fix reflection.

Gu3st...

2010-01-20 11:14:14

From: Cartmann
hehe, we allready have alot of nice coders :P but could be cool with someone to fix reflection.
Some people are fixing reflection, and there is a new reflection coming soon that wont break once in maybe 2 years :)

Cartmann

2010-01-20 11:23:56

Yeah i think SilentWolfs project is nice, but the requirements to run it is very different from the normal smart requirements, HD wont support my server project in the same way (not only the higher CPU, but i would probably need to throw some crazy amount of money into gfx cards) IMO, it would only be usefull for task which reflection might not be able to handle (quest, mini-games, -quests and so on.)

And reflection being fixed soon? AFAIK, the guy who attempted to do it have been at 75% for like 1-2 months now, i think he's working on the upcoming Simba client if i'm not entirely wrong?

Gu3st...

2010-01-20 15:07:34

From: Cartmann
Yeah i think SilentWolfs project is nice, but the requirements to run it is very different from the normal smart requirements, HD wont support my server project in the same way (not only the higher CPU, but i would probably need to throw some crazy amount of money into gfx cards) IMO, it would only be usefull for task which reflection might not be able to handle (quest, mini-games, -quests and so on.)

And reflection being fixed soon? AFAIK, the guy who attempted to do it have been at 75% for like 1-2 months now, i think he's working on the upcoming Simba client if i'm not entirely wrong?
Simba client? You mean the new macro program Simba? ;)

There is more than one person working on reflection, and quests are possible to do with reflection afaik

Method

2010-01-20 17:21:07

From: Zyt3x
There is more than one person working on reflection, and quests are possible to do with reflection afaik


The people I knew were 'working on it' have stopped talking to me and asking me about reflection, so as far as I know no more progress has been made for a while.

Cartmann

2010-01-20 17:53:20

From: Method
The people I knew were 'working on it' have stopped talking to me and asking me about reflection, so as far as I know no more progress has been made for a while.


Hmm, what language is reflection written in? - Java?
And how long would it take for a newcomer to "help working" on it?

Gu3st...

2010-01-20 17:56:47

From: Cartmann
Hmm, what language is reflection written in? - Java?
And how long would it take for a newcomer to "help working" on it?
All that is needed now is to remake the procedures and functions inside Reflection.scar
E: Or.. That's afaik what's left

Method

2010-01-20 18:53:12

From: Cartmann
Hmm, what language is reflection written in? - Java?
And how long would it take for a newcomer to "help working" on it?


Reflection is a subset of the Java API (java.lang.reflect I think).

It would take you months, if not years to help update reflection knowing nothing about the RuneScape client.

mormonman

2010-01-21 00:10:56

From: Method
The people I knew were 'working on it' have stopped talking to me and asking me about reflection, so as far as I know no more progress has been made for a while.


You should pump out a tiletoms function…