Bypassing Funcaptcha in 2 ways solutions

CAPTCHAFORUM

Administrator
Arkose Labs introduces different types of captcha protection.
2Captcha is Arkose Labs captcha (Funcaptcha) solver.
In this article, we will look at 2 options for completing tasks for the user.
The instructions describe the process of interacting with API.

Details about the tasks

Funcaptcha has two main options:
  1. Standard grid captcha
  2. funcaptcha_compare

Grid captcha type:​

In this case, the user is offered a set of images divided into sections with numeric labels. He must select an image corresponding to the provided text description.
Example: On the left side there is an image with the number 8, and on the right there is a set of images with various objects. The user needs to select an image where the sum of the object values is 8.
Image example:
662c11cade28d817d1882d83.jpeg


662c14939a539c110d37557a.jpeg


How to solve a captcha using the API?

1. Get the image of captcha

To solve the captcha in this way, you need to transfer the ENTIRE image.
  • Open the "Network" tab in your browser's developer tools.
  • Find a request with a captcha image, this is a request with a URL
  • In the section 'Headers', you will find a field containing the URL of the captcha image.
  • Open the image and save it, after you can convert it to base64.

2. Get the text instruction

  • Find the element with instructions for the captcha

Funcaptcha_compare type:​

In this version, there is also an image at the bottom, but this time with a set of icons. At the top of the image, there is a set of icons with different permutations. Users must match the icons on the left side with those on the top right side.
Example: Fruit icons are shown, and on the top on the right side are the same icons, but in a different sequence. The user needs to match each icon.

Image example:
Code:
var taskElement = document.querySelector('.sc-1io4bok-0');
  • Get text from element
Code:
var taskText = taskElement.textContent || taskElement.innerText;
Important: The textinstructions must be in English!

Request examples

Necessary to send the original image files and not screenshots.

Using APIv1

Using APIv2

  • Method: createTask
    API endpoint: https://{{api_hostname}}/createTask

GridTask

APIv1
Code:
{
    "method": "base64",
"key": "key",
"recaptcha": 1,
"json": 1,
"img_type": "funcaptcha",
"textinstructions": "pick the image where the darts add up to 8",
"body": "/9j/4AAQSkZJRgABAQEAYABgAAD/4QBoRXhpZgAA"
}
APIv2
Code:
{
    "clientKey": "key",
"task": {
"type": "GridTask",
"body": "/9j/4AAQSkZJRgABAQEAYABgAAD/4QBoRXhpZg",
"comment": "pick the image where the darts add up to 8",
"imgType": "funcaptcha"
}
}

Funcaptcha_compare type

APIv1
Code:
{
    "method": "base64",
"key": "key",
"recaptcha": 1,
"json": 1,
"img_type": "funcaptcha_compare",
"textinstructions": "Match the icons on the left with the icons on the top faces of the dice (1 of 1)",
"body": "/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9PjsBCgsL"
}
APIv2
Code:
{
    "clientKey": "key",
"task": {
"type": "GridTask",
"body": "/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0",
"comment": "Match the icons on the left with the icons on the top faces of the dice (1 of 1)",
"imgType": "funcaptcha_compare"
}
}
Note: The picture must be intact, without changes in size or cropping.

Response example

From the received response, we take the captcha ID and, using it, request a response with a GET request of the form:

For APIv1


For APIv2


The result contains the number of clicks that need to be clicked, for example:
Code:
{
  "status": 1,
"request": "click:3"
}

Using the Response

The result of the request is represented by a set of coordinates in the "click" format:2". The number indicates how many times you should click on the arrow to successfully solve the captcha.

References

Additional information:

Support

If you still have questions about the service, you can ask a question:

We value feedback and want to make sure the service is perfect for your needs.
 

Xatyssau

New member
Could you clarify how to obtain and convert the captcha image to base64 directly in code, without the need to manually save it?