Анонимность в Human Emulator Studio. Настройка браузера.

Анонимность в Human Emulator Studio. Управление информацией о браузере

В Human Emulator Studio есть возможность менять широкий набор настроек. Все настройки браузера и остальные команды для управления работой с браузером можно посмотреть в документации к объекту browser. В этой статье поговорим конкретно об изменении тех настроек, которые содержат информацию о браузере.

Размеры браузера.

Ширина и высота браузера задаются с помощью функций объекта browser set_width и set_height.

пример на php:

// изменить размеры окна браузера 
// случайным образом в диапозоне от 300 до 1200
// ширину
$browser->set_width(rand(300,1200));
// высоту
$browser->set_height(rand(300,1200));

Масштаб браузера.

Задать масштаб браузера можно с помощью функции объекта browser set_zoom.

пример на php:

// Зададим масштаб 400% 
$browser->set_zoom(400);

Разрешение экрана и битность.

Разрешение экрана и битность задаются одной функцией объекта browser set_screen_resolution. Задает navigator : (width, height, pixelDepth) и их дубликаты (availWidth, availHeight, colorDepth).

пример на php:

// Зададим разрешение 1024x768 и битность 24 
$browser->set_screen_resolution(1024,768, 24);

Useragent строка.

Для установки Useragent строки или так называемого идентификатора браузера используется функция объекта browser set_user_agent. Вместе с идентификатором браузера необходимо заполнять и следующие параметры навигатора (window.navigator):
appVersion, appName, appCodeName, language(s), platform, product, productsub.

пример на php:

// user-agent для chrome
// Mozilla/5.0 ([Platform]) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/[ChromeVer] Safari/537.36

// данные для генерации случайной строки user-agent
// версии хрома 
// содержимое файла выглядит следующим образом 
/* 78.0.3904.83
78.0.3904.84
78.0.3904.85
78.0.3904.86
78.0.3904.87
78.0.3904.88
78.0.3904.9
78.0.3904.90
*/
// файл должен лежать в папке со скриптом
// скачать его можно в теме на форуме
$arr_chrome_versions = file('chrome_versions.txt');
// операционная система
// 6.1 Windows 7
// 6.2 Windows 8
// 6.3 Windows 8.1
// 10.0 Windows 10
$arr_winOS = array("6.1","6.2","6.3","10.0"); 
// платформа
$arr_pltf= array("Win32","Win64");

// получаем случайным образом версию из файла 
$num = mt_rand(1,count($arr_chrome_versions)-1);
$version=trim($arr_chrome_versions[$num]);
// ось
$num = mt_rand(1,count($arr_winOS)-1);
$winOS=$arr_winOS[$num];
// платформа
$pltf =$arr_pltf[rand(0,1)];  
// битность запускаемых приложений 
$pltf_app_bit ="";
// navigator.cpuClass
$cpuClass="";
if($pltf=="Win32")
{
    $pltf_app_bit ="WOW64";
    $cpuClass="x86";
}
else
{
    $pltf_app_bit ="Win64; x64";
    $cpuClass="x64";
}

// соберём случайную строку
echo $user_agent_srting = "Mozilla/5.0 (Windows NT $winOS; $pltf_app_bit) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/$version Safari/537.36";

// задаём строку в браузер
$browser->set_user_agent($user_agent_srting);

// Зададим navigaror.platform и navigator.cpuClass
$browser->set_platform($pltf,$cpuClass);

// необходимо заполнять и доп. свойства навигатора: 
//appVersion, appName, appCodeName, language(s), platform, product, productsub, vendor, vendorSub

// зададим следующие параметры appName appCodeName appVersion product productSub vendor vendorSub
// vendor и vendorSub можно задавать с версии 7.0.42
$appMinorVersion = trim(str_replace("Mozilla/","",$user_agent_srting));
$browser->set_app_info("Netscape", "Mozilla", $appMinorVersion, "Gecko", "20030107","Google Inc.","");  

// язык 
$languges = "ru-RU,ru,en-US,en";
$arr_lang=explode(",",$languges);
// Задает одинаковыми параметры navigator language, browserLanguage, systemLanguage, userLanguage
// первый из списка
$browser->set_language($arr_lang[0]);
// весь список задаём в accepts
$browser->set_accept_language($languges);

Информация о плагинах.

Подмена списка предустановленных в вашем браузере плагинов осуществляется с помощью функции объекта browser set_plugins_info.

Получение этой информации входит в так называемые отпечатки браузера(browser fingerprints). С помощью этой технологии владелец сайта может получить ваш уникальный профиль как пользователя и потом определить все ваши последующие посещения и действия. Подробнее об отпечатках браузера мы поговорим в отдельной статье.

Список плагинов задаётся в виде строки:

«[{ name : ‘название плагина 1’, description : ‘описание плагина 1’, filename : ‘файл плагина 1’, version : ‘версия плагина 1’ },
{ name : ‘название плагина 2’, description : ‘описание плагина 2’, filename : ‘файл плагина 2’, version : ‘версия плагина 2’ },
{ name : ‘название плагина 3’, description : ‘описание плагина 3’, filename : ‘файл плагина 3’, version : ‘версия плагина 3’ },
{ и т.д.}]»

С версии 7.0.41 можно задать и список Mime для плагинов. Задаётся в виде строки:

