From da63db9959dbf2e79ccef73623f5e858312a5f07 Mon Sep 17 00:00:00 2001 From: EmpiresHQ Date: Sat, 21 Jun 2025 18:56:26 +0300 Subject: [PATCH] fix: redefine window screen properly --- .../fingerprint-injector/src/fingerprint-injector.ts | 5 ++++- packages/fingerprint-injector/src/utils.js | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/fingerprint-injector/src/fingerprint-injector.ts b/packages/fingerprint-injector/src/fingerprint-injector.ts index 71ff881d..b879a853 100644 --- a/packages/fingerprint-injector/src/fingerprint-injector.ts +++ b/packages/fingerprint-injector/src/fingerprint-injector.ts @@ -30,6 +30,9 @@ declare function overrideDocumentDimensionsProps( declare function overrideWindowDimensionsProps( props: Record, ): void; +declare function overrideWindowScreen( + props: Record, +): void; declare function overrideBattery( batteryInfo?: Record, ): void; @@ -263,7 +266,7 @@ export class FingerprintInjector { } overrideInstancePrototype(window.navigator, navigatorProps); - overrideInstancePrototype(window.screen, newScreen); + overrideWindowScreen(newScreen); overrideWindowDimensionsProps(windowScreenProps); overrideDocumentDimensionsProps(documentScreenProps); diff --git a/packages/fingerprint-injector/src/utils.js b/packages/fingerprint-injector/src/utils.js index 669e4ee7..db826f7e 100644 --- a/packages/fingerprint-injector/src/utils.js +++ b/packages/fingerprint-injector/src/utils.js @@ -498,6 +498,16 @@ function overrideScreenByReassigning(target, newProperties) { } } +function overrideWindowScreen(props) { + for (const [prop, value] of Object.entries(props)) { + redefineProperty(window.screen, prop, { + get() { + return value; + }, + }); + } +} + function overrideWindowDimensionsProps(props) { try { overrideScreenByReassigning(window, props);