Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых)

 eXeL@B —› Основной форум —› Чистая математика.
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 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
Заранее благодарен.



Ранг: 85.5 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 марта 2005 17:13
· Личное сообщение · #2

Zoo
Дружище, что могу сказать о попытке buteforc`а в условиях неопределенности (на собственном опыте):
даже если ты будешь перебирать из очень ограниченного набора символов (как min, анг. алфавит - для простоты + цифры, то при длинне пароля больше дюжины символов время перебора -> почти бесконечность по y=x**n.
у меня в свое время на перебор ушло немного месяцев при еще более сокращенном наборе символов и длине 12 разрядов...
сам понимаешь задача почти нереальная.. во времени...
если будет нужно что-либо обсудить - пиши.. обсудим!





Ранг: 78.6 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 02 марта 2005 19:31
· Личное сообщение · #3

кстати по перебору, может я не в тему, а если перебирать данные но разные по хешу, то можно сократить время?



Ранг: 21.3 (новичок)
Активность: 0.020
Статус: Участник

Создано: 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) автор отвольного взял хэши и о реальности взлома не думал

вот это мне кажется похожим на правду

все ессно ИМХО



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 02 марта 2005 22:24
· Личное сообщение · #5

Если кому-нибудь интересно...
Возможные пароли:
В"3@C
И++,P
П")8H
У$$-R
э##$3
+ получаемые из них перестановками
... всего 420 штук



Ранг: 21.3 (новичок)
Активность: 0.020
Статус: Участник

Создано: 02 марта 2005 23:07
· Личное сообщение · #6

deNULL
что, таки пункт 2) сработал?



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2005 01:31
· Личное сообщение · #7

deNULL
Если не сложно поделись методом.
А то как-то обидно вдруг стало




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 03 марта 2005 06:33
· Личное сообщение · #8

deNULL
блин, а я на ночь тему прочитал, думал сесть утром за брут.. обидно ;)



Ранг: 38.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 03 марта 2005 16:32
· Личное сообщение · #9

Zoo пишет:
Есть исходник:
f u n c t i o n g o _ f ( )

Интересно: как долго сюда буду сливать конкурсы от xakep.ru???
там конечно надо и алгоритм описать я думаю, поэтому Zoo и попросил =))
собрались бы все и стали бы проходить все призовые конкурсы
чисто для CRACL@B'a, глядиш может и журнал стали бы выпускать типа в бумажном виде. =)) Я бы покупал



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 03 марта 2005 20:53
· Личное сообщение · #10

Zoo пишет:
Если не сложно поделись методом

Легко
Все-таки там берутся символы UNICODE, я посмотрел. Если бы в пароле содержались только символы латиницы, цифры, ну и другие с кодами до 128, он бы вышел слишком длинным - где-то 10 знаков. Поэтому я решил, что там должна быть одна русская буква (ну наверно и из другого языка могла бы быть, просто на русском набирать легче ). Почему только одна? Все символы кириллицы лежат в диапазоне 1040 - 1103, то есть больше одной уже не влезает. Ещё остается на 3 - 4 других символа с кодами до 128. Таким образом удалось значительно уменьшить перебор. Вот и всё
P.S. Да, там ещё и 72 четырехзначных пароля есть:
М$M]
б2:M
т',U
+ получаемые перестановками



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2005 23:25
· Личное сообщение · #11

bad_boy
Ты ошибаешься, мне просто интересно как её решили. Тырить чужое решение, выставлять как своё, и все это за 50 уе в лучшем случае. Странный ты




Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2005 23:31
· Личное сообщение · #12

deNULL
Спасибо, усек.


 eXeL@B —› Основной форум —› Чистая математика.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати