dessant / buster

Captcha solver extension for humans, available for Chrome, Edge and Firefox
https://addons.mozilla.org/en-US/firefox/addon/buster-captcha-solver/
GNU General Public License v3.0
7.89k stars 593 forks source link

Simulated user input moves the mouse incorrectly #27

Closed anna-is-cute closed 5 years ago

anna-is-cute commented 5 years ago

Whenever I click on the button that Buster adds when simulated user input is enabled, the mouse moves to one edge of the screen instead of wherever it's supposed to go.

If it's important, I had to build the client binary and installer myself, since the distributed version uses a very old version of libpng that I couldn't install on my system (libpng12 vs libpng16).

dessant commented 5 years ago

Are you on X11 or Wayland?

anna-is-cute commented 5 years ago

X11

dessant commented 5 years ago

I'm not sure what causes the sideways movement, please run this in your browser console: window.devicePixelRatio. Which distro and version are you using? Is your desktop environment scaled up or is your monitor HDPI? I could try recreating your env in a VM to reproduce the bug.

I'll drop the robotgo dependency entirely at some point (which requires libpng) and call system APIs directly.

anna-is-cute commented 5 years ago

I figured it had to do with scaling. Yes, monitor is HiDPI. window.devicePixelRatio is 1, but GNOME is scaled to 200%. I'm using Ubuntu 18.10 (cosmic) and Firefox 67.0a1 (2019-02-11).

dessant commented 5 years ago

Btw, until the mouse issue is solved, you could navigate with Shift+Tab to the extension button and press Enter. It opts for keyboard navigation if the user initiates the solving with a keyboard.

dessant commented 5 years ago

Ugh, so it looks like Firefox does not report OS scaling properly. I have only accounted for window.devicePixelRatio to handle scaling.

anna-is-cute commented 5 years ago

For what it's worth, Firefox does report pixel ratio properly, but I have the privacy.resistFingerprinting option enabled, which makes it report 1.

dessant commented 5 years ago

Oo of :joy_cat:

dessant commented 5 years ago

Thanks for testing! I did not know resistFingerprinting can also spoof devicePixelRatio.

anna-is-cute commented 5 years ago

No problem. Although, when I turned off resistFingerprinting, the mouse still didn't end up in the right spot (it went in the inverse direction, I think), and I'm a little boggled at that.

dessant commented 5 years ago

Please do a test with OS scaling set to 1, let's see if the last issue is entirely because of scaling.

anna-is-cute commented 5 years ago

Works as intended with the OS scaling set to 1.

dessant commented 5 years ago

Thanks a bunch for your time, I'll try to reproduce and fix the bug.

dessant commented 5 years ago

The fix was published on AMO, please let me know if there are other issues related to scaling.

Bluscream commented 5 years ago

I have the same problem, my cursor just moves down indefinitly until it reaches the bottom of the screen

dessant commented 5 years ago

@Bluscream, which version of the extension are you using? Please share more details about your environment.

Bluscream commented 5 years ago

I am using the version from the mozilla store in firefox quantum, what else do you need? I can give it here once im back on my pc

dessant commented 5 years ago

@Bluscream, please open a new issue, the bug report template will list all the needed information, also include your display type, and whether you are using display scaling, or if you are zooming the web page.

Bluscream commented 5 years ago

Okay thanks

dessant commented 5 years ago

@Bluscream, it's also possible that the browser does not report the correct scale, it may happen if you have enabled privacy.resistFingerprinting, or a privacy extension.

Bluscream commented 5 years ago

I use a lot of privacy settings/addons. So people using that cant use the client?

dessant commented 5 years ago

It really depends on the extensions and specific settings you use, and also your os scaling and page zooming. Let me know if you figure out which extension and setting is interfering with Buster.

Bluscream commented 5 years ago

The problen with that is that i have no idea. I use them to not have to think about that Kinda stuff. I could dump everything out for you.

Bluscream commented 5 years ago

Browser

Name Firefox
Version 66.0b12
Build ID 20190228180200
Update History
Update Channel aurora
User Agent Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0
OS Windows_NT 10.0

Extensions

