SRL Archive - News and General

anti-color bot theory


tealc

2012-07-04 02:08:26

My theory is probably wrong as I am new and not very familar with the backend of simba, if I am wrong please explain why. The argument that color bots can't be stopped is because see the screen just like a person. This is true but way the image is processed is very different:
  • simba analyzes a image to know when to click, type, etc
  • you use multiple images to visualize in 3D




So simba and color bots "scrape the screen" by reading the gpu buffer. Correct?

Runescape's rendering speed (frames per second) is based on your processor and not your gpu.

"This means that (despite there being an impact on 'FPS' as well as loading times) this is not a 'graphics' problem - i.e. your graphics card and level of graphics detail are unlikely to have much impact." mod jacmob rs forums Quick find code: 25-26-187-63506974 page 233)


This means they can use your unused gpu processing power for other stuff. If each frame was split into say 10 parts each divided up "randomly". There is a 90% chance that the image simba scrapes will be one frame with random pixels from the next frame ontop of it. This would probably mess up color density algorithms at the least. I'm not sure but i believe you would rarely notice a difference because computer moniters refresh much slower than gpu's.

This wouldn't affect bots that stand still most of the time. Could adding in a screen shift of one or two pixels, similar to plasma tvs anti-burn in feature, mess up bots alone and standing still?

Can simba scrape a screen that hasn't been rendered yet aka in the rendering pipeline? Im guessing it can but could runescape obfuscate the rendering pipeline?



  • I don't know if simba could be timed/scripted to scrape only good frames.
  • Would limiting video memory make it easier to unobfuscate the rendering pipeline?
  • This wouldn't completely stop color bot but it could make the slower and some untended clicking
  • Spliting a frame into 10 parts and obfuscating would propably reduce FPS



After typing this it seems a bit excessive for a "side project" of Optimus, but this could be the last step before GrayScape or BlackWhiteScape.

tldr;
If each frame is randomly broken into parts and moved to the front buffer part by part simba will likely scape an image that is a combination of the current and previous frame. This would trick simba so it can't tell if the scraped frame is a combination of 2 frames or one normal frame.

front buffer-is what the moniter will display when it refreshes.

Brandon

2012-07-04 02:20:38

AFAIK any screen scraping bot does not read from a back buffer or any for a matter of fact.

If I'm correct and I believe I am, you'd have to apply windows hooks to get data from the back buffer. This is why Simba cannot read minimized screens:

1. It reads from a DC aka Device Context where windows provides an HDC aka a Handle so that you can bitblt to a compatible DC and then use GetDIBits to grab the pixels from that. Smart does this.

2. I believe Simba uses GetChildWindowFromPoint(LPPoint). This is most likely the function used in windows to grab a handle to the window for which you want to get the Device context and select the object from. I would assume Simba's crosshairs uses this functionality.

3. If Simba sent WM_PrintMessage, it still won't read from a back buffer as you still have to provide a DC via CreateCompatibleDC or GetDC(NULL);

That three step process is how to create a bitmap on windows. Simba uses bitmaps internally to grab colours.

Jagex can hide their device contexts or somehow simulate a minimized window and that will force Simba to use Smart since Smart can be used minimized since it draws to it's own canvas and provides a buffer to read from.

If that happens, the only other option left for them to do is somehow break smart permanently. That would be all that it takes afaik. Dunno for other operating systems though.

Avast Antivirus's old cracking prevention used to block it's child windows from Spy++ and programs alike. Some how they also blocked the handles to their device contexts as well. Now they just block DLL's instead.

EDIT: https://github.com/BenLand100/SMART/blob/master/src/Smart.cpp

There.. You can see Smart using Windows functions. HBitmaps, HDC's, BITMAPINFOHEADER, BITMAPFILEINFO, etc..

Ezio Auditore da Firenze

2012-07-04 02:23:25

Would Jagex ever implement that of what Blizzard does to 'combat' botting by reading processes, and catching players that way? Or would it breach their Tos?

