|
|
|
# unCaptcha
|
|
|
|

|
|
|
|
|
|
|
|
unCaptcha is an automated system that can solve reCaptcha's most difficult auditory challenges with high success rate.
|
|
|
|
|
|
|
|
[Website](http://uncaptcha.cs.umd.edu/) | [GitHub](https://github.com/ecthros/uncaptcha2) | [Paper](http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf)
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
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.
|
|
|
|
|
|
|
|
Finally, install the dependencies:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ pip install -r dependencies.txt
|
|
|
|
``` |
|
|
|
\ No newline at end of file |