Json.parse fingerprint
-
Есть отпечаток
немогу никак вытащить подобного вида значения (screen.availHeight) с точкой внутри, помогите
Остальные значения без проблем выдергиваю.[ { "valid": true, "payload": "(function(){var refs={};;var aliases={};aliases[\"window.navigator.userAgent\"] = eval(\"window.navigator.userAgent\");aliases[\"window.navigator\"] = eval(\"window.navigator\");aliases[\"window.navigator.language\"] = eval(\"window.navigator.language\");aliases[\"window.navigator.languages\"] = eval(\"window.navigator.languages\");aliases[\"window.navigator.geolocation\"] = eval(\"window.navigator.geolocation\");aliases[\"window.navigator.mediaDevices\"] = eval(\"window.navigator.mediaDevices\");aliases[\"window.navigator.webkitTemporaryStorage\"] = eval(\"window.navigator.webkitTemporaryStorage\");aliases[\"window.navigator.webkitPersistentStorage\"] = eval(\"window.navigator.webkitPersistentStorage\");aliases[\"window.navigator.getBattery\"] = eval(\"window.navigator.getBattery\");aliases[\"window.navigator.sendBeacon\"] = eval(\"window.navigator.sendBeacon\");aliases[\"window.navigator.getGamepads\"] = eval(\"window.navigator.getGamepads\");aliases[\"window.navigator.getUserMedia\"] = eval(\"window.navigator.getUserMedia\");aliases[\"window.navigator.webkitGetUserMedia\"] = eval(\"window.navigator.webkitGetUserMedia\");aliases[\"window.navigator.javaEnabled\"] = eval(\"window.navigator.javaEnabled\");aliases[\"window.navigator.vibrate\"] = eval(\"window.navigator.vibrate\");aliases[\"window.navigator.requestMIDIAccess\"] = eval(\"window.navigator.requestMIDIAccess\");aliases[\"window.navigator.permissions\"] = eval(\"window.navigator.permissions\");aliases[\"window.navigator.presentation\"] = eval(\"window.navigator.presentation\");;\n\n;(function(){var resp = null;Object.defineProperty(window.screen, \"orientation\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object ScreenOrientation]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object ScreenOrientation]\"}}});prot[\"angle\"] = 0;prot[\"type\"] = \"portrait-primary\";prot[\"onchange\"] = null;prot[\"lock\"] = (function(){var res = function(){}; res.toString = function(){return \"function lock() { [native code] }\"}; res.valueOf = function(){return \"function lock() { [native code] }\"}; return res;})();prot[\"unlock\"] = (function(){var res = function(){}; res.toString = function(){return \"function unlock() { [native code] }\"}; res.valueOf = function(){return \"function unlock() { [native code] }\"}; return res;})();prot[\"addEventListener\"] = (function(){var res = function(){}; res.toString = function(){return \"function addEventListener() { [native code] }\"}; res.valueOf = function(){return \"function addEventListener() { [native code] }\"}; return res;})();prot[\"removeEventListener\"] = (function(){var res = function(){}; res.toString = function(){return \"function removeEventListener() { [native code] }\"}; res.valueOf = function(){return \"function removeEventListener() { [native code] }\"}; return res;})();prot[\"dispatchEvent\"] = (function(){var res = function(){}; res.toString = function(){return \"function dispatchEvent() { [native code] }\"}; res.valueOf = function(){return \"function dispatchEvent() { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();\n\n\n\n;\n\n\n\n;Object.defineProperty(window.navigator, \"registerProtocolHandler\", {configurable: true, enumerable:false, get: function() {return undefined;}});\n\n\n\n;Object.defineProperty(window.navigator, \"unregisterProtocolHandler\", {configurable: true, enumerable:false, get: function() {return undefined;}});\n\n\n\n;Object.defineProperty(window.navigator, \"deviceMemory\", {configurable: true, enumerable:false, get: function() {return undefined;}});\n\n\n\n;\n\n\n\n;Object.defineProperty(window.navigator, \"storage\", {configurable: true, enumerable:false, get: function() {return undefined;}});\n\n\n\n;Object.defineProperty(window.navigator, \"requestMediaKeySystemAccess\", {configurable: true, enumerable:false, get: function() {return undefined;}});\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"maxTouchPoints\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = 5;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"cookieEnabled\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = true;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"onLine\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = true;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"doNotTrack\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = null;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"connection\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object NetworkInformation]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object NetworkInformation]\"}}});prot[\"onchange\"] = null;prot[\"effectiveType\"] = \"4g\";prot[\"rtt\"] = 50;prot[\"downlink\"] = 5.25;prot[\"saveData\"] = true;prot[\"downlinkMax\"] = null;prot[\"type\"] = \"wifi\";prot[\"ontypechange\"] = null;prot[\"addEventListener\"] = (function(){var res = function(){}; res.toString = function(){return \"function addEventListener() { [native code] }\"}; res.valueOf = function(){return \"function addEventListener() { [native code] }\"}; return res;})();prot[\"removeEventListener\"] = (function(){var res = function(){}; res.toString = function(){return \"function removeEventListener() { [native code] }\"}; res.valueOf = function(){return \"function removeEventListener() { [native code] }\"}; return res;})();prot[\"dispatchEvent\"] = (function(){var res = function(){}; res.toString = function(){return \"function dispatchEvent() { [native code] }\"}; res.valueOf = function(){return \"function dispatchEvent() { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"mediaSession\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MediaSession]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MediaSession]\"}}});prot[\"metadata\"] = null;prot[\"playbackState\"] = \"none\";prot[\"setActionHandler\"] = (function(){var res = function(){}; res.toString = function(){return \"function setActionHandler() { [native code] }\"}; res.valueOf = function(){return \"function setActionHandler() { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();\n\n\n\n;(function(){var resp = null;Object.defineProperty(window.navigator, \"mediaCapabilities\", {configurable: true, enumerable:true, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MediaCapabilities]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MediaCapabilities]\"}}});prot[\"decodingInfo\"] = (function(){var res = function(){}; res.toString = function(){return \"function () { [native code] }\"}; res.valueOf = function(){return \"function () { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();\n\n;(function(){var resp = null;delete window.navigator.plugins;Object.defineProperty(window.navigator, \"plugins\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object PluginArray]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object PluginArray]\"}}});prot[\"length\"] = 0;prot[\"refresh\"] = (function(){var res = function(){}; res.toString = function(){return \"function refresh() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function refresh() {\\n [native code]\\n}\"}; return res;})();prot[\"namedItem\"] = (function(){var res = function(item){var length=window.navigator.plugins.length;for(var i=0;i<length;i++){var p = window.navigator.plugins[i];if(p.name == item)return p}}; res.toString = function(){return \"function namedItem() { [native code] }\"}; res.valueOf = function(){return \"function namedItem() { [native code] }\"}; return res;})();prot[\"item\"] = (function(){var res = function(item){return window.navigator.plugins[item]}; res.toString = function(){return \"function item() { [native code] }\"}; res.valueOf = function(){return \"function item() { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator.mimeTypes;Object.defineProperty(window.navigator, \"mimeTypes\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MimeTypeArray]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MimeTypeArray]\"}}});prot[\"length\"] = 0;prot[\"item\"] = (function(){var res = function(item){return window.navigator.mimeTypes[item]}; res.toString = function(){return \"function item() { [native code] }\"}; res.valueOf = function(){return \"function item() { [native code] }\"}; return res;})();prot[\"namedItem\"] = (function(){var res = function(item){var length=window.navigator.mimeTypes.length;for(var i=0;i<length;i++){var p = window.navigator.mimeTypes[i];if(p.type == item)return p}}; res.toString = function(){return \"function namedItem() { [native code] }\"}; res.valueOf = function(){return \"function namedItem() { [native code] }\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator.hardwareConcurrency;Object.defineProperty(window.navigator, \"hardwareConcurrency\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = 8;return resp;}})})();})();", "ua": "Mozilla/5.0 (Linux; Android 7.1.2; M6 Note) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36", "dnt": false, "width": 980, "height": 1415, "canvas": "c0c9bc51d65ca19da765ca8e64211efd2ed02357b4736c538d4b226ade069f27de1f541b5ca17040eb003960d7d1c4bf5689bacc4710dba73dc5574605b73700837b7b807b8280807f81817e7c7d7b7c7d7e7f7e83828280838081817c807d837c837c817f7b7c7c81837c8281838283817c7d", "webgl": "8d79f5003dbea4131d53454a8dac640e1063b3d35aefc91003a16260f8fe8d0b39fa37ccf6a5c8ae0e5691a341f15691e8fa63a9a58bcd8bc79f29eb0474ad06837b7b807b8280807f81817e7c7d7b7c7d7e7f7e83828280838081817c807d837c837c817f7b7c7c81837c8281838283817c7d", "audio": "ac1d183a58779391301d4f5fcfbd2efebfd1a1c62cfa692ba6922ad880e6ac763f05329ab2c60d5b74b7997166677ecc9785de450befe0a9f8321e8b542ade0e8a796e8491857a7889756f7777906e838e7373868d6e888d728e80716f90938090918a898b79897770736b83709291826d7191818583818a6e7c6e7c938f8e6f8b70806b8a8b8c8f73796c6b8a6b85707b718a8a85778f928781926b7c8c72738c898188", "battery": "d188aeb25f81935b03c6dc960dff9e4ef14bc622cd3a010ab6bbe31d2779fd47d52d5f8abf0da08f24ebf2f69d45f41d345d70e3e3adde33034405568f3e4d0d08a060b3391056", "has_battery_api": true, "has_battery_device": true, "webgl_properties": { "unmaskedVendor": "Qualcomm", "unmaskedRenderer": "Adreno (TM) 506", "vendor": "WebKit", "renderer": "WebKit WebGL", "alphaBits": "8", "blueBits": "8", "depthBits": "24", "greenBits": "8", "maxCombinedTextureImageUnits": "96", "maxCubeMapTextureSize": "16384", "maxFragmentUniformVectors": "256", "maxRenderBufferSize": "16384", "maxTextureImageUnits": "16", "maxTextureSize": "4096", "maxVaryingVectors": "31", "maxVertexAttribs": "32", "maxVertexTextureImageUnits": "16", "maxVertexUniformVectors": "256", "redBits": "8", "stencilBits": "0", "extensions": "ANGLE_instanced_arrays,EXT_blend_minmax,EXT_color_buffer_half_float,EXT_texture_filter_anisotropic,WEBKIT_EXT_texture_filter_anisotropic,EXT_sRGB,OES_element_index_uint,OES_standard_derivatives,OES_texture_float,OES_texture_float_linear,OES_texture_half_float,OES_texture_half_float_linear,OES_vertex_array_object,WEBGL_color_buffer_float,WEBGL_compressed_texture_astc,WEBGL_compressed_texture_etc1,WEBGL_debug_renderer_info,WEBGL_debug_shaders,WEBGL_depth_texture,WEBKIT_WEBGL_depth_texture,WEBGL_lose_context,WEBKIT_WEBGL_lose_context", "shadingLanguage": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)", "version": "WebGL 1.0 (OpenGL ES 2.0 Chromium)", "maxAnisotropy": "16" }, "audio_properties": { "BaseAudioContextSampleRate": 48000, "AudioContextBaseLatency": 0.08008333333333334, "AudioDestinationNodeMaxChannelCount": 2 }, "fonts": [ "Arial", "Courier", "Courier New", "Georgia", "Helvetica", "Monaco", "Palatino", "Tahoma", "Times", "Times New Roman", "Verdana", "Baskerville" ], "headers": [ "Host", "X-Real-Ip", "X-Forwarded-For", "Connection", "Content-Length", "Cache-Control", "Accept-Datetime", "Origin", "X-Csrf-Token", "If-Unmodified-Since", "If-Range", "Authorization", "X-Requested-With", "If-Modified-Since", "Save-Data", "X-Http-Method-Override", "X-Request-Id", "Pragma", "Upgrade-Insecure-Requests", "User-Agent", "Content-Type", "Max-Forwards", "If-None-Match", "If-Match", "Range", "Accept", "Referer", "Accept-Encoding", "Accept-Language" ], "lang": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7", "native_code": "function Object() { [native code] }", "attr": { "navigator.vendorSub": "", "navigator.productSub": "20030107", "navigator.vendor": "Google Inc.", "navigator.appCodeName": "Mozilla", "navigator.appName": "Netscape", "navigator.appVersion": "5.0 (Linux; Android 7.1.2; M6 Note) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36", "navigator.platform": "Linux armv8l", "navigator.product": "Gecko", "navigator.userAgent": "Mozilla/5.0 (Linux; Android 7.1.2; M6 Note) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36", "screen.availHeight": 640, "screen.availWidth": 360, "screen.width": 360, "screen.height": 640, "screen.colorDepth": 24, "screen.pixelDepth": 24, "screen.availLeft": 0, "screen.availTop": 0, "outerHeight": 640, "outerWidth": 360 } } ]
-
@goldii said in Json.parse fingerprint:
screen.availHeight
Надо указывать в кавычках и в квадратных скобках blabla['screen.availHeight']
-
@UserTrue Подскажите, пожалуйста. Куплен ключ Fingerprint, при первой прогрузке профиля создается ФП, затем я его сохраняю в папку профиля в файл, в строку , файл в формате json
Если этот профиль потом повторно грузится, берется эта строка и в "применить отпечаток". Возникает такая ошибка Requested keys of a value....
В чем может быть проблема?
Спасибо
-
@kuzkuz said in Json.parse fingerprint:
@UserTrue Подскажите, пожалуйста. Куплен ключ Fingerprint, при первой прогрузке профиля создается ФП, затем я его сохраняю в папку профиля в файл, в строку , файл в формате json
Если этот профиль потом повторно грузится, берется эта строка и в "применить отпечаток". Возникает такая ошибка Requested keys of a value....
В чем может быть проблема?
СпасибоОтпечаток в профиле сохраняется автоматически
-
@Fox Не нашел в какой файл. Не подскажете?
А прогружается отпечаток также автоматически при загрузке профиля?
ps понятно что проверить быстрее, но сейчас не проверить
-
@kuzkuz said in Json.parse fingerprint:
@Fox Не нашел в какой файл. Не подскажете?
А прогружается отпечаток также автоматически при загрузке профиля?
ps понятно что проверить быстрее, но сейчас не проверитьПосле успешного применения отпечатка, в папке профиля создаётся файл fingerprint.json, в нём находятся настройки и сам отпечаток.
При переключении профиля можно указать, брать отпечаток из профиля или нет:
-
@Fox Спасибо. Я просто напутал, сперва фп грузил, потом профиль..
-
@Fox, подскажите, пожалуйста,
- в файл fingerprint.json записывается отпечаток. Почему когда я вывожу в лог фингерпринт - значение в файле и логе отличаются?
Спасибо
-
@kuzkuz said in Json.parse fingerprint:
@Fox, подскажите, пожалуйста,
- в файл fingerprint.json записывается отпечаток. Почему когда я вывожу в лог фингерпринт - значение в файле и логе отличаются?
Спасибо
А теперь перечитайте моё сообщение внимательнее, я указал почему отличается
-
@Fox Не понял.
Я получаю отпечаток (в первый раз для этого профиля), в переменную FINGERPRINT и вывожу его в лог. Тем временем отпечаток записывается в файл fingerprint.json
Так вот если сравнить данные в файле и данные выводимые в лог - они разные.
Я не про загрузку из профиля.
-
@kuzkuz, потому что в fingerprint.json сохраняются ещё и указанные вами настройки
-
@kuzkuz said in Json.parse fingerprint:
@Fox Не понял.
Я получаю отпечаток, в FINGERPRINT и вывожу его в лог. Тем временем отпечаток записывается в файл fingerprint.json
Так вот если сравнить данные в файле и данные выводимые в лог - они разные.Невнимательно перечитали
В действии "Применить отпечаток" есть настройки:
они и записываются
-
@GhostZ блин, во я туплю. Простите. Точно, там же ещё настройки браузера. Спасибо
-
This post is deleted!
-
@UserTrue said in Json.parse fingerprint:
Надо указывать в кавычках и в квадратных скоб
Попробовал как вы сказали, но, вероятно, что-то поменялось и у меня не получилось
А вот так работает:
blabla[('screen.availHeight')]
-
@aliver said in Json.parse fingerprint:
@UserTrue said in Json.parse fingerprint:
Надо указывать в кавычках и в квадратных скоб
Попробовал как вы сказали, но, вероятно, что-то поменялось и у меня не получилось
А вот так работает:
blabla[('screen.availHeight')]
Скорее всего вы используете модуль "JSON" в BAS, а не метод "JSON.parse"