Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Знак ^ в document.write (https://javascript.ru/forum/misc/28860-znak-%5E-v-document-write.html)

hanabad 05.06.2012 10:31

Знак ^ в document.write
 
Привет, форумчане!
У меня такая проблема:
В html страничке есть такой код:
document.write("<font class=spy2>:<\/font>"+(p6e5d4^f6i9)+(k1b2s9^m3w3)+(t0y5c3^z6r8)+( r8w3n4^o5h8))
Мне не понятно что делается здесь (p6e5d4^f6i9)+(k1b2s9^m3w3)+(t0y5c3^z6r8)+(r8w3n4^ o5h8), но я знаю что в итоге получается число 3128
Может кто обьяснит мне что за операции производятся в скобках со знаком ^?
Заранее спасибо.

Kolyaj 05.06.2012 10:38

http://javascript.ru/manual

Deff 05.06.2012 10:43

hanabad,
Код не полный -где то выше описание переменных
p6e5d4
f6i9
k1b2s9
m3w3
t0y5c3
z6r8
r8w3n4
o5h8
Знак ^ см тут => http://javascript.ru/bitwise-operators

hanabad 05.06.2012 10:44

Цитата:

Сообщение от Kolyaj (Сообщение 179062)

Ну спасибо Вам, а то я даже слова такого слова как мануал не знал.
Кажется Вы так подумали?
Мне все равно ничего не понятно, обьясните пожалуста!

hanabad 05.06.2012 10:52

Deff, спасибо!
Прошу прощения за мою невнимательность.
Нашел код выше:
<script type="text/javascript">q7q7=9496;s9z6=7977;n4b2=1914;u1u1=5776;y5v2=8204;v2e5=9479;
a1d4=5004;e5x4=3781;l2l2=6361;j0f6=8027;s9z6f6=0^q7q7;c3i9q7=1^s9z6;d4x4y5=2^n4b2;i9g7s9=3^u1u1;
z6w3j0=4^y5v2;e5o5e5=5^v2e5;g7t0u1=6^a1d4;k1m3w3=7^e5x4;a1h8d4=8^l2l2;r8c3l2=9^j0f6;</script>

Только он уже изменился после обновления странички:dance:

Deff 05.06.2012 10:54

hanabad,
Две соседних переменных записываются в двоичном виде
и логически складываются
Пример
0011
0101
-----
0110 (итог)

биты в одинаковых полях - сравниваются
если в одном из полей 1 то результат 1
если оба 0 или 1 - то -> 0

<script type="text/javascript">
q7q7=9496;
s9z6=7977;
n4b2=1914;
u1u1=5776;
y5v2=8204
v2e5=9479;
a1d4=5004;
e5x4=3781;
l2l2=6361;
j0f6=8027;
s9z6f6=0^q7q7;
c3i9q7=1^s9z6;
d4x4y5=2^n4b2;
i9g7s9=3^u1u1;
z6w3j0=4^y5v2;e5o5e5=5^v2e5;
g7t0u1=6^a1d4;
k1m3w3=7^e5x4;
a1h8d4=8^l2l2;
r8c3l2=9^j0f6;
</script>
Эти все переменные записать в двоичном виде и провести операцию
Хотя это чисто шифрование кода , обычно применяемая в эксплойтах,

hanabad 05.06.2012 11:05

Deff, спасибо Вам еще раз за доходчивый ответ!
Это не эксплойт, просто я пишу парсер прокси вот отсюда http://spys.ru/proxylist/
там так номера портов шифруются.
Сам я програмлю на C# и практически не знаю javascript:)

Kolyaj 05.06.2012 11:55

Цитата:

Сообщение от hanabad
Ну спасибо Вам, а то я даже слова такого слова как мануал не знал.
Кажется Вы так подумали?

Именно так я и подумал. И специально дал ссылку на весь мануал, а не на конкретный оператор, чтобы вы заодно и на остальные операторы посмотрели. А то встретите ещё один оператор, опять придётся мусорную тему создавать.


Часовой пояс GMT +3, время: 22:18.