开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4231|回复: 8
收起左侧

[JS例程分享] 浏览器指纹防护追踪之修改-navigator全部参数

[复制链接]
发表于 2020-7-26 19:54:11 | 显示全部楼层 |阅读模式   山东省临沂市
  浏览器指纹防护追踪之修改-navigator全部参数,附上代码:
  浏览器指纹navigator检测:http://www.sdfymj.com/ua.php


  1. (function() {
  2.     'use strict';

  3.     function fakeActiveVRDisplays() { return "Not Spoofed"; }
  4.     function fakeAppCodeName() {
  5.       return "Mozilla";
  6.     }
  7.     function fakeAppName() {
  8.       return "Netscape";
  9.     }

  10.     function fakeAppVersion() {
  11.         return "5.0 (Windows)";
  12.     }
  13.     function fakeBattery() { return "Not Spoofed"; }
  14.     function fakeConnection() { return "Not Spoofed"; }
  15.     function fakeGeoLocation() { return "Not Spoofed"; }
  16.     function fakeHardwareConcurrency() {
  17.       return 1;
  18.     }
  19.     function fakeJavaEnabled() {
  20.       return false;
  21.     }
  22.     function fakeLanguage() {
  23.         // NOTE: TOR Browser uses American English
  24.         return "en-US";
  25.     }
  26.     function fakeLanguages() {
  27.         // NOTE: TOR Browser uses American English
  28.         return "en-US,en";
  29.     }
  30.     function fakeMimeTypes() { return "Not Spoofed"; }
  31.     function fakeOnLine() {
  32.       return true;
  33.     }
  34.     function fakeOscpu() {
  35.       return "Windows NT 6.1";
  36.     }
  37.     function fakePermissions() { return "Not Spoofed"; }
  38.     function fakePlatform() {
  39.       return "Win32";
  40.     }
  41.     function fakePlugins() {
  42.         return window.navigator.plugins;
  43.     }
  44.     function fakeProduct() {
  45.       return "Gecko";
  46.     }
  47.     function fakeServiceWorker() { return "Not Spoofed"; }
  48.     function fakeStorage() { return "Not Spoofed"; }
  49.     function fakeUserAgent() {
  50.       // NOTE: Current TOR User Agent as of 19 July 2017
  51.         // NOTE: This will need constant updating.
  52.         // NOTE: As TOR changes firefox versions each update,
  53.         // NOTE: Shape Shifter will need to keep up.
  54.         return "Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0";
  55.     }
  56.     function fakeBuildID() {
  57.       return "20100101";
  58.     }

  59.     const fakeActiveVRDisplaysValue       = fakeActiveVRDisplays();
  60.     const fakeAppCodeNameValue            = fakeAppCodeName();
  61.     const fakeAppNameValue                = fakeAppName();
  62.     const fakeAppVersionValue             = fakeAppVersion();
  63.     const fakeBatteryValue                = fakeBattery();
  64.     const fakeConnectionValue             = fakeConnection();
  65.     const fakeGeoLocationValue            = fakeGeoLocation();
  66.     const fakeHardwareConcurrencyValue    = fakeHardwareConcurrency();
  67.     const fakeJavaEnabledValue            = fakeJavaEnabled();
  68.     const fakeLanguageValue               = fakeLanguage();
  69.     const fakeLanguagesValue              = fakeLanguages();
  70.     const fakeMimeTypesValue              = fakeMimeTypes();
  71.     const fakeOnLineValue                 = fakeOnLine();
  72.     const fakeOscpuValue                  = fakeOscpu();
  73.     const fakePermissionsValue            = fakePermissions();
  74.     const fakePlatformValue               = fakePlatform();
  75.     const fakePluginsValue                = fakePlugins();
  76.     const fakeProductValue                = fakeProduct();
  77.     const fakeServiceWorkerValue          = fakeServiceWorker();
  78.     const fakeStorageValue                = fakeStorage();
  79.     const fakeUserAgentValue              = fakeUserAgent();
  80.     const fakeBuildIDValue                = fakeBuildID();

  81.     Object.defineProperties(window.navigator, {
  82.         /*
  83.         activeVRDisplays: {
  84.             configurable: true,
  85.             enumerable: true,
  86.             get: function getActiveVRDisplays() {
  87.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.activeVRDisplays");
  88.                 return fakeActiveVRDisplaysValue;
  89.             }
  90.         },
  91.         */

  92.         appCodeName: {
  93.             configurable: true,
  94.             enumerable: true,
  95.             get: function getAppCodeName() {
  96.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.appCodeName");

  97.                 return fakeAppCodeNameValue;
  98.             }
  99.         },
  100.         appName: {
  101.             configurable: true,
  102.             enumerable: true,
  103.             get: function getAppName() {
  104.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.appName");

  105.                 return fakeAppNameValue;
  106.             }
  107.         },
  108.         appVersion: {
  109.             configurable: true,
  110.             enumerable: true,
  111.             get: function getAppVersion() {
  112.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.appVersion");

  113.                 return fakeAppVersionValue;
  114.             }
  115.         },

  116.         // TODO: This is getBattery() now
  117.         /*
  118.         battery: {
  119.             configurable: true,
  120.             enumerable: true,
  121.             get: function getBattery() {
  122.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.battery");
  123.                 return fakeBatteryValue;
  124.             }
  125.         },
  126.         connection: {
  127.             configurable: true,
  128.             enumerable: true,
  129.             get: function getConnection() {
  130.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.connection");
  131.                 return fakeConnectionValue;
  132.             }
  133.         },
  134.         geolocation: {
  135.             configurable: true,
  136.             enumerable: true,
  137.             get: function getGeoLocation() {
  138.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.geolocation");
  139.                 return fakeGeoLocationValue;
  140.             }
  141.         },
  142.         */

  143.         hardwareConcurrency: {
  144.             configurable: true,
  145.             enumerable: true,
  146.             get: function getHardwareConcurrency() {
  147.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.hardwareConcurrency");

  148.                 return fakeHardwareConcurrencyValue;
  149.             }
  150.         },

  151.         /*
  152.         javaEnabled: {
  153.             configurable: true,
  154.             enumerable: true,
  155.             value: function getJavaEnabled() {
  156.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.javaEnabled");
  157.                 return fakeJavaEnabledValue;
  158.             }
  159.         },
  160.         */

  161.         language: {
  162.             configurable: true,
  163.             enumerable: true,
  164.             get: function getLanguage() {
  165.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.language");

  166.                 return fakeLanguageValue;
  167.             }
  168.         },
  169.         languages: {
  170.             configurable: true,
  171.             enumerable: true,
  172.             get: function getLanguages() {
  173.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.languages");

  174.                 return fakeLanguagesValue;
  175.             }
  176.         },

  177.         /*
  178.         mimeTypes: {
  179.             configurable: true,
  180.             enumerable: true,
  181.             get: function getMimeTypes() {
  182.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.mimeTypes");
  183.                 return fakeMimeTypesValue;
  184.             }
  185.         },
  186.         */

  187.         onLine: {
  188.             configurable: true,
  189.             enumerable: true,
  190.             get: function getOnLine() {
  191.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.onLine");

  192.                 return fakeOnLineValue;
  193.             }
  194.         },
  195.         oscpu: {
  196.             configurable: true,
  197.             enumerable: true,
  198.             get: function getOscpu() {
  199.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.oscpu");

  200.                 return fakeOscpuValue;
  201.             }
  202.         },

  203.         /*
  204.         permissions: {
  205.             configurable: true,
  206.             enumerable: true,
  207.             get: function getPermissions() {
  208.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.permissions");
  209.                 return fakePermissionsValue;
  210.             }
  211.         },
  212.         */

  213.         platform: {
  214.             configurable: true,
  215.             enumerable: true,
  216.             get: function getPlatform() {
  217.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.platform");

  218.                 return fakePlatformValue;
  219.             }
  220.         },

  221.         /*
  222.         plugins: {
  223.             configurable: true,
  224.             enumerable: true,
  225.             get: function getPlugins() {
  226.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.plugins");
  227.                 return fakePluginsValue;
  228.             }
  229.         },
  230.         */

  231.         product: {
  232.             configurable: true,
  233.             enumerable: true,
  234.             get: function getProduct() {
  235.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.product");

  236.                 return fakeProductValue;
  237.             }
  238.         },

  239.         /*
  240.         serviceWorker: {
  241.             configurable: true,
  242.             enumerable: true,
  243.             get: function getServiceWorker() {
  244.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.serviceWorker");
  245.                 return fakeServiceWorkerValue;
  246.             }
  247.         },
  248.         storage: {
  249.             configurable: true,
  250.             enumerable: true,
  251.             get: function getStorage() {
  252.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.storage");
  253.                 return fakeStorageValue;
  254.             }
  255.         },
  256.         */

  257.         userAgent: {
  258.             configurable: true,
  259.             enumerable: true,
  260.             get: function getUserAgent() {
  261.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.userAgent");

  262.                 return fakeUserAgentValue;
  263.             }
  264.         },
  265.         buildID: {
  266.             configurable: true,
  267.             enumerable: true,
  268.             get: function getBuildID() {
  269.                 console.log("[ALERT] " + window.location.hostname + " accessed property Navigator.buildID");

  270.                 return fakeBuildIDValue;
  271.             }
  272.         }
  273.     });
  274. })();
复制代码


本帖被以下淘专辑推荐:

结帖率:92% (12/13)

签到天数: 1 天

发表于 2022-5-27 18:28:11 | 显示全部楼层   湖北省荆门市
我试了一下,只有语言可以修改成功啊
是我没用好么?
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2022-5-22 17:23:26 | 显示全部楼层   四川省绵阳市
牛逼666666666666
回复 支持 反对

使用道具 举报

发表于 2022-5-21 19:35:32 | 显示全部楼层   广东省广州市
666666666666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2021-4-27 03:05:03 | 显示全部楼层   广东省揭阳市
啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2021-4-27 02:36:45 | 显示全部楼层   广东省清远市
请问在哪里使用这个代码,大神有自己的原创相关工具吗?
回复 支持 反对

使用道具 举报

结帖率:65% (13/20)
发表于 2021-1-20 09:03:09 | 显示全部楼层   山东省烟台市
大佬,求详细的易语言使用代码。小弟不知道怎么用~~
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
发表于 2020-9-21 14:41:29 | 显示全部楼层   浙江省金华市
还有另外一个版本you什么区别吗?
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 1 天

发表于 2020-8-22 21:59:12 | 显示全部楼层   山东省济南市
6666666666666666666
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表