Новая версия 1.3
Убрал зависимость от модуля "Строка"В режиме компиляции не работало, если в проекте не было действий этого модуля.
Почему-то не решает капчу на сайте grailed.com
Зависает на этапе --> Нашли открытое окно ReCaptcha 2 c изображениями и заданием. Текущая позиция (номер фрейма) на странице: 1
@lucinemajor said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям через сервис cap.guru:
Почему-то не решает капчу на сайте grailed.com
Зависает на этапе --> Нашли открытое окно ReCaptcha 2 c изображениями и заданием. Текущая позиция (номер фрейма) на странице: 1
Все работает если прочитать документацию, на сайте невидимая капча, селектор выбрать надо от нее.
@FastSpace Javascript ES3 Decrypt / v edata response from Captcha Tiktok write by Gemini:
function stringToUtf8Array(str) {
var utf8 = [];
for (var i = 0; i < str.length; i++) {
var charcode = str.charCodeAt(i);
if (charcode < 0x80) utf8.push(charcode);
else if (charcode < 0x800) {
utf8.push(0xc0 | (charcode >> 6),
0x80 | (charcode & 0x3f));
} else if (charcode < 0xd800 || charcode >= 0xe000) {
utf8.push(0xe0 | (charcode >> 12),
0x80 | ((charcode >> 6) & 0x3f),
0x80 | (charcode & 0x3f));
} else {
i++;
charcode = 0x10000 + (((charcode & 0x3ff) << 10) | (str.charCodeAt(i) & 0x3ff));
utf8.push(0xf0 | (charcode >> 18),
0x80 | ((charcode >> 12) & 0x3f),
0x80 | ((charcode >> 6) & 0x3f),
0x80 | (charcode & 0x3f));
}
}
return utf8;
}
function utf8ArrayToString(array) {
var out = "";
var i = 0;
var len = array.length;
var c, char2, char3;
while (i < len) {
c = array[i++];
switch (c >> 4) {
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
out += String.fromCharCode(c);
break;
case 12: case 13:
char2 = array[i++];
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
break;
case 14:
char2 = array[i++];
char3 = array[i++];
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0));
break;
default: // Simple fallback for complex chars or errors
out += String.fromCharCode(0xFFFD); // Replacement char
}
}
return out;
}
var B64_STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function base64Encode(byteArray) {
var output = "";
var i = 0;
var len = byteArray.length;
while (i < len) {
var chr1 = byteArray[i++];
var chr2 = byteArray[i++];
var chr3 = byteArray[i++];
var enc1 = chr1 >> 2;
var enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
var enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
var enc4 = chr3 & 63;
if (isNaN(chr2)) enc3 = enc4 = 64;
else if (isNaN(chr3)) enc4 = 64;
output = output + B64_STR.charAt(enc1) + B64_STR.charAt(enc2) +
B64_STR.charAt(enc3) + B64_STR.charAt(enc4);
}
return output;
}
function base64Decode(input) {
var output = [];
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = B64_STR.indexOf(input.charAt(i++));
enc2 = B64_STR.indexOf(input.charAt(i++));
enc3 = B64_STR.indexOf(input.charAt(i++));
enc4 = B64_STR.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output.push(chr1);
if (enc3 != 64) output.push(chr2);
if (enc4 != 64) output.push(chr3);
}
return output;
}
function getRandomBytes(len) {
var arr = [];
for (var i = 0; i < len; i++) {
arr.push(Math.floor(Math.random() * 256));
}
return arr;
}
var Cha = function (key, nonce, counter) {
if (key.length !== 32 || nonce.length !== 12) {
throw new Error("Invalid key or nonce length");
}
this.k = key;
this.n = nonce;
this.c = counter || 0;
};
Cha._r = function (v, n) {
return ((v << n) | (v >>> (32 - n))) >>> 0;
};
Cha._qr = function (s, a, b, c, d) {
s[a] = (s[a] + s[b]) >>> 0;
s[d] ^= s[a];
s[d] = Cha._r(s[d], 16);
s[c] = (s[c] + s[d]) >>> 0;
s[b] ^= s[c];
s[b] = Cha._r(s[b], 12);
s[a] = (s[a] + s[b]) >>> 0;
s[d] ^= s[a];
s[d] = Cha._r(s[d], 8);
s[c] = (s[c] + s[d]) >>> 0;
s[b] ^= s[c];
s[b] = Cha._r(s[b], 7);
};
Cha.prototype._bytesToInt = function (arr, offset) {
return (arr[offset] |
(arr[offset + 1] << 8) |
(arr[offset + 2] << 16) |
(arr[offset + 3] << 24)) >>> 0;
};
Cha.prototype._intToBytesPush = function (val, targetArray) {
targetArray.push(val & 0xff);
targetArray.push((val >>> 8) & 0xff);
targetArray.push((val >>> 16) & 0xff);
targetArray.push((val >>> 24) & 0xff);
};
Cha.prototype._block = function (ctr) {
var s = [0x61707865, 0x3320646e, 0x79622d32, 0x6b206574];
for (var i = 0; i < 8; i++) s.push(this._bytesToInt(this.k, i * 4));
s.push(ctr >>> 0);
for (var i = 0; i < 3; i++) s.push(this._bytesToInt(this.n, i * 4));
var w = s.slice(0);
for (var i = 0; i < 10; i++) {
Cha._qr(w, 0, 4, 8, 12); Cha._qr(w, 1, 5, 9, 13);
Cha._qr(w, 2, 6, 10, 14); Cha._qr(w, 3, 7, 11, 15);
Cha._qr(w, 0, 5, 10, 15); Cha._qr(w, 1, 6, 11, 12);
Cha._qr(w, 2, 7, 8, 13); Cha._qr(w, 3, 4, 9, 14);
}
var blockBytes = [];
for (var i = 0; i < 16; i++) {
this._intToBytesPush((w[i] + s[i]) >>> 0, blockBytes);
}
return blockBytes;
};
Cha.prototype._p = function (data) {
var result = [];
var dataLen = data.length;
var currentCtr = this.c;
var dataIdx = 0;
while (dataIdx < dataLen) {
var block = this._block(currentCtr);
currentCtr = (currentCtr + 1) >>> 0;
for (var i = 0; i < block.length; i++) {
if (dataIdx >= dataLen) break;
result.push(data[dataIdx] ^ block[i]);
dataIdx++;
}
}
this.c = currentCtr;
return result;
};
var edata = {
FLAG: [0x01], // b'\x01'
encrypt: function (txt) {
var d = stringToUtf8Array(txt);
var k = getRandomBytes(32);
var n = getRandomBytes(12);
var c = new Cha(k, n, 0);
var ct = c._p(d);
var raw = this.FLAG.concat(k, n, ct);
return base64Encode(raw);
},
decrypt: function (txt) {
var raw = base64Decode(txt);
if (raw.length < 45) {
throw new Error("Invalid edata");
}
var k = raw.slice(1, 33);
var n = raw.slice(33, 45);
var ct = raw.slice(45);
var c = new Cha(k, n, 0);
var plain = c._p(ct);
return utf8ArrayToString(plain);
}
};
// Decrypt
var cipherText = "Ae8Tm93oj9vmIbi/Z22dYrzR1ji3hm+63dxGUMydXhF4...."
var decryptedText = edata.decrypt(cipherText);
log(decryptedText)
// Encrypt
var originalText = "...."
var cipherText = edata.encrypt(originalText);
log(cipherText)
Здравствуйте, подскажите пожалуйста ваш модуль может пройти эту капчу ? https://community.bablosoft.com/topic/32020/капча-от-яндекса-как-пройти
@xregem said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям через сервис cap.guru:
Здравствуйте, подскажите пожалуйста ваш модуль может пройти эту капчу ? https://community.bablosoft.com/topic/32020/капча-от-яндекса-как-пройти
Версия от 7.88
Ребят, подскажите в чем дело со смарт яндексом? Один раз кликает и останавливается. Последняя версия баса и модуля.
bandicam 2026-03-10 18-19-28-704.mp4
[4975082] [18:37:50] Поток №1 : Десктоп обнаружен - настройки мыши включены
[4975082] [18:37:50] Поток №1 : Real режим мыши включен. Видимая область браузера: 1024x599, Оценка типа дисплея: XGA, DPI: 1000, Настройки мыши: SPEED=93, GRAVITY=6.12, DEVIATION=2.51
[4975082] [18:37:50] Поток №1 : Успешно прошли все проверки. Начали решать капчу: YandexSmartCaptcha. Версия BAS: 29.7.0. Версия модуля: 7.88
[4975082] [18:37:50] Поток №1 : Ожидаем YandexSmartCaptcha: кнопку чекбокса 'Я не робот', слайдер 'Потяните вправо' или селектор уже открытого задания капчи
[4975082] [18:37:50] Поток №1 : Не найден ни один из стандартных типов селектора, кликаем на селектор переданный пользователем!
[4975082] [18:37:51] Поток №1 : Ждем когда откроются картинки капчи или ждем успешное решение капчи. Текущая попытка: 1
[4975082] [18:37:51] Поток №1 : Попыток решить каптчу: 1
[4975082] [18:37:51] Поток №1 : Капча решена
@sedOFF said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям через сервис cap.guru:
Ребят, подскажите в чем дело со смарт яндексом? Один раз кликает и останавливается. Последняя версия баса и модуля.
bandicam 2026-03-10 18-19-28-704.mp4[4975082] [18:37:50] Поток №1 : Десктоп обнаружен - настройки мыши включены
[4975082] [18:37:50] Поток №1 : Real режим мыши включен. Видимая область браузера: 1024x599, Оценка типа дисплея: XGA, DPI: 1000, Настройки мыши: SPEED=93, GRAVITY=6.12, DEVIATION=2.51
[4975082] [18:37:50] Поток №1 : Успешно прошли все проверки. Начали решать капчу: YandexSmartCaptcha. Версия BAS: 29.7.0. Версия модуля: 7.88
[4975082] [18:37:50] Поток №1 : Ожидаем YandexSmartCaptcha: кнопку чекбокса 'Я не робот', слайдер 'Потяните вправо' или селектор уже открытого задания капчи
[4975082] [18:37:50] Поток №1 : Не найден ни один из стандартных типов селектора, кликаем на селектор переданный пользователем!
[4975082] [18:37:51] Поток №1 : Ждем когда откроются картинки капчи или ждем успешное решение капчи. Текущая попытка: 1
[4975082] [18:37:51] Поток №1 : Попыток решить каптчу: 1
[4975082] [18:37:51] Поток №1 : Капча решена
Это просто похожая капча, если вам нужно ее решение напишите в поддержку.