PuzzleCaptchaSolver is a Python project designed to solve various puzzle CAPTCHAs such as Geetest3, Geetest4, Binance, DataDome, TikTok, and others. This project leverages OpenCV to process images and identify the position of the puzzle piece (slide) within the background image.
- Whitespace Removal: Automatically crops the image to remove any unnecessary whitespace.
- Edge Detection: Highlights the edges of images to improve the accuracy of template matching.
- Slide Positioning: Accurately finds and marks the position of the puzzle piece within the background image.
- Clone the repository:
git clone https://github.com/vsmutok/Puzzle-Captcha-Solver.git cd Puzzle-Captcha-Solver
- Create and activate virtual environment:
python3 -m venv .venv source .venv/bin/activate
- Install the required dependencies:
pip install -r requirements.txt
The primary class in this project is PuzzleCaptchaSolver
. Here's how you can use it:
-
Initialization: Create an instance of
PuzzleCaptchaSolver
by providing the paths to the gap image, background image, and the output image path. -
Discern: Call the
discern
method to process the images and find the position of the slide.
from PuzzleCaptchaSolver import PuzzleCaptchaSolver
if __name__ == "__main__":
solver = PuzzleCaptchaSolver(
gap_image_path="demo/geetest4/1_slice.png",
bg_image_path="demo/geetest4/1_bg.png",
output_image_path="demo/geetest4/1_result.png"
)
position = solver.discern()
print(f"The position of the slide is: {position}")
Input Images:
- Background Image
- Slide Image
Output Image:
In the resulting image, the detected position of the sliding piece is highlighted with a red rectangle.
remove_whitespace(image)
: Removes whitespace from an image.apply_edge_detection(img)
: Applies edge detection on the given image.find_position_of_slide(slide_pic, background_pic)
: Finds the position of the slide on the background picture.discern()
: Performs the full discernment process to find the position of the slide in the given images.
Contributions are welcome! If you have any suggestions, feel free to open an issue or create a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
- OpenCV for their powerful image processing library.
By using this project, you can efficiently solve various puzzle CAPTCHAs, making it easier to automate interactions with websites that use these types of verifications.
This repository is created for informational purposes only. I do not advise or condone violating the policies of any website.