Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Дешифрование метода XOR


Автор: neweraser 23.5.2012, 12:12
Доброго времени суток! Возможно, я неправильно назвал тему (в Java Script вообще ноль), но все же, думаю туда попал smile
Пишу на Delphi парсер для spys.ru/proxylist, с IP проблем не возникает, а вот порты зашифрованы чем-то вроде:
Код

<script type="text/javascript">document.write("<font class=spy2>:<\/font>"+(c3c3y5^q7g7)+(f6t0e5^v2m3)+(d4y5x4^r8s9)+(v2k1j0^w3z6))</script>

это 3128 порт, или, например, для 8080
Код

<script type="text/javascript">document.write("<font class=spy2>:<\/font>"+(v2k1j0^w3z6)+(k1r8a1^t0d4)+(v2k1j0^w3z6)+(k1r8a1^t0d4))</script>

Строки не меняются, каждой соответствует свой порт, можно, конечно было этим воспользоваться, но хотелось бы все-таки расшифровывать, если это возможно. Есть идеи? Спасибо.

Автор: Aliance 23.5.2012, 15:08
Адрес spys.ru/proxylist не открывается. Где можно посмотреть документ, в котором указаны приведенные выше скрипты?

Автор: iff 23.5.2012, 15:34
Цитата(Aliance @  23.5.2012,  15:08 Найти цитируемый пост)
Адрес spys.ru/proxylist не открывается

http://spys.ru/proxylist/

Код

<script type="text/javascript">x4u1=1339;o5x4=4237;n4f6=3726;y5o5=4537;g7m3=9954;l2n4=1419;m3w3=4654;s9k1=4768;b2q7=4238;e5c3=4128;k1x4p6=0^x4u1;q7s9k1=1^o5x4;p6u1t0=2^n4f6;l2e5u1=3^y5o5;j0j0e5=4^g7m3;x4y5l2=5^l2n4;m3g7q7=6^m3w3;c3n4g7=7^s9k1;h8d4i9=8^b2q7;v2m3d4=9^e5c3;</script>

Вот здесь получаются переменные 9тоже с пременением XOR). Дальше к ним опять применяется операция XOR, как вы и заметили, что-бы получить значение порта.

Наверно на Delphi нужно читать этот скрипт, и практически выполнять его - присваивать переменным значения и проводить исключающее или над ними.

Автор: ksnk 23.5.2012, 17:20
iff, imho, самому интерпретатор написать проще ... сначала выковырять переменные, потом - формулы, потом с ними вычислить значения. Ну или webbrower'ом дельфийским открыть страничку, подождать пока она сгенерируется и встроенным домом прочитать все, что нагенерировалось.

Вот только вряд ли хозяева сайта сильно обрадуются такому распространению их контента. Все-таки старались, кодировали. Да и не самое это простое дело, поддерживать список прокси серверов в актуальном состоянии...

Автор: neweraser 24.5.2012, 08:23
Что-то все это для меня сложно... выковырял большинство комбинаций типа (c3c3y5^q7g7)+(f6t0e5^v2m3)+(d4y5x4^r8s9)+(v2k1j0^w3z6) и присвоил им соответствующие значения, буду наверное делать так. Я понимаю, что это не есть хорошо, так пользоваться сайтом, но я не пишу прокси граббер, все нужно исключительно для моей программы и для меня лично без какого-либо распространения smile 
Кстати, видел в сети парсер этого сайта, продают за 5 $))

Автор: neweraser 24.5.2012, 12:56
Я все перепутал, они каждый раз разные smile 

Автор: iff 24.5.2012, 13:07
Цитата(ksnk @  23.5.2012,  17:20 Найти цитируемый пост)
iff, imho, самому интерпретатор написать проще ... 


Цитата(neweraser @  24.5.2012,  12:56 Найти цитируемый пост)
Я все перепутал, они каждый раз разные 

Я собственно об этом и говорил.
Из этого места:
Код

<script type="text/javascript">x4u1=1339;o5x4=4237;n4f6=3726;y5o5=4537;g7m3=9954;l2n4=1419;m3w3=4654;s9k1=4768;b2q7=4238;e5c3=4128;k1x4p6=0^x4u1;q7s9k1=1^o5x4;p6u1t0=2^n4f6;l2e5u1=3^y5o5;j0j0e5=4^g7m3;x4y5l2=5^l2n4;m3g7q7=6^m3w3;c3n4g7=7^s9k1;h8d4i9=8^b2q7;v2m3d4=9^e5c3;</script>

нужно извлечь переменные.
например, можно создать массив записей. одно поле будет хранить название, другое значение.

Дальше можно с этими переменными производить вычисления.

Автор: neweraser 24.5.2012, 14:29
Все, разобрался, там по сути даже не нужно производить вычисления, просто искать совпадения:
если
Код

i9z6=5163;
c3n4=3920;
v2e5=8845;
w3b2=5553;
u1h8=2050;
d4r8=8298;
x4i9=8877;
z6u1=1009;
k1t0=3327;
q7c3=7898;
y5q7e5=0^i9z6;
m3l2p6=1^c3n4;
q7n4q7=2^v2e5;
s9e5a1=3^w3b2;
i9p6i9=4^u1h8;
g7f6r8=5^d4r8;
h8x4n4=6^x4i9;
l2a1k1=7^z6u1;
o5g7c3=8^k1t0;
r8b2x4=9^q7c3;

то
(o5g7c3^k1t0)+(y5q7e5^i9z6)+(o5g7c3^k1t0)+(y5q7e5^i9z6)
8^3327^3327  + 0^5163^5163 + 8^3327^3327 + 0^5163^5163 = 8080
так же и
(s9e5a1^w3b2)+(m3l2p6^c3n4)+(q7n4q7^v2e5)+(o5g7c3^k1t0) =
3128

Сейчас буду пробовать приводить к нужному виду в делфи, хотя голова уже перестает соображать  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)