Скрипты и программы BrowserAutomationStudio - создание постеров, спамеров, парсеров, комбайнов для соц. сетей

Добрый день! У меня скрипт для регистрации на сайте через смс сервис вводит имя, емаил, далее графа идёт ввод номера тел. вводит емаил и по новой перезапускается, имя, емаил, и перезапуск. В логе вот это (Поток №1 : Поток завершился с сообщением "TypeError: Result of expression 'country' [undefined] is not an object. во время выполнения действия )
А в bas работает нормально. Что может быть?
 

Выпущена версия 22.9.0.

В новой версии была значительно улучшена аутентичность браузера, добавлены новые факторы отпечатка.

Информация в данный теме намеренно сокращена, некоторые изменения упоминаются очень кратко, без технических подробностей.


Информация об ip.

Изначально для этой цели планировалось создать свой сервис, но идеальную базу данных найти так и не удалось, потому что результаты для разных баз часто отличаются, не всегда понятно какие из них правильные.

Поэтому были сделаны такие изменения:

1) Обновлена база поставляемая вместе с софтом. Ее формат теперь другой, но формат результатов остается прежним. Данные будут обновляться при каждом релизе.
2) Добавлена интеграция с сервисом ip-api.com. Данный сервис показал лучшие результаты при тестировании. Вы можете использовать как платную, так и бесплатную версию. Софт корректно понимает лимиты на количество запросов и старается их не нарушать.
3) Если ни первый, ни второй способ не подходят, существует возможность создать свою функцию, которая получает информацию об ip. BAS будет вызывать ее каждый раз при установке прокси. Данная функция может использовать как хттп клиент, так и браузер.


Смена часового пояса.
  • Добавлена локализация названия часового пояса согласно языку браузера.
ABUVtTd.png

  • Возможность задать дополнительные параметры при изменении геолокации (действие "Установить координаты").
  • Смена геолокации переписана на с++.
  • Увеличено количество параметров в модуле "Часовой пояс". Теперь с помощью него, можно изменить все параметры времени, которые меняет FingerprintSwitcher.
  • Действие прокси теперь устанавливает все параметры даже если оно вызвано с пустой строкой. Лучше это делать, если вы работаете без прокси. Выдается ошибка в случае невозможности получить реальный ip.

Параметры экрана.
  • Добавлен новый фактор отпечатка: css отпечаток.
  • Улучшена замена разрешения браузера.

Webgl.

FingerprintSwitcher теперь меняет множество дополнительных свойств webgl 1.0 и webgl 2.0 и функционал некоторых методов.


Раскладка клавиатуры.

Новый фактор отпечатка - раскладка клавиатуры.


Шрифты.

Количество поддерживаемых шрифтов увеличено в 10 раз, теперь их больше 4 тысяч. Для этого пришлось усовершенствовать механизм получения списка шрифтов.


Новый фактор отпечатка - MediaDevices.

Идентификаторы устройств генерируются каждый раз при создании нового профиля, поэтому данный фактор и раньше не мог приводить к обнаружению. Тем не менее в новой версии вся доступная информация об устройствах и некоторые дополнительные свойства изменяются при помощи FingerprintSwitcher.

Это означает, что теперь, чтобы сменить id устройств, нужно поменять отпечаток, простой смены профиля недостаточно.


Новый фактор отпечатка - отпечаток производительности.

Измеряя скорость выполнения того или иного функционала сайты могут составить идентификатор оборудования.

https://cseweb.ucsd.edu/~kmowery/papers/js-fingerprinting.pdf

Для решение этой проблемы добавлено новое действие "Отпечаток производительности". Оно позволяет заставить сайт думать, что бенчмарк выполняется быстрее или медленнее чем есть на самом деле. При этом, замеры, которые выполняются для других целей не должны изменяться. Новый функционал старается избежать несостыковок со временем связанных с этим, но технология экспериментальная и может быть причиной багов. Пример: чат с огромным количеством сообщений будет иметь расхождение во времени на сервере и клиенте.

Дальнейшую информацию можно получить в документации в самом действии.


Permission API.

Данное апи выдает результаты как в реальном Chrome браузере. Получение разрешений для уведомлений и геолокации соответствуют выбранным пользователем настройкам.


Замена отпечатка на стороне браузера.

Начиная с новой версии замена всех свойств происходит в коде с++, код javascript внедряется только когда это абсолютно необходимо, например, чтобы эмулировать метод фф которого нет в хроме.

Осталось только только 1 свойство, которое изменяется через js, но оно используется не всегда, надеюсь скоро и его перевести на с++.

Была переписана замена Notification, navigator.connection, screen.orientation и многих других свойств.

Все данные за исключением Permission API получаются из реальных устройств. База данных еще не успела обновится отпечатками с новым форматом, поэтому рекомендуется использовать фильтр по минимальной дате добавления установленный в 15 дней.


Новый модуль Archive.

Был добавлен новый модуль для работы с zip, 7z и rar(только распаковка) архивами. Его сделал @GhostZ. Данный модуль написан на node.js, его нужно предварительно включить через менеджер модулей. В дальнейшем будут добавлены дополнительные оптимизации для модулей написанных на ноде.
 

Выпущена версия 23.1.0.

Данная версия является результатом работы команды, поэтому изменений больше чем обычно. Первоначально планировалось выпустить релиз за неделю, но в результате разработка заняла целый месяц.


Поиск действий.

Поиск действий был полностью переработан. Основная идея состоит в том, что теперь вы можете вводить поисковый запрос, а новая система поиска выдаст список действий наиболее отвечающим этому запросу. Вот ключевые особенности новой системы:

* Поиск не только в названии действия, но по таким факторам: описание действия, документация, название модуля, название переменных и специальное поле в котором содержатся ключевые слова.
* Поиск выдает результат по совокупности разных факторов. Например, если искомый запрос встречается и в документации и в названии, то это повышает релевантность ответа.
* Не обязательно вводить точный поисковый запрос, чтобы получить результат, допускаются опечатки и перестановки слов.
* Новый интерфейс для поиска поддерживает многостраничность, подсветку найденных слов, отображение описания действий, и т. д.
* Теперь у абсолютно каждого действия есть хотя бы минимальное описание, это сделано для того, чтобы оно отображалось в поиске.

