На однном сайте есть елементы управления которые в самом коде HTML не связаны с информацией описывающей их, связь есть только внешная они выровнены приблизительно и человек без труда видит какой элемент управления что означает. В HTML коде у каждого элемента есть значение вот несколько для примера value="nZUXj7FLXlvWyIM7m_TCNybgBBwm" , value="0OmAhakUN0ON7co.6MFQUGVQYwcm", value="lvpPp7fzZlZ_kIxgap_WDkOWHzDm"> по которому как я понимаю сервер понимает чего хотел пользователь. Это похоже на какойто хеш. Если комуто это покажется знакомым буду рад услышать вариант.
вы б адресок привели и пошаговые условия приводящие к такой ситуации чтоле в дополнение к этому явно коммерческому вопросу.
Короче пишется авто проставитель "вилок" на спортивные соревнования. один из букмекеров БК Марафон, для того чтоб увидеть эту ситуацию нужно завести аккаунт и открыть любой турнир в режиме проставления ставок. посмотреть на HTML и определить какой радиобаттон связан с каким коэффициентом.
Что-то ты мудришь, имхо пропарсить страницу и определить соотвтетсвие радиобатонов подписям... Я так понимаю, что возле(напротив) каждого радиобатона на странице стоит надпись с коэффициентом?
не на против а под, в этом вся и сложность, это конечно можно решить криво считать через сколько пробелов этот радиобатон стоит, а вдруг это какойнибудь bs64 и там все сразу понятно что и где. вот кусок штмл Код (Text): 25/01 <b id=r>1)Понте Прета</b> <b> 1.70 </b> 3.20 4.50 <b>1.15 </b> 1.30 2.05 <b> </b> <b> 2.5 </b> 1.95 1.75 00:10 <b id=r>2)Паулиста Ж</b> <b> <input type=radio name=r372 value="ICCTHg4urbp3YWJVXz_kECWQImcm"> </b> <input type=radio name=r372 value="G0bvGcLR4LQMV42oWFfM^l.gRFwm"> <input type=radio name=r372 value="OajIO.z1det.^FeK^F.O^EfhRfum"> <b> <input type=radio name=r372 value="E0OkELos6c5DTwVyU7ftZw.bVGwm"> </b> <input type=radio name=r372 value="AyK0AhwH2x9WPUZ2QG._ZDfxVnum"> <input type=radio name=r372 value="ZW6RYsxvvK05H3SPIPGlDkOWHzDm"> <b> </b> <b> </b> <input type=radio name=r372 value="fo9nwDq_WTnz5uDl4q5KkvhKbI4m"> <input type=radio name=r372 value="r_wS9CjjJS64ojUQpd4jrudj7O4m"> Причем для некоторых коэффициентов могут отсутсвовать радиобаттоны.
Jhonny Ну да, похоже что что-то закодировано... но это не base64, по крайнемере не в чистом виде, т.к. есть символы, отсутствующие в base64. Не исключено, что это вобще просто идентификатор, который на стороне сервера сопоставляется с соответствующим значением... Интересно, если перезагрузить страницу эти шифровки меняются?
нет не меняются. Единственно что я в них заметил то что все заканчиваются на "m" Причем идентификатором события является номер в имени (например name=r372) он не меняется тоже и одинаков для всех коэффициентов этого события, следовательно эта штука кодирует именно тип коэффициента и его значение
Ээх по деревенски получилось не очень надежно бывают глюки на странице, редко, но бывают. Поэтому всетаки очень хотелось бы докапаться до истины. Код (Text): Примеры : kZ9JbY98kZr03Moe2Mc31NTAhxcm aJxJbY98kZr03Moe2xc31NTAhxcm pXYlwjEWooG_8gTQ88lxfjx_vHwm ehm83e0Jgh2BbvyL.pt3yJUAxpcm rLdx6bw_qufWvr5Yj9t3yJUAxpcm ljUZjX9onsrm7Lo.6eLGdMD50.Lm 8dzf4_HT8cJcoKYRpdzlGC7YKmdm uIMeaZpL.YjDeN8JgI19kvhKbI4m _525PfFGclDOL2WAM56r_lerSF4m u9AqkZ9HbYrzgNoNehd9gM493.dm Из того что заметил сам: По количеству и немного по характеру символов(28) очень похож на SHA1(Base64), заканчивается всегда на "m"(Base64 заканчивается всегда на "=") , однако набор символов не характрен ни для MIME ни для UU ни для XX. Можно предположить что еще наложено XOR шифрование однако если предположить что "=" преобразовано в "m" то расшифровка дает много непечатаемых символов что после Base64 невозможно. Поможите люди добрые . ЗЫ В примере даны хеши для одного события, хеш меняется только если меняется коэффициент, причем если кооэффициент принимает одно из значений которое принимал ранее этот хешь принимает то значени которое было в тот момент(это говорит что это не рандомный набор символов), он не меняется с течением времени или при смене аккаунта, возможно то что в групе для одного события повторяются давольно большие участки хешей(для первых двух отличае только в первых 3х символах) тоже даст дополнительную инфу для размышлений.
1) Размер алфавита - 64 (очень похож на Base64 с заменой 2 исключений на точку и подчеркивание). 2) Односимвольным XOR-ом поверх Base64, как ты предполагаешь, быть не может, поскольку "m" встречается и в "основном" тексте, а не только в конце. 3) Результатом криптостойкой хеш-функции, как и простым random это быть не может, поскольку вероятность встретить такое рядом : была бы чрезвычайно мала. 4) Размер сообщения - 21 байт (168 бит) - на первый взгляд ни на что не похоже. 5) Возможно, это просто переменная типа record/struct, размером 21 байт. Для выяснения этого попробуй "подобиваться" большего количества очень похожих друг на друга пар/троек/и т.д. хешей
Несколько замечаний : 1. Действительно похож на Base64. Возможно это что-то вроде Base64 - идея та же, но алфавит выбран другой. 2. Судя по тому, что многие строки очень похожи, и совпадают, можно предположить, что они зависят от каких либо параметров. Намекаю на то, что возможно закодировано так : <код для параметра1><код для параметра2>.... Попробуй менять только один параметр и наблюдай что происходит со строкой. Выкладывай сюда значения всех параметров, которые могут быть задействованы и значения хэшей.
Обратимся к анализу предпоследней буквы, имеем (пока что) набор : "4", "L", "c", "d", "w" Наиболее печально видеть там две соседние буквы ("c", "d"), при любом непрерывном алфавите a-la-Base64 и побайтовом XOR-е, ADD-е и т.п. они имели бы соседние коды, а, следовательно не могли иметь два самых младших бита одинаковыми между собой (а два самых младших бита "идут" к последнему байту, который, очевидно, один и тот же всегда) .
Спасибо за ответы. были же к вечеру выложу екселевский файлик с набором этих чудо кодов и соответсвующих им параметров
Приветствую! Есть две мысли: 1) Возможно, это результат сериализации каких-нить структур данных, выполненный при помощи php или javascript, для чего используется печатаемый алфавит. Можно пошариться в поисках библиотек или фреймворков, которые умеют делать подобного рода сериализацию. Вряд ли автор программер сайта изобретал велосипед. 2) Это действительно аналог base64, стоит просто посдвигать начало алфавита на величину от 1 до 63.