Вход

Просмотр полной версии : script fingerprint ALL небольшая модификация


Chris_Phils
20.02.2017, 10:44
Все привет дорогие проффи, очень жалею что пропускал лекции...... Нужен ваш совет по скрипту....
1)
в наличии есть скрипт по canvas, на примере CanvasBlocker
https://github.com/kkapsner/CanvasBlocker.
Как идеально изменить скрип для статического значения? (он уже работает, но может что добавите)


var CanvasWebglRandomParameter = '206.011.128';
var randomInt0 = '1931855701';
var randomInt1 = '-1323705431';
var randomInt2 = '1176625621';

document.b_createElement = document.createElement;
document.createElement = function createElement (elementType) {
if (elementType == 'canvas') {
element = document.b_createElement('canvas');
element.b_getContext = element.getContext;
element.getContext = function (contextType) {
var context = element.b_getContext(contextType);
if (["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"].indexOf(contextType) != -1) {
context.b_getParameter = context.getParameter;
context.getParameter = function (parameterType) {
var parameter = context.b_getParameter(parameterType);
if (parameterType == context.VERSION) {
return parameter + '.' + CanvasWebglRandomParameter;
} else if (parameterType == context.SHADING_LANGUAGE_VERSION) {
return parameter;
} else if (parameterType == context.VENDOR) {
return parameter;
} else if (parameterType == context.RENDERER) {
return parameter;
} else {
return parameter;
}
};
}
if (contextType == '2d' && !('b_fillText' in context)) {
context.b_fillText = context.fillText;
context.fillText = function () {
return context.b_fillText(CanvasWebglRandomParameter, 19, 17);
};
}
return context;
};
return element;
} else {
return document.b_createElement(elementType);
}
};
}

-------------------------------
2) Есть задача: как лучше подменить запрос функции по этим параметрам:


var client = new ClientJS(); // Create A New Client Object
var ua = client.getBrowserData().ua;
var canvasPrint = client.getCanvasPrint();

var fingerprint = client.getCustomFingerprint(ua, canvasPrint);

console.log( fingerprint );
++++++++++++++++++++++++++++
var client = new ClientJS(); // Create A New Client Object

var font = "Times New Roman"; // Set Font String

var isFont = client.isFont(font); // Check For A Font

console.log( isFont );
++++++++++++++++++++++++++++
var client = new ClientJS(); // Create A New Client Object

var fonts = client.getFonts(); // Get Fonts

console.log( fonts );
++++++++++++++++++++
var client = new ClientJS(); // Create A New Client Object

var isLocalStorage = client.isLocalStorage(); // Check For Local Storage

console.log( isLocalStorage );
+++++++++++++++++++++++++++++
var client = new ClientJS(); // Create A New Client Object

var isCanvas = client.isCanvas(); // Check For The Canvas Element

console.log( isCanvas );
++++++++++++++++++++++++++++++++++++
var client = new ClientJS(); // Create A New Client Object

var canvasPrint = client.getCanvasPrint(); // Get Canvas Print

console.log( canvasPrint );

+++++++++++++++++++++++++++++++++++++++
https://github.com/jackspirou/clientjs




math.asinh(1) 0.8813735870195429 - statik
math.acosh(1e300) Infinity
math.atanh(05) 0.5493061443340542 random last (2)
math.expm1(1) 1.718281828459042 random last (2)
math.cbrt(100) 4.641588833612778 -statik
math.log1p(10) 2.3978952727983707 -statik
math.sinh(1) 1.1752011936438010 random last (2)
math.cosh(10) 11013.232920103324 -statik
math.tanh(1) 0.7615941559557649 -statik

audio.pxi_output -random
audio.cc_output -random
audio.hybrid_output -random
audio.pxi_full_buffer_hash -random
audio.nt_vc_output.ac-sampleRate -random
audio.nt_vc_output.ac-state -random
audio.nt_vc_output.ac-maxChannelCount -random
audio.nt_vc_output.ac-numberOfInputs -random
audio.nt_vc_output.ac-numberOfOutputs -random
audio.nt_vc_output.ac-channelCount -random
audio.nt_vc_output.ac-channelCountMode -random
audio.nt_vc_output.ac-channelInterpretation -random
audio.nt_vc_output.an-fftSize -random
audio.nt_vc_output.an-frequencyBinCount -random
audio.nt_vc_output.an-minDecibels
audio.nt_vc_output.an-maxDecibels -random
audio.nt_vc_output.an-smoothingTimeConstant -random
audio.nt_vc_output.an-numberOfInputs -random
audio.nt_vc_output.an-numberOfOutputs -random
audio.nt_vc_output.an-channelCount -random
audio.nt_vc_output.an-channelCountMode -random
audio.nt_vc_output.an-channelInterpretation -random