OBeQ5jS.png


Для создателей модулей. Чтобы ваши действия лучше находились в поиске, вы можете добавить в них дополнительные ключевые слова. Для этого нужно задать такое поле в любом из объектов массива "actions":

"suggestion":{"en": "zip, rar, 7z, unzip","ru": "zip, rar, 7z, разархивировать"}. Это пример из модуля для работы с архивами.


Работа с Node.js.

В этой и в следующих версиях мы будем добавлять новые модули, которые реализованы с помощью Node.js. Именно для этого интеграция с языком была значительно улучшена. Изменениям подвергся в первую очередь процесс установки. Идея была в том, чтобы сделать его максимально безболезненным, результативным и быстрым. Вот основной список изменений:

* Добавлена новая версия Node.js v12.18.3
* Исправлены проблемы с превышением максимальной длины пути при установке.
* Последний дистрибутив языка теперь поставляется вместе с BAS, чтобы избежать задержки при его скачивании.
* Пакеты Node.js, которые используются в модулях FTP и Archive теперь предустановлены.
* Все операции по установке проходят в отдельных потоках, это позволяет оставлять интерфейс отзывчивым во время установки.
* Лог установки пакетов Node.js отображается при нажатии на соответствующую кнопку. Таким образом ошибки при установке пакетов легче отследить.
* Улучшены логи, простой лог отображается в интерфейсе, а детальный - в файле.
* Переработан процесс установки языка, исправлены типичные ошибки, добавлены таймауты, поддерживается перезапуск всего процесса в случае ошибки.
* Окно установки теперь имеет новый понятный интерфейс.
* Исправлены некоторые проблемы с повторным использованием кода при помощи файлов.

Новый интерфейс:

B79iev1.png


Бенчмарк:

Первый запуск приложения с использованием модуля FTP и Archive занял 3.1 секунду, повторный запуск 0.07 секунд.

Впрочем, у вас результаты могут отличаться, но фактически процесс установки сводится только к копированию файлов.

Надеюсь, что данный апдейт сделает возможным массового использования Node.js в приложениях написанных на BAS, поскольку риски, связанные с использованием языка, минимальны, а выгода огромна.


Модуль для работы с FTP/SSH

Помимо стандартных загрузки и скачивания файлов и папок, данный модуль позволяет работать с файлами на сервере практически так же легко, как и с файлами на локальном диске. На самом деле, часть его действий копирует модуль "Файловая система".

Еще одной полезной особенностью модуля является кеширование соединения, это означает, что при работе в цикле соединение не будет создаваться заново при каждом действии. После настраиваемого периода бездействия соединение автоматически закроется.

Модуль поддерживает не только действия связанные с файловой системой, но и выполнение произвольных команд на сервере. Действие "Выполнить команду (SSH)".

Модуль хорошо документирован, поэтому для получения дополнительной информации достаточно открыть любое действие.

L4T4nhZ.png


Дополнительные модули написаны на Node.js и по умолчанию отключены. Включить их можно на основной странице

bKj9qD6.png


При запуске или в скомпилированном приложении Node.js не будет устанавливаться, если ни одно из действий по работе с FTP или архивами не было использовано.


HTTP клиент

Верcия libcurl была обновлена до 7.71.1, openssl до 1.1.1g. Это позволит использовать современные методы шифрования и не вызывать подозрения у сайтов при использовании хттп клиента.

HTTP клиент теперь понимает сложные значения в хедере Location, поведение было скопировано их Chrome последней версии. Например, редирект к такому урл теперь обработается без проблем. `../../test.php`

HTTP клиент теперь повторно отправляет содержимое запроса для статусов 307 и 308.


Загрузка и установка скомпилированных приложений.

Обновлено приложения для запуска скомпилированных скриптов. Теперь при обновлении кода через сайт у пользователей не будет скопировано содержание папки, следовательно, установка пройдет гораздо быстрее.

Папка будет создана заново только в случае обновления версии BAS. При использовании Node.js, в случае обновления BAS установка языка пройдет заново. Раньше файлы node.js копировались в новую папку из старой и это могло вызвать проблемы.

Для авторов скриптов желательно скомпилировать приложение заново и разослать клиентам. Но это не является обязательным.


Защита приложений.

В новой версии существенно доработана система защиты приложений. Было сделано почти 10 больших изменений. К сожалению, рассказывать о каждом из них я не могу, чтобы не компрометировать новые методы. Но вот 2 из них:

1) Скрипты в базе находятся теперь в защищенном виде, это исключает вероятность получения кода скрипта через возможные уязвимости на сайте.

2) Теперь часть работы по защите скрипта происходит на сервере, следовательно этот механизм менее уязвим.

Как следствие второго пункта, редактируемый исходный код приложения теперь невозможно получить(даже если каким-то образом снять защиту), он просто не отправляется на клиент.

При компиляции теперь можно выбрать степень защищенности приложения:

UMzopWL.gif


Нагрузка переместилась с клиента на сервер, это значит, что запуск больших скриптов на клиенте будет быстрее.

Есть и неприятный момент, загрузить скрипт на сервер через сайт теперь невозможно. Это можно сделать только через Меню -> Скомпилировать.

!ВАЖНО Новая защита будет работать только после перехода скрипта на версию BAS 23.1.0 или старше. Сделать это рекомендуется как можно быстрее.
 

Рекламное сообщение
👑 Pirate Cards Premium Service - Оплачивайте любые зарубежные сервисы и покупки. Анонимно, низкие комиссии.

Благодаря нашему сервису вы сможете безопасно оплачивать зарубежные сервисы, товары или услуги, а так же использовать карту для физических оплат.

