Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых) |
eXeL@B —› Основной форум —› Чистая математика. |
Посл.ответ | Сообщение |
|
Создано: 02 марта 2005 14:15 · Личное сообщение · #1 Есть исходник: f u n c t i o n g o _ f ( ) { n s r f = 1 ; r d t = 0 ; l = d o c u m e n t . z 2 . c o d e . v a l u e . l e n g t h ; u _ c o d e = d o c u m e n t . z 2 . c o d e . v a l u e ; f o r ( v a r i = 0 ; i < l ; i + + ) { r d t = r d t + u _ c o d e . c h a r C o d e A t ( i ) ; n s r f = ( n s r f * u _ c o d e . c h a r C o d e A t ( i ) ) % 2 9 3 1 4 ; } i f ( r d t = = 1 2 5 8 & & n s r f = = 1 7 5 7 8 ) { a l e r t ( " W e l l d o n e ! " ) ; } e l s e { a l e r t ( " N o , n o . T r y a g a i n , p l e a s e ! " ) ; } } Патчить нельзя. Соответственно непонятно возможно ли реверсировать данный алгоритм. Поясняю алгоритм: В цикле из пароля длинной l(длинна не известна) выбираются литеры, затем преобразуются в числовой формат по спецификации UNICODE, далее оно суммируется с переменной r d t , с переменной nsrf = (nsrf*числовое_значение)%2 9 3 1 4, и так до конца цикла. Известно, что конечное значение rdt=1258, nsrf=17578. То есть имеется система двух уравнений, но непонятно сколько неизвестных. Налабал по быстрому Brute, но видно корявый, коэффиценты(литеры пароля) не нашел. Вопрос: Есть ли алгоритм реверсирования? Я не прошу мне исходник или что-то в таком духе, просто какие-нибудь наметки(где посмотреть, итд). PS Заранее благодарен. |
|
Создано: 02 марта 2005 17:13 · Личное сообщение · #2 Zoo Дружище, что могу сказать о попытке buteforc`а в условиях неопределенности (на собственном опыте): даже если ты будешь перебирать из очень ограниченного набора символов (как min, анг. алфавит - для простоты + цифры, то при длинне пароля больше дюжины символов время перебора -> почти бесконечность по y=x**n. у меня в свое время на перебор ушло немного месяцев при еще более сокращенном наборе символов и длине 12 разрядов... сам понимаешь задача почти нереальная.. во времени... если будет нужно что-либо обсудить - пиши.. обсудим! |
|
Создано: 02 марта 2005 19:31 · Личное сообщение · #3 |
|
Создано: 02 марта 2005 19:50 · Поправил: assassin · Личное сообщение · #4 Zoo >преобразуются в числовой формат по спецификации UNICODE вобщето под UNCODE подразумевают кодировку, в которой отводится два байта под символ. в данном случае это не так, берется только ASCII код символа. вставь в скрипт alert(rdt) и убедишься. вобще я уже писал об этой головоломке от xakep.ru в теме http://exelab.ru/f/action=vthread&forum=1&topic=1669 вобщем выводы я сделал такие: возможно вобще 3 варианта создания этого 'крекми': 1) автор считал, что на основании суммы и произведения символов можно как-то хитро сократить перебор. однако что-то непохоже это на правду, никакой полезной информации из этих хэшей извлечь не получается... 2) автор знал скорость брутфорса и расчитывал на то, что пароль можно подобрать в реальные сроки. если это так, то пароль этот либо входит в 'cловари'(однако я проверял по довольно большым rus/eng словарям и ничего не нашел), либо короткий - 5/6, максимум 7 символов. 5-7 потому что мой далеко неоптимальный брутфорсер перебирает 1млн паролей в секунду. даже если его можно раз в 10 убыстрить, то все-равно 8 символов подобрать мало реально, т.к если считать что в пароль входят тока символы вида 'a..zA..z'(пусть их будет 50 различных), то 50^8/10^6 = 39062500 сек = 452 дня. даже в 10 раз более оптимальный брутфорсер ничего не найдет если в пароле 5-7 символов, то в нем явно должны быть русские символы, чтобы сумма их кодов была = 1258 мне влом стало писать такой брутфорсер и ждать потом n дней, но ты можешь попробовать 3) автор отвольного взял хэши и о реальности взлома не думал вот это мне кажется похожим на правду все ессно ИМХО |
|
Создано: 02 марта 2005 22:24 · Личное сообщение · #5 |
|
Создано: 02 марта 2005 23:07 · Личное сообщение · #6 |
|
Создано: 03 марта 2005 01:31 · Личное сообщение · #7 |
|
Создано: 03 марта 2005 06:33 · Личное сообщение · #8 |
|
Создано: 03 марта 2005 16:32 · Личное сообщение · #9 Zoo пишет: Есть исходник: f u n c t i o n g o _ f ( ) Интересно: как долго сюда буду сливать конкурсы от xakep.ru??? там конечно надо и алгоритм описать я думаю, поэтому Zoo и попросил =)) собрались бы все и стали бы проходить все призовые конкурсы чисто для CRACL@B'a, глядиш может и журнал стали бы выпускать типа в бумажном виде. =)) Я бы покупал |
|
Создано: 03 марта 2005 20:53 · Личное сообщение · #10 Zoo пишет: Если не сложно поделись методом Легко Все-таки там берутся символы UNICODE, я посмотрел. Если бы в пароле содержались только символы латиницы, цифры, ну и другие с кодами до 128, он бы вышел слишком длинным - где-то 10 знаков. Поэтому я решил, что там должна быть одна русская буква (ну наверно и из другого языка могла бы быть, просто на русском набирать легче ). Почему только одна? Все символы кириллицы лежат в диапазоне 1040 - 1103, то есть больше одной уже не влезает. Ещё остается на 3 - 4 других символа с кодами до 128. Таким образом удалось значительно уменьшить перебор. Вот и всё P.S. Да, там ещё и 72 четырехзначных пароля есть: М$M] б2:M т',U + получаемые перестановками |
|
Создано: 03 марта 2005 23:25 · Личное сообщение · #11 |
|
Создано: 03 марта 2005 23:31 · Личное сообщение · #12 |
eXeL@B —› Основной форум —› Чистая математика. |