Name Version Enabled ID
Absolute Enable Right Click & Copy1.3.8true{9350bc42-47fb-4598-ae0f-825e3dd9ceba}
AdGuard AdBlocker2.10.17trueadguardadblocker@adguard.com
Auto Reload Tab0.5true{0ed335eb-9779-4d7f-b9d8-7ec2e96a1f43}
Buster: Captcha Solver for Humans0.4.1true{e58d3966-3d76-4cd9-8552-1582fbc800c1}
CanvasBlocker0.5.8trueCanvasBlocker@kkapsner.de
Chrome Store Foxified3.4trueChrome-Store-Foxified@jetpack
CoderStats link for Github Coders2.0.0truejid1-HAA0sgdoxNv9aA@jetpack
Dark Reader4.7.6trueaddon@darkreader.org
Feedbro3.39.0true{a9c2ad37-e940-4892-8dce-cd73c6cbbc0c}
File Icon for GitHub, GitLab and Bitbucket0.8.1true{85860b32-02a8-431a-b2b1-40fbd64c9c69}
Friendly GitHub18.9.13.2209true{073711a2-ea6d-49f2-98b6-0d7ea340c06f}
GitHub Issue Hoister0.1.0true{f72823f3-f1b7-4c5f-b708-a1a8a24700f6}
Github Repo Size1.3.0truegithub-repo-size@mattelrah.com
Google images view image button1.3truegoogle_images_view_image_button@mail.com
Google Translator for Firefox3.0.3.3truetranslator@zoli.bod
HTTPS Everywhere2019.1.31truehttps-everywhere@eff.org
Open in Browser2.8trueopeninbrowser@www.spasche.net
QR Code Generator3.0.0truejid0-RwTySlpoKU14fw7yw2AflOAihhA@jetpack
Remove Cookie for Google Account Chooser2.0truejid1-Rm4h1P3jB1IL4w@jetpack
Shodan0.3.2truejid1-AWt6ex5aPvWtTg@jetpack
Snap Links3.1.5truesnaplinks@snaplinks.mozdev.org
Stylus1.5.2true{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}
uMatrix1.3.16trueuMatrix@raymondhill.net
View Page Archive & Cache1.5.3true{d07ccf11-c0cd-4938-a265-2a4d6ad01189}
Violentmonkey2.10.1true{aecec67f-0d10-4fa7-b7c7-609a2db280cf}
Wappalyzer5.7.3truewappalyzer@crunchlabz.com
Wayback Machine1.8.6truewayback_machine@mozilla.org
Web Developer2.0.1true{c45c406e-ab73-11d8-be73-000a95be3b12}
Wide GitHub1.0.1true{72742915-c83b-4485-9023-b55dc5a1e730}
Advanced GitHub Notifier1.4.6false{8d4b86c5-64bf-4780-b029-0112386735ab}
GitHub Canned Responses1.0.8falsegithub-canned-responses@example
GitHub Notifier1.3.2false{0906178a-2043-4d0c-a099-bd6a4d00945e}
GitHub with a cape1.4.5false{38834a56-84c1-4489-8160-97192066217d}
New Tab Override14.2.0falsenewtaboverride@agenedia.com
OkayFreedom1.6.2false{DB981CCA-088E-4731-A4A2-2FE218703C0E}
Refined GitHub19.2.27.1835false{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}

Settings

Name Value
accessibility.force_disabled1
accessibility.typeaheadfind.flashBar0
browser.cache.disk.capacity1048576
browser.cache.disk.filesystem_reported1
browser.cache.disk.smart_size.first_runfalse
browser.display.document_color_use1
browser.download.useDownloadDirfalse
browser.sessionstore.upgradeBackup.latestBuildID20190228180200
browser.startup.homepage_override.buildID20190228180200
browser.startup.homepage_override.mstone66.0
browser.urlbar.placeholderNameGoogle
browser.urlbar.timesBeforeHidingSuggestionsHint0
dom.push.userAgentID03f6a33f95154a6b89edd8d42487c99a
extensions.lastAppVersion66.0
font.internaluseonly.changedfalse
gfx.canvas.skiagl.dynamic-cachefalse
layers.mlgpu.sanity-test-failedfalse
media.gmp-gmpopenh264.abix86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate1549966397
media.gmp-gmpopenh264.version1.7.1
media.gmp-manager.buildID20190228180200
media.gmp-manager.lastCheck1551528011
media.gmp-widevinecdm.abix86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate1549966399
media.gmp-widevinecdm.version4.10.1146.0
media.gmp.storage.version.observed1
media.hardware-video-decoding.failedfalse
network.cookie.cookieBehavior3
network.dns.disablePrefetchtrue
network.http.speculative-parallel-limit0
network.predictor.cleaned-uptrue
network.predictor.enabledfalse
network.prefetch-nextfalse
places.database.lastMaintenance1551328301
places.history.expiration.transient_current_max_pages129775
plugin.disable_full_page_plugin_for_typesapplication/pdf
privacy.cpd.cachefalse
privacy.cpd.cookiesfalse
privacy.cpd.downloadsfalse
privacy.cpd.formdatafalse
privacy.cpd.historyfalse
privacy.donottrackheader.enabledtrue
privacy.resistFingerprintingtrue
privacy.sanitize.pending[{"id":"newtab-container","itemsToClear":[],"options":{}}]
security.enterprise_roots.enabledtrue
security.mixed_content.block_active_contentfalse
security.mixed_content.upgrade_display_contenttrue
security.sandbox.content.tempDirSuffix{e705a2a7-1cd7-4e31-8b56-0d147135c68c}
security.sandbox.plugin.tempDirSuffix{f9794e45-32a8-44af-98e9-82f081c0cde1}
services.sync.declinedEngines
services.sync.engine.bookmarks.validation.lastTime1549978761
services.sync.engine.passwords.validation.lastTime1549978761
services.sync.engine.prefs.modifiedfalse
services.sync.lastPing1551587310
services.sync.lastSyncSun Mar 03 2019 07:14:45 GMT+0000 (Coordinated Universal Time)
signon.importedFromSqlitetrue
storage.vacuum.last.index1
storage.vacuum.last.places.sqlite1549966565
ui.osk.debug.keyboardDisplayReasonIKPOS: Touch screen not found.
s73b4n commented 5 years ago

Hello @dessant , just to inform that today I try the new user input simulation feature but is not working properly for me. I figured out the reason is because I have my desktop scaled to 125%. I tried in the console with window.devicePixelRatio and is showing 1.25, hope it helps. I would thank you a lot if you could fix this, you have done an amazing work. btw im using chrome on w10.

dessant commented 5 years ago

@s73b4n, please open a new issue and fill out the issue template with all the requested details, that should help with reproducing the bug.

s73b4n commented 5 years ago

ok, will do it so, thanks for the fast reply.