✔️ Работает 99% зарубежных сервисов
✔️ Низкая фиксированная комиссия (0.25$)
✔️ Возможно привязать карту к смартфону и оплачивать покупки в магазинах
✔️ Анонимно и безопасно
✔️ Гибкие тарифы

➡️ Подробнее о сервисе
 

Выпущена версия 23.1.0.

Данная версия является результатом работы команды, поэтому изменений больше чем обычно. Первоначально планировалось выпустить релиз за неделю, но в результате разработка заняла целый месяц.


Поиск действий.

Поиск действий был полностью переработан. Основная идея состоит в том, что теперь вы можете вводить поисковый запрос, а новая система поиска выдаст список действий наиболее отвечающим этому запросу. Вот ключевые особенности новой системы:

* Поиск не только в названии действия, но по таким факторам: описание действия, документация, название модуля, название переменных и специальное поле в котором содержатся ключевые слова.
* Поиск выдает результат по совокупности разных факторов. Например, если искомый запрос встречается и в документации и в названии, то это повышает релевантность ответа.
* Не обязательно вводить точный поисковый запрос, чтобы получить результат, допускаются опечатки и перестановки слов.
* Новый интерфейс для поиска поддерживает многостраничность, подсветку найденных слов, отображение описания действий, и т. д.
* Теперь у абсолютно каждого действия есть хотя бы минимальное описание, это сделано для того, чтобы оно отображалось в поиске.

OBeQ5jS.png


Для создателей модулей. Чтобы ваши действия лучше находились в поиске, вы можете добавить в них дополнительные ключевые слова. Для этого нужно задать такое поле в любом из объектов массива "actions":

"suggestion":{"en": "zip, rar, 7z, unzip","ru": "zip, rar, 7z, разархивировать"}. Это пример из модуля для работы с архивами.


Работа с Node.js.

В этой и в следующих версиях мы будем добавлять новые модули, которые реализованы с помощью Node.js. Именно для этого интеграция с языком была значительно улучшена. Изменениям подвергся в первую очередь процесс установки. Идея была в том, чтобы сделать его максимально безболезненным, результативным и быстрым. Вот основной список изменений:

* Добавлена новая версия Node.js v12.18.3
* Исправлены проблемы с превышением максимальной длины пути при установке.
* Последний дистрибутив языка теперь поставляется вместе с BAS, чтобы избежать задержки при его скачивании.
* Пакеты Node.js, которые используются в модулях FTP и Archive теперь предустановлены.
* Все операции по установке проходят в отдельных потоках, это позволяет оставлять интерфейс отзывчивым во время установки.
* Лог установки пакетов Node.js отображается при нажатии на соответствующую кнопку. Таким образом ошибки при установке пакетов легче отследить.
* Улучшены логи, простой лог отображается в интерфейсе, а детальный - в файле.
* Переработан процесс установки языка, исправлены типичные ошибки, добавлены таймауты, поддерживается перезапуск всего процесса в случае ошибки.
* Окно установки теперь имеет новый понятный интерфейс.
* Исправлены некоторые проблемы с повторным использованием кода при помощи файлов.

Новый интерфейс:

B79iev1.png


Бенчмарк:

Первый запуск приложения с использованием модуля FTP и Archive занял 3.1 секунду, повторный запуск 0.07 секунд.

Впрочем, у вас результаты могут отличаться, но фактически процесс установки сводится только к копированию файлов.

Надеюсь, что данный апдейт сделает возможным массового использования Node.js в приложениях написанных на BAS, поскольку риски, связанные с использованием языка, минимальны, а выгода огромна.


Модуль для работы с FTP/SSH

Помимо стандартных загрузки и скачивания файлов и папок, данный модуль позволяет работать с файлами на сервере практически так же легко, как и с файлами на локальном диске. На самом деле, часть его действий копирует модуль "Файловая система".

Еще одной полезной особенностью модуля является кеширование соединения, это означает, что при работе в цикле соединение не будет создаваться заново при каждом действии. После настраиваемого периода бездействия соединение автоматически закроется.

Модуль поддерживает не только действия связанные с файловой системой, но и выполнение произвольных команд на сервере. Действие "Выполнить команду (SSH)".

Модуль хорошо документирован, поэтому для получения дополнительной информации достаточно открыть любое действие.

L4T4nhZ.png


Дополнительные модули написаны на Node.js и по умолчанию отключены. Включить их можно на основной странице

bKj9qD6.png


При запуске или в скомпилированном приложении Node.js не будет устанавливаться, если ни одно из действий по работе с FTP или архивами не было использовано.


HTTP клиент

Верcия libcurl была обновлена до 7.71.1, openssl до 1.1.1g. Это позволит использовать современные методы шифрования и не вызывать подозрения у сайтов при использовании хттп клиента.

HTTP клиент теперь понимает сложные значения в хедере Location, поведение было скопировано их Chrome последней версии. Например, редирект к такому урл теперь обработается без проблем. `../../test.php`

HTTP клиент теперь повторно отправляет содержимое запроса для статусов 307 и 308.


Загрузка и установка скомпилированных приложений.

Обновлено приложения для запуска скомпилированных скриптов. Теперь при обновлении кода через сайт у пользователей не будет скопировано содержание папки, следовательно, установка пройдет гораздо быстрее.

Папка будет создана заново только в случае обновления версии BAS. При использовании Node.js, в случае обновления BAS установка языка пройдет заново. Раньше файлы node.js копировались в новую папку из старой и это могло вызвать проблемы.

Для авторов скриптов желательно скомпилировать приложение заново и разослать клиентам. Но это не является обязательным.


Защита приложений.

В новой версии существенно доработана система защиты приложений. Было сделано почти 10 больших изменений. К сожалению, рассказывать о каждом из них я не могу, чтобы не компрометировать новые методы. Но вот 2 из них:

1) Скрипты в базе находятся теперь в защищенном виде, это исключает вероятность получения кода скрипта через возможные уязвимости на сайте.

