Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Уникайте витоків CDP, замінюючи доріжки миші з нуля #7

Open
MiddleSchoolStudent opened this issue Dec 12, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@MiddleSchoolStudent
Copy link
Owner

https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent

Всі основні антиботи визначають траєкторію руху миші, потрібно замінити це і інтегрувати деяку логіку в C++.

Необов'язково:
https://github.com/riflosnake/HumanCursor
https://github.com/Xetera/ghost-cursor

@MiddleSchoolStudent MiddleSchoolStudent added the enhancement New feature or request label Dec 12, 2024
@MiddleSchoolStudent MiddleSchoolStudent self-assigned this Dec 12, 2024
@Eth3rnit3
Copy link

Do you mean that the displacements don't have to be linear, otherwise they can be detected?

@MiddleSchoolStudent
Copy link
Owner Author

Do you mean that the displacements don't have to be linear, otherwise they can be detected?

Check this out: https://blog.castle.io/bot-or-not-can-you-spot-the-automated-mouse-movements/

@Eth3rnit3
Copy link

Do you mean that the displacements don't have to be linear, otherwise they can be detected?

Check this out: https://blog.castle.io/bot-or-not-can-you-spot-the-automated-mouse-movements/

Yes indeed, the article is interesting. So the bezier curve isn't enough, you need speed variations and possibly unnecessary scroll or hover movements on various elements before clicking on the target. As long as it doesn't look like a big mess, I think that drowning out the movements should make it possible to fool detection.

But the article is nearly 5 years old, so it's still not new in theory. If it's still not really applied, it must be difficult to differentiate.

@MiddleSchoolStudent
Copy link
Owner Author

Do you mean that the displacements don't have to be linear, otherwise they can be detected?

Check this out: https://blog.castle.io/bot-or-not-can-you-spot-the-automated-mouse-movements/

Yes indeed, the article is interesting. So the bezier curve isn't enough, you need speed variations and possibly unnecessary scroll or hover movements on various elements before clicking on the target. As long as it doesn't look like a big mess, I think that drowning out the movements should make it possible to fool detection.

But the article is nearly 5 years old, so it's still not new in theory. If it's still not really applied, it must be difficult to differentiate.

That true isn't very new, the major antibots have been collecting mouse movements to analyze trajectories for a long time ---- when reverse-engineering their source code and finding out that they're collecting these trajectories, it's probably enough to guess what they're sneaking things in.
Then again, a lot of Bots are still relying on puppeteer / playwright built-in functions to move the mouse, and these linear methods are definitely easy to detect.
So I'd like to implement this logic in botbrowser's c++ code, such that when Input.dispatchMouseEvent gets invocked, I'll refer to ghostcursor to add some intermediate points to avoid detection.

@Eth3rnit3
Copy link

Very well, then yes, that would probably be enough for now. I've set up a bezier curve applied during each move https://github.com/Eth3rnit3/chromate/blob/main/lib%2Fchromate%2Fhardwares%2Fmouse_controller.rb#L85 I'd be curious to see what the combination of the two would give. Probably even more credibility to the movement 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants