Есть сайт, выдающий прокси, в шапке у которого есть такая странная функция
<script type="text/javascript">
eval(function(p, r, o, x, y, s) {
y = function(c) {
return (c < r ? '' : y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (o--) {
s[y(o)] = x[o] || y(o)
}
x = [function(y) {
return s[y]
}];
y = function() {
return '\\w+'
};
o = 1
};
while (o--) {
if (x[o]) {
p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o])
}
}
return p
}('f=D^C;g=B^E;m=F^A;n=8;h=1;k=2;b=3;i=H^G;l=J^y;t=6;a=u^x;q=z^w;d=v^I;e=5;c=4;j=0;o=W^X;r=7;p=9;s=V^T;K=j^l;N=h^i;U=k^g;M=b^a;L=c^d;O=e^m;P=t^s;S=r^q;R=n^o;Q=p^f;', 60, 60, '^^^^^^^^^^Four5Two^Seven^Five^Five1Seven^Four^Seven4Five^Six5Six^Zero^Eight2Zero^Eight^Three^Zero9Three^Two4Eight^Two^EightFiveOne^Nine^Five3Nine^Six^Eight3Four^One^9298^5789^1337^3129^88^1134^80^2155^6588^5020^8000^999^8118^572^1080^6637^Seven6NineSix^ThreeSixTwoZero^Five3EightFive^OneSixZeroNine^ZeroTwoFourSeven^Six5ThreeThree^Eight1OneFour^FourFiveSixOne^FourZeroFiveTwo^443^Nine5SevenEight^8121^1777^8085'.split('\u005e'), 0, {}))
</script>
Она как-то шифрует номер порта, чтобы его нельзя было просто так спарсить. Ниже, в коде сайта, есть такая вставка
<script type="text/javascript">document.write("<font class=spy2>:<\/font>"+(OneSixZeroNine^Eight2Zero)+(Seven6NineSix^Zero9Three)+(FourFiveSixOne^EightFiveOne)+(Seven6NineSix^Zero9Three))</script>
Она преобразуется в нормальное число. Отладчик показывает, что эти константы определены примерно так:
Two = 8;
Zero = 1;
Three = 2;
Seven = 3;
Eight2Zero = 572 ^ 8118;
То есть это исключающее или с набором констант. Функция вычисляется в момент загрузки, как я понимаю. Объясните, пожалуйста, что это за хитрые регулярки и как работает такое вычисление. Спасибо.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть кастомный дропдаун (вообще на реакте, но это не важно)
Всем привет! Делаю таблицу с товаром, в которой будет меняться количество товара и сумма заказаНа кнопку "купить" меняется ссылка подобным...
Нужно сделать запрет на ввод знака "минус" в поле inputСтраница написана с использованием JSF и Primefaces