2) Теперь часть работы по защите скрипта происходит на сервере, следовательно этот механизм менее уязвим.

Как следствие второго пункта, редактируемый исходный код приложения теперь невозможно получить(даже если каким-то образом снять защиту), он просто не отправляется на клиент.

При компиляции теперь можно выбрать степень защищенности приложения:

UMzopWL.gif


Нагрузка переместилась с клиента на сервер, это значит, что запуск больших скриптов на клиенте будет быстрее.

Есть и неприятный момент, загрузить скрипт на сервер через сайт теперь невозможно. Это можно сделать только через Меню -> Скомпилировать.

!ВАЖНО Новая защита будет работать только после перехода скрипта на версию BAS 23.1.0 или старше. Сделать это рекомендуется как можно быстрее.
Теперь что, при Обновление Скриптов своих, надо Компилить их постоянно что ли и Искать Пользователей и по Новой им Устанавливать ?
Это же Гемор то какой :rolleyes: :(
Вот как сейчас же ништяк, как на Скрине.

Или я не так понял просто :)
A3M5M.png
 

Теперь что, при Обновление Скриптов своих, надо Компилить их постоянно что ли и Искать Пользователей и по Новой им Устанавливать ?

При компиляции можно не создавать архив, и конечно же не нужно отправлять его пользователям, у них обновление произойдет автоматически.

kUCIVpx.png



Это же Гемор то какой :rolleyes: :(

Почему, весь процесс сводится к нажатию ctrl-f5 и двум кликам.
 

Выпущена версия 23.2.0


Улучшения системы смены отпечатков.

В первую очередь данные улучшения касаются именно эмуляции мобильного браузера.


Сенсорный экран.

Добавлена эмуляция тачпада. Вот как это выглядит в режиме ручного управления:


Для перехода в новый режим достаточно применить мобильный отпечаток.

Чтобы проверить, используется ли эмуляция сенсорного экрана нужно посмотреть на курсор в режиме ручного управления. Если он имеет круглую форму, значит эмуляция включена.

mP6ldos.png


Альтернативный способ - использовать действие "Режим сенсорного экрана". Но так как оно заменяет не все параметры касающиеся мобильных платформ, использовать его без отпечатка затруднительно.

Прокрутка экрана.

Реализована прокрутка экрана с помощью касания в режиме автоматизации:


Касания выполняются так, чтобы быть максимально похожими на движения человека.

Прокрутка происходит автоматически при использовании любых действий по работе с элементами, таких как: "Двигать Мышь И Кликнуть На Элемент", "Ввод текста", и т. д.

Для прокрутки к определенному элементу используйте действие "Двигать Мышь Над Элементом".

Для прокрутки к координатам, действие "Прокрутка" с параметром "Использовать колесо мыши или касания".

Если нужна горизонтальная прокрутка, подойдут действия "Начать Перетаскивание" и "Закончить Перетаскивание":



Эмуляция событий.

Список событий, который получает сайт при использовании мобильного браузера значительно отличается от событий, который генерирует desktop. Кроме очевидного, как например, отсутствия событий передвижения мыши или появления тач событий, есть и менее очевидные вещи, например отсутствие keypress для некоторых клавиш, измененные параметры which, code для событий связанных с нажатием клавиш, и т. д.

Все эти особенности эмулируются BAS при переходе в новый режим.

Более того, некоторые клавиши, которые отсутствуют на мобильной клавиатуре можно использовать в BAS. При этом сайт не получит уведомления о произошедшем событии, но брaузер фактически выполнит функциональную часть. Например, если выполнить действие "Ввод" с параметром "<CONTROL>a" то текст в активном поле по факту выделится, но сайт не получит уведомлений о нажатии клавиш ctrl или a.

Использование "<CONTROL>a", "<CONTROL>c", "<CONTROL>v" или стрелок перемещения на клавиатуре является безопасным, потому что на мобильном тоже самое можно сделать с помощью специальных элементов интерфейса:

Qm2tUQg.png


Использование других клавиш, таких как delete, page up, page down является менее безопасным, так как сайт теоретически может отследить изменения текста или положения экрана без причины повлекшей за собой эти изменения.

Протестировать список событий можно на данной странице:

https://data.bablosoft.com/events/


Внутренние методы браузера.

Многие внутренние методы браузера работают так, как если бы браузер запускался с мобильного устройства. Например:

1) `document.createEvent('TouchEvent')` не будет выдавать ошибку только в мобильном браузере или в BAS с мобильным отпечатком.

2) Событие ontouchstart не определено в десктопной версии.

И многое другое.

Причем все изменения сделаны на уровне браузера, а не внедрением javascript кода. Например, событие ontouchstart не только будет присутствовать в списке методов, но на него можно подписаться и получать уведомления.

Видео по работе с мобильным браузером:


Новые факторы отпечатков.

Добавлены новые факторы: список голосов для синтеза речи установленных в системе, объем оперативной памяти.


Улучшение окна выбора переменных.

В этой версии мы постарались сделать выбор переменных, ресурсов и функций максимально удобным для пользователя.

* Был добавлен поиск переменных.
* Новое окно с списком переменных и последними использованными переменными.
* Последние переменные в списке меню.
* Создание новых переменных из нового окна.

Все это позволяет сократить количество кликов для выбора переменной. Если вы использовали ее недавно, то для выбора необходимо всего 2 клика: по полю для вставки и по самой переменной.

Все эти изменения также касаются ресурсов.

6mXkoZp.png


Работа с новой версией стала значительно удобней, например, вот как просто вывести текущий урл в лог в новой версии:



Добавлен Excel модуль.

Модуль позволяет работать с excel файлами: читать/изменять как отдельные ячейки, так и столбики, листы, работать с разными типами данных, импорт/экспорт в ресурсы или json, работать со списком листов, формулами, стилями, поддерживает многопоточность, асинхронный и синхронный тип сохранения файлов.

N9XTpt5.png


MNrxN0i.png
 

Софт на бас на каких операционках может работать?
archLinux, Ubuntu, Debian, CentOS, Fedora?

