ecc521 / gimkit-bot

An answer bot for gimkit
GNU General Public License v2.0
45 stars 73 forks source link

Remove all possible avenues of breakage and detection via native application #18

Closed ecc521 closed 3 years ago

ecc521 commented 4 years ago

At this point, GimKit has made clear their intention to kick out users for simply defining a variable in their console. Future changes, including varying HTML trees, canvas based text, or detection based on unrealistic click positioning could well happen in the future.

Adjusting to these changes reactively can work, but it is clear, as of now, that GimKit can, with a little bit of work, break this bot whenever they want, and give me equally as much work to work around it. This is a losing proposition. Reliability can't be guaranteed, and GimKit can give me more work that I am willing to complete. Although other projects, such as the one by @SnowLord7 may prevent them from focusing explicitly on this one, gimkit-bot is still a minor side project for me that I am not interested in maintaining.

At this point it's pretty clear that the only future proof way for this bot to function is via a native app. We can use screencapture and text recognition to remove our dependance on GimKit's client side code, and randomize click positions inside bounds to prevent GimKit from detecting us via mouse movements. Basically, we act like a human, except for never slowing down and not missing known questions.

If you're interested in helping out, or have any suggestions on this, please feel free to post here.

ghost commented 4 years ago

We can make it in Python and use TKinter for a GUI.

floppian commented 4 years ago

We can make it a bot that uses gimkit against itself. A bot that can take control of the insides of gimkit, just by opening up the outside..

I just fear that future updates will decrease compatibility or efficiency.

ecc521 commented 3 years ago

I've concluded that this probably won't happen. While this kind of implementation would be entirely possible, I don't really have significant interest in doing this, and probably wouldn't have the time anyways. On top of that, the permissions required by such an application would be relatively extreme - control the mouse pointer, and capture the screen. Those kind of permissions cause headaches by themselves, especially cross platform - these are the same permissions used by remote access software in "Windows Support" scams, etc.

It's totally possible. But it would be a lot of work. Breaking GimKit again doesn't interest me a whole lot, and I sure wouldn't get any GitHub Sponsors.

Also - it's really a different project. That would be brand new program from scratch with no resemblance to this one. This isn't the right place.