DEEP Спасибо, давно хотел посмотреть скорость факторизации... - 128-битные ключи ломает за несколько секунд - запустил факторизацию 256-битного ключа - примерное время завершения - 2 часа - посмотрим... а генератор RSA-ключей у меня есть свой - вот от него и подсовываю в RSATool2v17...
Кстати, насчёт двоек я погорячился. Могут они там быть (если число, полученное на n-ном шаге деления, кратно 28). gorodon, кстати, есть факторизаторы и куда быстрее, например M-Sieve: Код (Text): [deep@nbk-01 msieve-1.49]$ time ./msieve 0x94307A5A562AB4E2EDCC8D25E5690DEDE3E4150E19332B48EF9AFF8A4DC5E8B9 sieving complete, commencing postprocessing real 0m15.564s user 0m15.372s sys 0m0.070s 15 секунд на 256-битный ключ.
Всё. Свершилось, оно работает. Правда, пока что ещё (я так подозреваю) не для всех возможных конфигураций: скажем, если в системе окажется более трёх сетевых карт, то хэшировальщик просто подавится входной строкой, вследствие её длины. Но это не столь важно — в конце концов, когда основной алгоритм написан и готов к работе, мелкие детали уже легко поправить. Код писался по принципу «чтобы работало», и был отчасти утянут из бинаря игры. Поэтому ногами прошу не бить: о красоте кода будем заботиться, когда код будет закончен. Имя пользователя, к слову, может быть украдено из адресного пространства работающей игры. Сначала полагал это костылём, но потом понял, что так, скорее всего, и оставлю: тот алгоритм генерации имени по параметрам системы писали какие-то параноики-наркоманы. Например, у меня в системе одна из сетевых карт — виртуальная, физически представленная мобильником, подключённым к ноуту через USB-порт. Когда я выну USB-кабель, сетевых карт в системе останется две. И, тем самым, регистрация по «системному» имени немедленно слетит. В общем и целом, вот архив с исходниками и бинарём. Прошу любить и жаловать, альфа-версия нумер раз: [UPD:] переархивировал в zip, т.к. сначала по ошибке выбрал формат .tar.gz
Heads up! Допилил хэшировщик — теперь он поддерживает обработку строк неограниченной длины. Максимальную длину имени увеличил до 63 символов, а также добавил функциональности полю ввода. Проверил кейген на нескольких версиях Zuma: адреса, хранящие имя и его длину, разумеется, не совпадали от версии к версии, зато сам алгоритм регистрации, очевидно, не менялся аж с 2003 года, и ключ, созданный по «ворованному» (из памяти Zuma) имени, подошёл к ним всем. Похоже, что генератор имён всё мне же придётся выдирать и вставлять в кейген… Короче, альфа-версия №2:
DEEP Видимо это не просто имя, а идентификатор компа (т.е. зависящий от железа компа - от сетевых плат, как вы писали выше).. Таким образом происходит привязка к железу компа.. ну типа того.. По идее, программа должна его индицировать во время процедуры регистрации...