Windows 7-10

На линукс из под wine можно попробовать, но честно не задавался таким извращением.
 

В новой версии был осуществлен переход на новый браузерный движок. Это означает, что архитектура проекта значительно изменилась, теперь автоматизация браузера работает так:

1) В начале работы потока в фоне запускается экземпляр браузера.
2) Данный экземпляр ничем не уступает обычному браузеру и не имеет тех ограничений, что раньше.
3) Браузер управляется BAS с помощью стабильного протокола поддерживаемого Google.
4) Действия BAS по работе с браузером не изменились.

Что получают наши пользователи?

Такую автоматизацию очень сложно обнаружить. Можно делать это по косвенным признакам, таким как: повторение одних и тех же действий, неправдоподобные паузы между действиями, и т. д. Но сделать это отсутствию какого-то функционала уже крайне проблематично, а система смены отпечатков затрудняет сбор информации об оборудовании.

Старые проекты BAS легко портировать. Несмотря на то, что внутри софта поменялось очень многое, кое что было и совсем переписано с нуля, портировать старый проект просто. В некоторых случаях достаточно открыть его в новой версии, есть небольшие исключения, они описаны ниже.

Новые возможности. Новая система управления браузером дает также и возможности добавить новые фичи. Некоторые уже добавлены сейчас, некоторые мы надеемся добавить позже.


Поддержка расширений.

В новой версии появилась возможность подключать расширения браузера. Для этого нужно:

1) Скачать расширение с помощью этой утилиты. При сохранении нужно выбрать zip.
2) Разархивировать в любую папку.
3) Указать эту папку в действии "Настройки Браузера".

К сожалению пока работа с интерфейсом расширения не поддерживается. Планируется реализовать это в следующих версиях.


Обновление версии браузера в будущем.

Очень важным фактором аутентичности браузера является наличие всех методов, классов, констант javascript. Иначе говоря, если версия движка старая - это можно обнаружить. Чтобы избежать этого, планируется обновлять браузер достаточно часто. В идеале, это будет делаться каждый месяц вместе с обновлением Chrome.

Для обеспечения постоянных обновлений было написаны тесты для действий по работе с браузером, была добавлена подробная документация по каждому патчу, улучшены инструменты для внедрения патчей, в ближайшее время будут написаны тесты для изменения отпечатков.

Переход на новый движок так же поможет в этом деле. Багов автоматизации при обновлении версии браузера в нем ожидается значительно меньше.


Тест piхеlscan.

Многие наши пользователи спрашивали об этом тесте, сейчас BAS успешно его проходит, для этого:

1) Нужно сменить отпечаток с помощью сервиса FingerprintSwitcher.
2) Разрешить получать данные canvas и webgl в действии "Настройки Браузера" ИЛИ использовать PerfectCanvas

На момент написания статьи в тесте есть баг. Обычный браузер определяется как фреймворк для автоматизации, скрин. Происходит так потому, что совсем недавно свойство navigator.webdriver в обычном Chrome поменяло значение с undefined на false и тест не успели обновить. В данном случае, BAS также определяется как фреймворк для автоматизации, так же как и обычный Chrome.

Еще один момент, при использовании прокси в данном тесте, нужно иметь резидентский ip.

В новой версии "родные" данные canvas не являются уникальными, это можно проверить на странице Canvas Fingerprinting


Оптимизации в работе CPU.

Дополнительная нагрузка на процессор по сравнению с обычным Chrome может возникать при постоянной передаче изображения из браузера в BAS. Снизить ее оказалось совсем не простой задачей, для этого был переписан протокол передачи данных. Оригинальная версия тратила время на сжатие данные и передачу их по websocket, этот подход давал просто неприличные результаты при большой частоте кадров.

Новый протокол помог, но решение все еще не было совершенным. Поэтому был добавлен адаптивное снижение частоты кадров. Если пользователь активирует браузер - fps повышается, при сворачивании браузера, он снова падает. Данный метод помогает значительно снижать нагрузку в многопотоке, а также не является опасным для выполнения скриптов, поскольку оптимизация не затрагивает никакой другой части браузера кроме передачи изображения.


Оптимизация использования жесткого диска.

Размер профилей был значительно уменьшен по сравнению с обычным браузером.

1) Отключен Crashpad.
2) Отключена метрика браузера. Используется для получения сведений об удобстве использования браузера.
3) В файл chrome_command_line.txt добавлены флаги запрещающие некоторые виды кеша. Это можно отключить отредактировав файл.

Размер профилей сказался позитивно не только на количестве используемого дискового пространства, но и на времени запуска потока.


Widevine

В новой версии widevine нужно включать в настройках, либо в действии "Настройки Браузера". К сожалению, лицензирование BAS не произведено, поэтому сайты вроде spotify воспроизводить контент не будут.


Действие "Яваскрипт"

Добавлено новое действие "Яваскрипт", как и старое, оно может выполнять код в контексте браузера, но делает это намного качественней:

1) Добавлена работа с переменными BAS.
2) Ожидание асинхронных действий.
3) Получение информации об исключениях.

Старое действие продолжит работать, но теперь оно считается устаревшим.


Установка referrer.

Установка referrer теперь производится через действие "Загрузить" или "Добавить вкладку". Это нужно учитывать при портировании проекта.


Смайлики.

В новой версии добавлена поддержка смайликов при вводе текста. Такой метод ввода все равно не является достоверным, потому что смайликов нет на клавиатуре, а следовательно события keyup, keydown и keypress не эмулируются.

Наличие смайликов в ресурсах проекта не позволит скомпилировать проект с защитой.

Ввод символов состоящих из 4 байт еще не реализован, сюда относятся флаги стран.


Новые факторы отпечатка.

Для новой версии были добавлены новые факторы отпечатка. База еще не успела обновиться, поэтому рекомендуется использовать отпечатки не старше 2 недель.


Обновления модулей.