«[{type: ‘тип’, suffixes: ‘суффикс’, description: ‘описание’, __pluginName: ‘ название плагина 1′ },
{type: ‘тип’, suffixes: ‘суффикс’, description: ‘описание’, __pluginName: ‘
название плагина 2′ }
{type: ‘тип’, suffixes: ‘суффикс’, description: ‘описание’, __pluginName: ‘
название плагина 3′ }
{type: ‘тип’, suffixes: ‘суффикс’, description: ‘описание’, __pluginName: ‘
название плагина 3′ }

пример на php:

// добавим информацию о 3 плагинах
/*
Chromium PDF Plugin
Portable Document Format
Имя:	Chromium PDF Plugin
Описание:	Portable Document Format
Версия:	
Расположение:	internal-pdf-viewer
Тип:	PPAPI (вне процесса)
 	
Типы MIME:	
Тип MIME	Описание	Расширения файлов
application/x-google-chrome-pdf	Portable Document Format	
------------------------------------
Chromium PDF Viewer
Имя:	Chromium PDF Viewer
Версия:	
Расположение:	chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/
Тип:	Модуль браузера
 	
Типы MIME:	
Тип MIME	Описание	Расширения файлов
application/pdf		
.pdf
------------------------------------
Adobe Flash Player - Версия: 31.0.0.153
Shockwave Flash 31.0 r0
Имя:	Shockwave Flash
Описание:	Shockwave Flash 31.0 r0 System
Версия:	31.0.0.153
Расположение:	C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer32_31_0_0_153.dll
Тип:	PPAPI (вне процесса)
	
Типы MIME:	
Тип MIME	Описание	Расширения файлов
application/x-shockwave-flash	Shockwave Flash	
.swf
application/futuresplash	FutureSplash Player	
.spl

*/

// "1. Зададим navigaror.plugins : ";
$plugins="[{ name: 'Chromium PDF Plugin', filename: 'internal-pdf-viewer', description: 'Portable Document Format' },    
           { name: 'Chromium PDF Viewer', filename: 'mhjfbmdgcfjbbpaeojofohoefgiehjai', description: '' },    
           { name: 'Adobe Flash Player', filename: 'pepflashplayer32_31_0_0_153.dll', description: 'Shockwave Flash 31.0 r0 System' , version : '31.0.0.153'}]";

$mimes_types="[{type: 'application/x-google-chrome-pdf', suffixes: 'pdf', description: 'Portable Document Format', enabledPlugin: Plugin, __pluginName: 'Chromium PDF Plugin' },
               {type: 'application/pdf', suffixes: 'pdf', description: '', enabledPlugin: Plugin, __pluginName: 'Chromium PDF Viewer'},
               {type: 'application/x-shockwave-flash',suffixes: 'swf',description: 'Shockwave Flash',__pluginName: 'Adobe Flash Player'},
               {type: 'application/futuresplash',suffixes: 'spl',description: 'FutureSplash Player',__pluginName: 'Adobe Flash Player'}]";
// с версии 7.0.41 можно задавать для плагинов типы MIME
$browser->set_plugins_info($plugins,$mimes_types);

// 2 
// "2. Перейдем на страницу для детектирвоания браузера : ";
$browser->navigate("https://browserleaks.com/javascript");
$h3->set_focus_by_inner_text("Installed Plug-Ins", false);
sleep(5);
$btn->click_by_inner_text("iframe.contentWindow", false);
sleep(5);

Посмотреть информацию по реальным плагином можно установив их в браузер Chrome, а потом через Инструменты разработчика (F12) перейти в консоль и там ввести «navigator.plugins«. Появится информация по плагинам в следующем виде:

chrome plugins info

Информация об оборудовании

Для установки параметров navigator hardwareConcurrency – число процессоров (потоков), которые доступны браузеру и deviceMemory – количество гигабайт памяти, которые доступны браузеру используется функция объекта browser set_hardware_info

Также с версии 7.0.42 с помощью этой можно задавать и параметр devicePixelRatio. DevicePixelRatio возвращает отношение разрешения в физических пикселях к разрешению в пикселях CSS для текущего устройства отображения. Это значение также можно интерпретировать как отношение размеров пикселей: размер одного пикселя CSS к размеру одного физического пикселя. Проще говоря, это говорит браузеру, сколько фактических пикселей экрана должно использоваться для рисования одного пикселя CSS.

Параметр зависит от устройства: для обычных дисплеев равен 1, но могут быть и 2 и 1.5

пример на php:

// Зададим количество процессоров 2 и 4 гб памяти и отношение разрешения 1
$browser->set_hardware_info(2,4,1);

Do Not Track (DNT).

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

Для установки этого флага используется функция объекта browser set_do_not_track

пример на php:

// Укажем сайтам не отслеживать наши действия
$browser->set_do_not_track(true);

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

Задать данные о используемом сенсорном экране можно с помощью функции объекта browser set_touch_info. Функция изменяет параметры navigator.maxTouchPoints — максимальное количество одновременных сенсорных контактов и window.ontouchstart — включены ли сенсорные события.

пример на php:

// Зададим информацию о экранном сенсоре 
// 5 одновременных сенсорных контактов  и включим передачу сенсорных событий
$browser->set_touch_info(5,true);

Обсудить на форуме

5/5 - (7 голосов)

Добавить комментарий

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