https://fpcentral.irisa.fr/fp
https://github.com/plaperdr/fp-central
https://github.com/Valve/fingerprintjs2

Всем зарание спасибо ребята!!!

Chris_Phils
20.02.2017, 15:09
Chris_Phils, а для чего это вообще что он делает можно узнать, и что это за math и audio это к чему вообще здесь, и о каком статическом значении речь?

Вот проект, он с исходниками
https://github.com/jackspirou/clientjs

это детект
https://clientjs.org/

1) Верхний скрипт канваса работает на статическую подмену рисунка.

2) math и audio - на проекте https://fpcentral.irisa.fr/fp с исходникаками https://github.com/plaperdr/fp-central
конечная задача - выполнить скрипт аналогично подмены канвса, но для значений


client.getBrowserData().ua;
client.isFont(font);
client.getFonts();
client.isLocalStorage();
client.isCanvas()
client.getCanvasPrint();



так же и аудиофингенпринт



01
math.asinh(1) 0.8813735870195429 - statik
02
math.acosh(1e300) Infinity
03
math.atanh(05) 0.5493061443340542 random last (2)
04
math.expm1(1) 1.718281828459042 random last (2)
05
math.cbrt(100) 4.641588833612778 -statik
06
math.log1p(10) 2.3978952727983707 -statik
07
math.sinh(1) 1.1752011936438010 random last (2)
08
math.cosh(10) 11013.232920103324 -statik
09
math.tanh(1) 0.7615941559557649 -statik
10

11
audio.pxi_output -random
12
audio.cc_output -random
13
audio.hybrid_output -random
14
audio.pxi_full_buffer_hash -random
15
audio.nt_vc_output.ac-sampleRate -random
16
audio.nt_vc_output.ac-state -random
17
audio.nt_vc_output.ac-maxChannelCount -random
18
audio.nt_vc_output.ac-numberOfInputs -random
19
audio.nt_vc_output.ac-numberOfOutputs -random
20
audio.nt_vc_output.ac-channelCount -random
21
audio.nt_vc_output.ac-channelCountMode -random
22
audio.nt_vc_output.ac-channelInterpretation -random
23
audio.nt_vc_output.an-fftSize -random
24
audio.nt_vc_output.an-frequencyBinCount -random
25
audio.nt_vc_output.an-minDecibels
26
audio.nt_vc_output.an-maxDecibels -random
27
audio.nt_vc_output.an-smoothingTimeConstant -random
28
audio.nt_vc_output.an-numberOfInputs -random
29
audio.nt_vc_output.an-numberOfOutputs -random
30
audio.nt_vc_output.an-channelCount -random
31
audio.nt_vc_output.an-channelCountMode -random
32
audio.nt_vc_output.an-channelInterpretation -random

https://fpcentral.irisa.fr/fp

Chris_Phils
20.02.2017, 15:38
Возможно я не правильно написал все..... хотя, сейчас разложу по полочкам:
Fingerprint - отпечаток браузера, пременяется технологии canvas audiofingenprint.
вот несколько сервисов детектов на которых можно тестить браузера и индифицировать юзер агентов:
https://fpcentral.irisa.fr/
https://audiofingerprint.openwpm.com
http://jcarlosnorte.com/assets/fingerprint
http://ubercookie.robinlinus.com
http://jcarlosnorte.com/assets/ubercookie
https://html5test.com/index.html
https://www.ssllabs.com/ssltest/viewMyClient.html
https://samy.pl/evercookie/
https://cure53.de/leak/onion.php
https://robnyman.github.io/battery/
https://amiunique.org/fp
https://cryptoreport.websecurity.symantec.com/checker/views/sslCheck.jsp
https://mozilla.github.io/webrtc-landing/
https://browserprint.info
https://clientjs.org/
http://noc.to/
http://darkwavetech.com/fingerprint/fingerprint_code.html
+++++++++++++++++++++++++++
и исходники выполнения скриптов:
https://github.com/Valve/fingerprintjs2
https://cdnjs.com/libraries/fingerprintjs2
https://github.com/plaperdr/fp-central
https://github.com/jackspirou/clientjs
++++++++++++++++++++
Тотальная индификация юзеров 99% на данный момент с полным набором фингерпринтов....

И так конечная задача, не блокировать канвас, аудиофингенпринт, отключение js, отключение шрифтов и т.д. > а пременить подменну значений индификаций используя плагин (mozilla подменны в реальном времени) на статические переменные....

Chris_Phils
21.02.2017, 09:50
Ребят не проходите мимо, нужна помощь!!!!