![]() |
Брут Md5 быстрее на 25%
Побрутив мд5 хеш на своем компьютере (AMD65 3500+), программой PasswordsPro (5.5млн п/с) ), увидел цифру 10лет.
Подумалось, нельзя ли побыстрее? Оказалось можно. Пример1 кода мд5 на делфи. Код:
// function lrot32(a, b: dword): dword; register;Код:
procedure rev_md5;Но пароль не известен, поэтому остановимся на первом data[ 0], это первые 4 символа пароля. Алгоритм перебора получается такой: Заполняем data[1]..data[x] данными. выполняем procedure rev_md5 и теперь заполняя data[0] (это четыре байта), перебираем и сравниваем сокращенным md5; Если совпали srhash0==a;srhash1==b;srhash2:==c;srhash3==d; пароль у нас на экране. Как можно еще, заметить отсутствуют data[ 4], data[ 5]… Просто найти пароль длинной более 23 символов, нереально, так и незачем нагружать процессор заставляя его прибавлять нули. Исходники и программу выкладывать не буду, тк Допустил ошибку , выбрав в данном случае Delphi (умучился алгоритм оптимизировать), нужно сразу было на Си. Но все равно 7.1 млн п/c вместо 5.5млн получилось. Зы но 9 лет вместо 10 почти не радует :(. |
По-моему, дела делаются так:
Если взялся сделать что-то, то сделать это так, чтобы лучше тебя больше не сделал никто. Поэтому лучше всего сделать единожды охринительный брутфорсер на АСМЕ (соответственно сообразить самый быстрый алгоритм) и этим пользоваться вечно, пока мд5 ещё будет использоваться. |
Цитата:
Код:
a:=$67452301;b:=$efcdab89;c:=$98badcfe;d:=$10325476;Код:
// a-eax,b-ebx,c-ecx,d-edx |
Поделить код на несколько частей и каждую часть отдать отдельному программеру. Стоящие вещи пишутся не в один день...
|
http://www.rewolf.cjb.net/
http://cracklab.ru/f/index.php?action=vthread&topic=5787&forum=6&page=-1 |
Код:
MOV EDX,$EFCDAB89особенно DEC EAX\ADD EAX,$D76AA478 подряд... |
Цитата:
Откомпилил в си вставил в Delphi: Предварительный рабочий вариант: http://filesurf.ru/25687/keygenme.rar.html 10 хешей перебирает быстрее, чем PasswordsPro один. Ответ создателя PasswordsPro о возможности добавить агоритм: Цитата:
|
Цитата:
Необходимые компоненты: [+] Microsoft Visual Studio 2005 или старше (в смысле поновее) [+] CUDA for Windows Тут [-] Видеокарта Nvidia GeForce8800 Ultra … [+]GeForce8500GT (1.8т.руб) в десять раз медленнее [+] немного мозгов , для написания программы Вот так не сложно запускается 128 потоков одновременно Код:
unsigned int * data;Код:
__global__ void md5(unsigned int * data)Получаем перебор 320 000 000 паролей в секунду. Зы 2 месяца вместо 9 лет уже радует. :) |
Цитата:
и с какими вениками ? |
Цитата:
GeForce 8800 Ultra - 320 млн.пас/cek (10т.руб накапливаю) GeForce 8800 GTX - 288 млн.пас/cek GeForce 8800 GTS(1) - 192 млн.пас/cek, SLI(2) - 384 млн.пас/cek У меня в наличии: GeForce 8500 GT - 27 млн.пас/cek , но это не предел оптимизирую до 32. тогда данные выше станут реальными, а не предполагаемыми. + вся оптимизация затачивается на нахождение одного пароля. Универсальная программа будет поскромнее. :) |
| Время: 11:56 |