Были добавлены новые модули "Строка" и "SQL". Первый расширяет возможности BAS по работе со строками, есть действия для форматирования, редактирования, поиска строк, а также для парсинга текста. Второй - позволяет работать с популярными SQL базами данных: mysql, mariadb, postgres, sqlite, mssql. Есть возможность выполнять примитивные действия не вникая в синтаксис, а также выполнять произвольные запросы к базе.


Ограничения новой версии.

Некоторые вещи мы сделать не успели.

1) Drag and Drop не поддерживается. Это значит что ползунок громкости в видео плеере перетащить можно, но перетащить файл в браузер пока нет.
2) Запись http запросов пока не работает .
3) Отображение элементов select пока не работает . Но само значение элемента выбрать можно.
4) HTTP аутентификация пока не работает.
5) Отображение разных типов курсоров пока не работает 6) Инструменты разработчика открываются в системном браузере в отдельном окне.
7) Открыть инструменты разработчика для конкретного элемента пока невозможно.

Это не самые важные вещи, поэтому откладывать выпуск версии до их завершения нецелесообразно. Тем не менее, все они будут исправлены в будущих релизах.


Достижение максимальной аутентичности.

Если сайту все равно удается обнаружить новую версию BAS и вы уверены, что дело не в прокси, не в номере телефона, последовательности действий, а именно в браузере, то вот список действий, которые необходимо предпринять:

1) Убедитесь, что в хроме в режиме инкогнито или с новым профилем проблема повторяется.
2) Отключите модуль AjaxReCaptcha2. Увы, его можно обнаружить.
3) Отключите защиту canvas, webgl либо используйте PerfectCanvas.
4) Попробуйте выполнить действия в режиме ручного управления(без автоматизации).

Если ничего не помогло, используйте алгоритм в этой теме Исследование защиты сайтов..


Как портировать старый проект.

Для этого нужно открыть старый проект в новой версии и внести такие изменения:

1) Все действия "Установить заголовок" с параметром "Referer" нужно заменить на действия "Загрузить" либо "Добавить вкладку".
2) Пересоздать действия: "Сброс", "Установить Значение Комбобокса", "Установить Индекс Комбобокса", "Выбрать Случайный Элемент Из Комбобокса", "Предыдущая Страница", "Добавить вкладку", "Проверить Существование"

Нужно помнить, что формат cookies и профилей изменился. Если проект полагается на использование профилей старого формата, их нужно обновить.


Дальнейшее развитие проекта.

Планы по дальнейшему развитию браузера следующие:

1) Обновить версию браузера до 90. Развивать инструменты ускоряющие обновление.
2) Вернуть возможности, которые не были перенесены в новую версию. Добавить взаимодействие с интерфейсом расширений, в том числе и автоматизацию.
3) Адаптировать PerfectCanvas для webgl, разрешить сбор данных в индивидуальном порядке.

План может меняться со временем.

В видео многие особенности новой версии показаны детальней
.


!ВАЖНО Обладатели 32-битной версии Windows не смогут обновиться в автоматическом порядке. После скачивания произойдет краш. Новую версию нужно перекачать. Для 64-битной версии проблем не будет.
 

Если честно, меня тяжело понять почему вы так говорите. Мы потратили 5 месяцев, переписали все под новый браузер, улучшили антидетект в разы, а вы говорите никому этого не показывать.
 

Если честно, меня тяжело понять почему вы так говорите. Мы потратили 5 месяцев, переписали все под новый браузер, улучшили антидетект в разы, а вы говорите никому этого не показывать.
Да это просто конкурент с зенолаб. Обновление браузера и антидетект жизненно необходимы!
 

И так...

1. Мы сделали виджеты... поставить можно по пользоваться нет (это как купить машину но гараж открывать нельзя ).
2. Мы улучшили безопасность после чего сайты стали открываться в ломанном варианте.
3. Вылезло множество ошибок с таймаутами, отпечатки теперь применяются со скоростью баб Мани которая выжимает полотенца одной рукой.

Задумка то хорошая, но блин выпущена очень рано.

Про ручную переделку проектов я вообще молчу, это вообще такой смачный плевок в лицо. Ипи..сь сами как хотите, обещали автоматику, но и ручками у вам все получиться.

P/S для товарища выше который орал что я с Зенки и что то там конкурирую, на бас только в продаже моих 8 программ, которые работают и приносят людям деньги. Остальные использую лично. Но эта обнова нечто ужасное.
 

1. Мы сделали виджеты... поставить можно по пользоваться нет (это как купить машину но гараж открывать нельзя ).
2. Мы улучшили безопасность после чего сайты стали открываться в ломанном варианте.

Какой именно сайт не открывается? Не понимаю смысл избегать любой конкретной информации.

3. Вылезло множество ошибок с таймаутами, отпечатки теперь применяются со скоростью баб Мани которая выжимает полотенца одной рукой.

- вот, отпечаток, 10 потоков. Все работает очень быстро.

Задумка то хорошая, но блин выпущена очень рано.

Выпущено как раз вовремя.

Про ручную переделку проектов я вообще молчу, это вообще такой смачный плевок в лицо. Ипи..сь сами как хотите, обещали автоматику, но и ручками у вам все получиться.

Скоро будет инструмент, который позволит сделать это в несколько кликов. Но если бы мы ждали его, то релиз бы еще затянулся.

Но эта обнова нечто ужасное.

Эта обнова самая большая и самая значимая в истории проекта. Чтоб вы понимали, это как перестать чинить старый ланос и пересесть на новенький спорткар. Если вы столкнулись с багами, так напишите об этом детально, мы сразу же это исправим.
 

Скоро будет инструмент, который позволит сделать это в несколько кликов. Но если бы мы ждали его, то релиз бы еще затянулся.

Прошел месяц... скоро ? да вроде бы нет... но вот инструмента до сих пор нету...

Эта обнова самая большая и самая значимая в истории проекта. Чтоб вы понимали, это как перестать чинить старый ланос и пересесть на новенький спорткар. Е

