안티디텍트 브라우저는 어디서 들키나요?
서로 맞지 않는 부분에서요. UA는 Chrome 156이라는데 엔진에는 Chrome이 오래전에 넣은 기능이 없거나, Worker가 페이지와 다른 UA나 언어를 읽거나, Windows UA인데 navigator.platform은 Mac이거나, WebGL이 제조사와 그래픽 카드를 서로 다른 회사로 알려 주는 경우예요. 사이트는 브라우저 자체를 찾기보다 이런 모순을 찾아요.
안티디텍트 브라우저는 브라우저 프로필마다 UA, 화면, 시간대, 그래픽 카드를 따로 줘요. 값 하나하나는 아주 평범해 보여도 다른 값과 모순될 수 있어요. 이 페이지는 바꿔 쓴 프로필이 서로 맞추기 어려운 부분을 읽고, 어디가 어긋나는지 알려 줘요.
해결 방법
인앱 브라우저로 열었어요. 아래 결과는 이 인앱 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 링크를 복사해 Safari나 Chrome에서 여세요.앱 안의 브라우저로 열었어요. 아래 결과는 이 인앱 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 링크를 복사해 Safari나 Chrome에서 여세요.WeChat에서 열었어요. 아래 결과는 WeChat 내장 브라우저의 것이에요. 평소 쓰는 브라우저를 확인하려면 오른쪽 위 ···를 눌러 '브라우저에서 열기'를 고르세요.
口口口口口口口口口口口口, 지금은 口口口口口口口口口口口口口口口口口口口口口口에 있어요. 평소 쓰는 언어는 口口口口口口口, 컴퓨터 시간대는 口口口口口口, 시계는 口口口口口口 표시예요.
口口口口口口口口口口口口口口口口口口口口口口口口口口口口
지금 口口口口口口口口에서 口口口口口口口口口口口口 브라우저를 쓰고 있어요. 화면 口口口口口口口口口口口, 그래픽 카드 口口口口口口口口口口 조합으로 보면 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
인터넷은 口口口口口口口口 회선으로 연결돼요. 口口口口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口. 사이트 주소를 찾아 주는 DNS 서버는 口口口口口에 있어요. 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
화면 테마는 口口口口口口, 口口口口口口口口. 口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口. 설치된 글꼴이 주는 힌트: 口口口口口口口口口口. 나이는 口口口口口口口口口口口口口口口口口口口口口口.
사이트가 보기에 이건 口口口口口口口口口口口口口口口口口口口口口口口口口口. 口口口口口口口口口口口口口口口口口口口口口口口口口. 이 페이지는 口口口口口口口口口口口口에 열었고, 口口口口口口口口口口口, 브라우저 설정은 口口口口口口口口口口.
다른 사람들과 비교하면, 口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口.
비트가 많을수록 드물어요. 1비트마다 나와 같은 사람이 절반으로 줄어요. 항목끼리는 서로 독립적이지 않아서(4K 화면과 고성능 그래픽카드는 자주 함께 나와요) 전체 지문은 각 항목을 곱하지 않고 자체 실제 횟수로 셌어요.
나와 같은 사람이 얼마나 되는지 알려 주려고 익명 집계만 남겨요. IP, 원본 지문, 한 번 한 번의 방문 기록은 저장하지 않아요. ·
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloprobe.zs.al · TCP SYNprobe.zs.al · JA4probe.zs.al · HTTP/2 SETTINGSprobe.zs.al · HTTP/3 · QUIC JA4Date.now()RTCPeerConnection · STUNWebRTC host candidateIPv6 EUI-64 (ff:fe)1.1.1.1 · /cdn-cgi/tracechatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatIntl.supportedValuesOfnavigator.keyboardspeechSynthesisError.messageJS feature probesFunction.prototype.toString · iframeCSS.supportscanvas text antialiasingcanvas.toDataURLWebGL getParameterOfflineAudioContextMath.* → SHA-256emoji measureTextfonts → SHA-256getClientRects · RangeSVG getBBox · getComputedTextLengthmeasureText actualBoundingBoxWebGL readPixelswindow · HTMLElement · CSS keysperformance.now() resolutionrecursion depthSHA-256screen · cores · GPU · fonts → SHA-256HTTP cache · ETag / If-None-Matchcanvas × 2navigator.brave · noise · liesuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightoffsetWidth − clientWidthWebGL RENDERERnavigator.gpu adapter.infoGPUAdapter limits · featuresWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemoryperformance.memorymaxTouchPoints · pointernavigator.getBatterygeolocation (on request)devicemotion (on request)navigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedRTCRtpSender.getCapabilitiesMediaRecorder.isTypeSupportedmediaCapabilities.decodingInforequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsfont-size: medium · AccentColordisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.queryusb · serial · hid · IdleDetector …pdfViewerEnablednavigator.webdriverWorker · navigatorbait element7 tracker scripts (on request)window.ethereum · DOM markschrome-extension:// fileshistory.lengthlocalStorage · IndexedDB · Cache · window.namecanvas measureText서로 맞지 않는 부분에서요. UA는 Chrome 156이라는데 엔진에는 Chrome이 오래전에 넣은 기능이 없거나, Worker가 페이지와 다른 UA나 언어를 읽거나, Windows UA인데 navigator.platform은 Mac이거나, WebGL이 제조사와 그래픽 카드를 서로 다른 회사로 알려 주는 경우예요. 사이트는 브라우저 자체를 찾기보다 이런 모순을 찾아요.
UA는 어느 브라우저든 바꿔 쓸 수 있는 문자열이에요. 하지만 엔진이 지원하는 JavaScript는 그렇게 바꿀 수 없어요. Chromium은 버전마다 함수를 추가하고(128에서 Promise.try, 136에서 RegExp.escape), 그 함수가 있는지로 엔진의 버전 범위가 정해져요. UA가 그 범위를 벗어나면 진짜 브라우저가 아니라 꾸민 프로필이라는 뜻이에요.
브라우저 커널과 맞는 UA 버전을 고르세요. 스크립트 주입보다 커널에서 바꾸는 방식을 써서 Worker도 같은 값을 읽게 하세요. 시스템, 플랫폼, 그래픽 제조사는 한 세트로 고르고, 시간대와 언어는 프록시 국가에 맞추세요. 그다음 여기서 다시 확인해 보세요.