Почему спрашиваю.
Вот при использовании без ключа выходит такое предупреждение:
"Версии браузера BAS и версия браузера из отпечатка могут отличаться, различия между версиями могут быть обнаружены. Для решения установите значение "current" для параметров "Минимальная версия браузера" и "Максимальная версия браузера""
То есть БАС сам предупреждает, что различия могут быть обнаружены.
А что произойдет, если я использую ключ и получил фингер с браузером Фаерфокс? И открываю сайт Хромовским БАСовским браузером?
Вероятность того, что различия могут быть обнаружены вырастает в разы?
Pixelscan определяет "Automation framework detected" и истинное разрешение экрана
-
@FastSpace said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
Эмуль + VPN + ЯБ
что еще за ЯБ ?
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
что еще за ЯБ ?
Антифрод-система "Ядро Яблока". Система, которая проверяет данные настолько тщательно, что мошенники даже не добираются до кожуры!(шутка).
Или другой вариант:
Антифрод-система "Ядро Яблока": если у вас есть червяк, мы его точно найдем!
-
@sergerdn твой код подтолкнул меня на мысль, что встроенный в BAS метод "Получить разрешение и положение курсора" выдает какую-то дичь, особенно после Применения отпечатка, а ведь именно его я использовал, для получения значения разрешения экрана.
В общем, сотворил такой вот костыль, который на удивление работает:


Полагаю, что проблема в BAS, который криво изменяет параметры viewport'а когда исполняет метод "Применить отпечаток".
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@sergerdn твой код подтолкнул меня на мысль, что встроенный в BAS метод "Получить разрешение и положение курсора" выдает какую-то дичь, особенно после Применения отпечатка, а ведь именно его я использовал, для получения значения разрешения экрана.
Да, это обсуждалось в топике, где я описывал баг. Также я давал сайт и постил скриншот с него, где можно увидеть нужные параметры разрешения экрана, чтобы понять что происходит.
Вероятно, ты пропустил детали и пошел по не совсем по правильному пути.
-
@sergerdn в общем, есть трабла. Т.к. page.setViewport применяет изменения только для текущей активной вкладки. Для новых вкладок, например, тех что открываются при клике по ссылкам с атрибутом target="_blank" сей магия скрипта пропадает.
Есть ли какие-нибудь способы в BAS запретить открытие новых вкладок? Ну т.е. игнорировать атрибут target="_blank". Насколько знаю BAS юзает какой-то пропатченный Chromium.
PS. В CEF (Chromium Embedded Framework) такая штука делается довольно просто в событии OnBeforePopup в котором перехватывается URL и далее просто вызывается на главном фрейме(вкладке).
public class CustomLifeSpanHandler : ILifeSpanHandler { // Load new URL (when clicking a link with target=_blank) in the same frame public bool OnBeforePopup(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, string targetUrl, string targetFrameName, WindowOpenDisposition targetDisposition, bool userGesture, IPopupFeatures popupFeatures, IWindowInfo windowInfo, IBrowserSettings browserSettings, ref bool noJavascriptAccess, out IWebBrowser newBrowser) { browser.MainFrame.LoadUrl(targetUrl); newBrowser = null; return true; } public bool DoClose(IWebBrowser chromiumWebBrowser, IBrowser browser) { // throw new NotImplementedException(); return true; } public void OnAfterCreated(IWebBrowser chromiumWebBrowser, IBrowser browser) { // throw new NotImplementedException(); } public void OnBeforeClose(IWebBrowser chromiumWebBrowser, IBrowser browser) { // throw new NotImplementedException(); } } -
M Moderator moved this topic from Поддержка on
-
UPD: Пока что сделал так, запихнув все это в "Выполнять при каждой загрузке страницы"
((window, open) => { window.open = (url) => { open.call(window, url, '_self'); }; })(window, window.open); -
@JohnnySins Знаете ли вы adbtc.top?
Когда я использую этот веб-сайт и нажимаю «Реклама», открывается новая страница, но веб-сайт не знает, что у меня открыта эта вкладка.
Знаете ли вы, как это исправить?
Я попробовал несколько способов, но они не сработали.
Благодарить. -
@JohnnySins good research mate
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@sergerdn в общем, есть трабла. Т.к. page.setViewport применяет изменения только для текущей активной вкладки. Для новых вкладок, например, тех что открываются при клике по ссылкам с атрибутом target="_blank" сей магия скрипта пропадает.
Да, я знаю. Я надеюсь, что это баг все таки будет исправлен на стороне BAS и что-то патчить нужда пропадет.
-
@sergerdn said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
что это баг все таки будет исправлен
Ну это не совсем баг, если говорить о puppeteer, это скорее его неудобная фича.
Если же про BAS, то при открытии ссылки в новой вкладке слетают даже ранее примененные отпечатки, а именно настройки viewport браузера. То же самое происходит, кстати, если на странице вызывается фуллскрин.
Я немного в недоумении почему разработчик BAS эти ситуации не учел. Если у него какой-то особенный билд chromium с внесенными изменениями (я так понимаю, он сам его компилит из исходников), то логичнее было бы внести в него фичу игнора открытия ссылок в новых окнах/вкладках и выпилить возможность фуллскрина.
Потому что юзать такой вот костыль http://community.bablosoft.com/post/183731 на постоянке это дикое палево.
-
Подробно по шагам опишите ситуаци юзеру @m4zuper - это тестер, он составит правильный отчет и может быть поправят ...
-
@Bigma еще при использовании мобильного отпечатка (т.е. эмуляция тачскрина) не получается проставить галочку cloudflare. Приложил видео. А костыль http://community.bablosoft.com/post/183731 не работает, т.к. последующий клик по ссылку внизу страницы открывает ее в новой вкладке.
Такое ощущение, что страничка cloudflare выпиливает js-код BAS с помощью которого производятся все манипуляции.
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
не получается проставить галочку cloudflare
Забавно, что через devtools inspector галочка проставляется.
-
This post is deleted!
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@rasputin Do you use fingerprints of mobile devices?
Yes, from premium fingerprint key
-
@rasputin Try using something like this:

The action with the fingerprint icon is "apply fingerprint". Yes, it is repeated 2 times.
The Node.js script contains the viewport fixing code:
const puppeteer = require('puppeteer-extra'); const StealthPlugin = require('puppeteer-extra-plugin-stealth'); puppeteer.use(StealthPlugin()); console.log("PUPPETEER CONNECTION"); console.log("WEBSOCKET_DEBUGGER_URL: " + [[WEBSOCKET_DEBUGGERURL]]); const browser = await puppeteer.connect({ browserWSEndpoint: [[WEBSOCKET_DEBUGGERURL]], defaultViewport: null, headless: false }); const page = await getActivePage(browser, 30000); await page.bringToFront(); await fixViewPort(page); async function getActivePage(browser, timeout) { var start = new Date().getTime(); while(new Date().getTime() - start < timeout) { var pages = await browser.pages(); var arr = []; for (const p of pages) { if(await p.evaluate(() => { return document.visibilityState == 'visible' })) { arr.push(p); } } if(arr.length == 1) return arr[0]; } throw "Unable to get active page"; } async function fixViewPort(page) { // Set the current viewport size const viewportWidth = await page.evaluate(() => window.outerWidth); const viewportHeight = await page.evaluate(() => window.outerHeight); const deviceScaleFactor = await page.evaluate(() => window.devicePixelRatio); await page.setViewport({ width: viewportWidth, height: viewportHeight, deviceScaleFactor: deviceScaleFactor, }); };Don't forget to add the required packages from NPM