Возможно потому люди до сих пор сидят на 23.2.2 не особо стремясь переходить с ланоса на спорткар на 3 колесах.
 

Прошел месяц... скоро ? да вроде бы нет... но вот инструмента до сих пор нету...



Возможно потому люди до сих пор сидят на 23.2.2 не особо стремясь переходить с ланоса на спорткар на 3 колесах.

Продолжим общение, когда вы ответите на вопросы, которые проигнорировали в прошлый раз.
 

Выпущена версия 24.1.1.

Далее представлен неполный список изменений со времени релиза 24.0.2:


Расширения.

В новой версии была улучшена поддержка расширений. Теперь их загрузка происходит автоматически, для этого достаточно указать url или id расширения в действии "Настройки Браузера". Старый способ - установка расширения из папки по прежнему может быть использован. Для корректной загрузки расширений из папки их нужно скачивать при помощи приложения ChromeExtensionManager.

Интерфейс расширения теперь можно вызвать с помощью нового действия Нажать кнопку расширения. При этом интерфейс открывается в новой вкладке. Работа с ним осуществляется только так же, как и с другими сайтами. Доступна автоматизация расширений.

В режиме ручного управления браузером появилось новое меню. Его использование аналогично использованию действия "Нажать кнопку расширения":

fetch.php


Важно заметить, что поддержка расширений все еще не идеальна. Некоторые расширения встраивают свой фрейм на сайт, такие фреймы будут корректно отображаться в BAS, но поиск элементов может быть осуществлен только по изображению. Во вкладках с расширениями могут некорректно работать привычный функционал, например, ожидание скачивания файлов.

Короткая демонстрация(2 минуты, без звука): ссылка
Вики: ссылка
Более детальное видео(7 минут со звуком): ссылка


Обновление действий проекта.

Теперь обновление действий при переходе на новую версию BAS происходит с помощью специального инструмента:

HpiXCNI.png


Новый инструмент помогает пересоздать все действия проекта. Он появляется автоматически при запуске старого проекта из новой версии BAS, но его также можно вызвать из меню:

jpIDzDV.png


Перед началом работы инструмента создается бэкап проекта. В новой версии также была улучшена работа системы создания бэкапов: к текущей дате добавляется название проекта, доступ к папке с бэкапами возможен из меню.

Настоятельно рекомендуется запускать данный инструмент после каждого обновления BAS включая это.


Новые модули для решения FunCaptcha и HCaptcha.

Были добавлены новые модули для данных типов капч: FunCaptcha, HCaptcha.

upiLfHh.png


Для решения нет необходимости изучать код элемента. Работа происходит точно так же, как и с ReCaptcha. Нужно выбрать элемент с капчей, выбрать сервис, заполнить поле с ключем и дождаться выполнения действия.

Новые модули "URL" и "Путь"

Они могут быть полезны при парсинге/создании/изменении URL и путей в файловой системе.

XmpZcHa.png


Был добавлен функционал для более простой работы с символами переноса строк.


Веб компоненты.

Теперь BAS может получать доступ и корректно генерировать css, xpath и match селекторы для веб компонент.

Также поддерживаются: циклы по элементам внутри веб компонент и генерация мультиселекторов, клавиши вверх/вниз для выбора селектора внутри веб компонент.

Пока не поддерживается доступ в веб компоненты с shadow root созданных с типом closed.

Был добавлен новый разделитель для селекторов >SHADOW>, но в подавляющем большинстве случаев создателям скриптов не нужно его использовать напрямую, а работа ничем не отличается от работы со стандартными html элементами:

3FCchdn.png



Антидетект.

Был исправлен метод обнаружения CDP сессии используемый на сайте tiktok.com.

Был исправлен метод обнаружения смены плагинов.

Улучшен механизм добавления шума для rectangles отпечатка.

Исправлен баг отправки client hints заголовков.

Улучшена смена значений возвращаемых internationalization api.

Защита imреrva, которая определяла BAS при смене прокси теперь так не делает.

Улучшен алгоритм скрытия переменных в браузере.

Исправлены некоторые проблемы с обнаружением BAS в режиме записи.

Модуль AjaxRecaptcha2 может быть обнаружен. Опасный код перемещен в модуль ReCaptcha, который отключен по умолчанию.


Модификация заголовков для всех запросов.

Стандартные методы изменения заголовков, таких как User-Agent и Accept-Language, не меняют их для всех запросов.

Это позволяет легко обнаружить браузеры, которые полагаются только на эти методы.

В BAS был добавлен механизм, который позволяет осуществить замену для абсолютно всех запросов.

Он действует похожим образом на то, как туннелирование работает для прокси, только в этом случае речь идет о заголовках.

Ниже скриншот, на котором видно, что замене подвергаются даже внутренние запросы Chrome:

Hux9KtC.png



Оптимизация.

Появилась возможность установить максимальный FPS. Это можно сделать в настройках или через действие "Настройки Браузера". Уменьшение частоты кадров может быть полезным для снижения нагрузки на сайтах с анимацией.

По умолчанию значение установлено в 30.

Раньше, при создании нового профиля, браузер выполнял несколько ресурсоемких задач. Это приводило к сильной кратковременной нагрузке на CPU. Сейчас это исправлено. Нагрузка при старте потока снизилась.

Видео


CPU

Были отключены множество функций интенсивно потребляющих время процессора: разнообразные метрики, некоторые функции crashpad, постоянные проверки виртуальных дисплеев, получение hwid, родительский контроль и другое.

Функционал, который влияет на работоспособность браузера мы не убирали. Эти патчи позволяют снизить нагрузку при создании профиля в среднем на 10% процентов.

Убрана проверка контрольных сумм для внутренних расширений и мониторинг этих файлов.


Память.

Размер области памяти выделяемый на передачу изображения теперь динамический. Это позволило снизить объем потребляемой памяти, особенно для экземпляров браузера с маленьким разрешением.

Исправлена ошибка, когда размер доступной физической памяти на машине мог определяться неточно.


