unCaptcha combines free, public, online speech-to-text engines with a novel phonetic mapping technique, demonstrating that it requires minimal resources to mount a large-scale successful attack on the reCaptcha system.
Since reCaptcha was updated to counter the use of Selenium, a browser automation engine, unCaptcha2 uses [PyAutoGUI](https://pyautogui.readthedocs.io/) to move to certain pixels on the screen and move around the page like a human.
Briefly, unCaptcha works in the following steps:
1. Navigate to Google's reCaptcha Demo site
2. Navigate to audio challenge for reCaptcha
3. Download audio challenge
4. Submit audio challenge to speech-to-text
5. Parse response and type answer
6. Press submit and check if successful
## Installation
Start by cloning the repository:
```sh
$ git clone git@github.com:ecthros/uncaptcha2.git
```
Since unCaptcha2 has to go to specific coordinates on the screen, you'll need to update the coordinates at the top of `run.py` based on your setup. On Linux, you can use the following command to find the coordinates of your mouse:
```sh
$ xdotool getmouselocation --shell
```
Next you'll need to configure credentials for whichever speech-to-text API you choose. Google's, Microsoft's, and IBM's speech-to-text systems are already included in `queryAPI.py` (set the username and password as required).
For Google's API, you'll have to set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the name of a file containing your Google application credentials.