Not sure why, but if I try play Wow and run Simba at the same time there is a delay, and then Simba just closes? Would changing 'Simba.exe' to look like Avg or some sort of other program work?

shstiger2009

2012-07-04 02:31:46

To the OP, Simba doesn't read any code that is being sent from Runescape to the computer's GPU. It truly does "read the screen."

From: Jonno
Would Jagex ever implement that of what Blizzard does to 'combat' botting by reading processes, and catching players that way? Or would it breach their Tos?

Not sure why, but if I try play Wow and run Simba at the same time there is a delay, and then Simba just closes? Would changing 'Simba.exe' to look like Avg or some sort of other program work?


I'm pretty sure if they go in and read anyone's computer, it's a privacy issue, which is why Blizzard can't do it anymore. With that being said, I'm pretty sure the way they catch injection bots far more often than color bots (and still to this day I haven't heard of a Simba ban) is because they can possibly tell that the bots are reading client code.

Even then, if they could tell that, they could implement an automatic banning system that bans any account that they see. If from what people say is true, which I think is, you're banned by other players reporting you. But then why do F2P bots get banned far more than P2P?

Because Jagex doesn't ban P2P like they do F2P. As long as you're paying them, they're going to allow you to do it, even if they know. That's my take on it.

Based Lord

2012-07-04 02:33:20

I thought WoW's Anti-Bot/Cheat system was really just monitoring (Warder). I wouldn't think it would combat Simba

shstiger2009

2012-07-04 02:40:04

From: Based Lord
I thought WoW's Anti-Bot/Cheat system was really just monitoring (Warder). I wouldn't think it would combat Simba


Yeah, I don't really know how Warden works. But it can tell if you inject into their client I think.

Basically Jagex's banning system in my eyes, at least now since that company bought half or however much they bought:

program BanningSystem;

begin
if P2P then
WeDontCare;
end;

begin
if F2P then
YouAreBanned;
end;

:D

Ezio Auditore da Firenze

2012-07-04 02:49:38

From: shstiger2009
To the OP, Simba doesn't read any code that is being sent from Runescape to the computer's GPU. It truly does "read the screen."



I'm pretty sure if they go in and read anyone's computer, it's a privacy issue, which is why Blizzard can't do it anymore. With that being said, I'm pretty sure the way they catch injection bots far more often than color bots (and still to this day I haven't heard of a Simba ban) is because they can possibly tell that the bots are reading client code.

Even then, if they could tell that, they could implement an automatic banning system that bans any account that they see. If from what people say is true, which I think is, you're banned by other players reporting you. But then why do F2P bots get banned far more than P2P?

Because Jagex doesn't ban P2P like they do F2P. As long as you're paying them, they're going to allow you to do it, even if they know. That's my take on it.


Ah, I see :), thanks for the feedback!

From: shstiger2009
Yeah, I don't really know how Warden works. But it can tell if you inject into their client I think.

Basically Jagex's banning system in my eyes, at least now since that company bought half or however much they bought:

program BanningSystem;

begin
if P2P then
WeDontCare;
end;

begin
if F2P then
YouAreBanned;
end;

:D


Haha good one, I reckon that might just be the case these day's. I wonder if they will ever removed the Macroing rule ;)

BobboHobbo

2012-07-04 03:13:31

From: shstiger2009
Yeah, I don't really know how Warden works. But it can tell if you inject into their client I think.

Basically Jagex's banning system in my eyes, at least now since that company bought half or however much they bought:

program BanningSystem;

begin
if P2P then
WeDontCare;
end;

begin
if F2P then
YouAreBanned;
end;

:D


Thats incorrect, awhile ago Ive lost my main, was lv 134? member for atleast 6 years on and off. Wasnt from SIMBA but, some injection bot my mate ran on it, 24/7 for like a month haha, but that was asking for it i guess. But I did get banned using SCAR once with one of Yew Cutters about 3-4 years ago. But was a minor Macroing offence lol, was also a member.