Жесткий диск.

Был добавлен механизм кеширования профилей. Для того чтобы создать профиль, браузеру необходимо инициализировать каждый файл расположенный в папке профиля. Это улучшение позволяет копировать файлы профиля, а не создавать их каждый раз заново. Новый функционал касается и временных профилей, которые создаются каждый раз при запуске нового потока. Его можно отключить в настройках.

Список модулей BAS кешируется чтобы не читать их при старте каждого потока.


Улучшения работы редактора.

Исправлена работа с любыми действиями, которые перезагружают редактор. Например, "Сброс" или "Создать или переключиться на локальный профиль". Эти улучшения касаются только режима записи.

Точка выполнения больше не сбрасывается, а скрипт может корректно продолжить работу:

Видео

Перемещения точки выполнения больше не сбрасывает стек вызовов, состояние цикла и т. д.

Видео


UDP.

BAS умеет туннелировать UDP протокол. Но не все socks5 прокси это поддерживают. QUIC - протокол основан на UDP разработан и используется преимущественно Google. Это может приводить к некоторым проблемам там где он используется. Например, на сайтах с рекламой Google могут наблюдаться фризы, страницы могут загружаться не полностью.

Для решения данной проблемы в BAS по умолчанию теперь отключен QUIC. Рекомендуется убедиться, что ваши прокси поддерживают UDP и включить QUIC если это так. Сделать это можно в настройках или в действии "Настройки Браузера".


Другие улучшения.

Обновлен модуль "Работа с профилями": улучшена документация, некоторые действия адаптированы под новый движок.

Исправлены вылеты после использования действия "Запись В Буфер Обмена".

Исправлены возникновения бесконечных циклов при работе с действием "Эмуляция бездействия".

Исправлены проблемы при обнаружении полной загрузки во время выполнения действия "Предыдущая Страница".

Исправлено возможное копирование всей папки BAS в папку custom при обновлении.

Улучшен механизм запуска браузера, теперь он запускается повторно, если первая попытка была неудачной.

Оптимизирован код модуля "Строка".

Улучшена работа редактора скрипта при прерывании действий.

Отключены системные диалоги при работе с браузером.

visibilityState страницы работает корректно при переключении вкладок.

Теперь BAS работает корректно на сервере после отключения RDP сессии.

Исправлена потеря фокуса при работе BAS в фоне.

Исправлен ввод диакритических символов и символов с зажатым правым Alt.
 

Выпущена версия 24.1.1.


Обновление версии браузера.

Были автоматизированы все практически процессы связанные с обновлением версии браузера, сюда входит:

* Автоматическое тестирование.
* Улучшение инструментов для работы и обновления патчей.

Также после недавнего обновления движка браузера был осуществлен переход на более стабильный метод взаимодействия с ним(CDP вместо CEF).

Все это позволило значительно сократить количество времени необходимое на обновление версии браузера.

В будущем планируется обновлять ее для каждой версии BAS.

Пока неизвестно, насколько реально будет это осуществить, так как речь идет о отдельной версии огромного приложения с большим количеством изменений, которые происходят каждый день.

Поддержание браузера в актуальном состоянии должно благоприятно сказаться на его аутентичности.

В этом апдейте Chrome обновлен до 92.0.4515.131.


Новый модуль "Подтверждение телефона".

Данный модуль полностью заменяет функционал старого модуля "Получить смс". Старый модуль отключен по умолчанию, но не удален. Если вы хотите использовать его, достаточно просто включить его в менеджере модулей.

Новый модуль содержит большее количество сервисов, более актуальную информацию по сайтам, подробную документацию.

Функционал модуля также был расширен, теперь можно использовать дополнительные возможности API сервисов: получать баланс, количество доступных номеров, список сайтов и стран.

Изменять новый модуль намного легче чем старый.

Также мы поработали над многопоточным режимом и лимитами запросов.

VvvKM0y.png


ObKRYDC.png


Все выполнено на родном HTTP клиенте, без node.js.


Улучшения работы с некоторыми видами капчи.

Был добавлен универсальный метод решения капчи с помощью кликов по изображению. Этот метод доступен на сервисах rucaptcha и 2captcha. Подробнее здесь.

ObKRYDC.png


XWcPI6l.png


Улучшена документация для действий "Решить FunCaptcha" и "Решить HCaptcha".

Новый модуль "Контрольная сумма".

Данный модуль может быть полезен для проверки целостности файлов, а также для работы разных API, которые могут требовать генерацию хешей.

Поддерживается множество алгоритмов: md5, sha1, sha-224, sha-256, sha-384, sha-512, sha3-224, sha3-256, sha3-384, sha3-512, shake-256, keccak-224, keccak-256, keccak-384, keccak-512, blake2b-512, blake2s-256, blake3, crc-16, crc-32, md4, mdc2, ripemd160, whirlpool.

OsUZszN.png


Модуль сделан с использованием node.js.


Улучшена смена языка браузера.

Исправлен баг, который выдавал некорректные данные при смешивании шаблона Accept-Language с языком прокси.

Улучшена смена локали браузера, теперь тесты вроде `new Intl.RelativeTimeFormat().format(-1, "day")` проходят корректно.

Для еще более качественной замены языка браузера теперь можно изменять язык интерфейса браузера.

Это можно сделать либо изменив значение `--lang=en` в файле `chrome_command_line.txt`, либо воспользовавшись новым параметром в действии "Настройки браузера":

Asv9xf9.png


Язык интерфейса браузера обнаружить крайне проблематично, это изменение сделано скорее "на всякий случай".


Другие изменения.

Добавлена поддержка recaptcha enterprise.

Было также исправлено некоторое количество незначительных багов.

Исправлена проблема со сменой client hints из serviceWorker.

Улучшена эмуляция мыши и клавиатуры.

Исправлены проблемы при передаче некоторых cookies из браузера в хттп клиент.
 

Последнее редактирование:

Обратите внимание

Назад
Сверху