
Быстрый поиск
Введите фрагмент названия статьи для поиска

Проверка стойкости пароля с помощью подсчета энтропии
18.12.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Проверка стойкости пароля с помощью подсчета энтропии
Каждому пользователю интернета приходилось регистрироваться на каких-нибудь сайтах или сервисах, и одна из обязательных составляющих любой регистрации - придумывание пароля. Есть даже официальные рекомендации по составлению паролей, не говоря уже о многочисленных статьях на эту тему. Многие сервисы при регистрации пользователя проверяют наличие определенных групп символов в пароле, в результате складывается ситуация, как в верхней половине приведенного здесь комикса. А вот как определить, действительно ли тот или иной пароль является сложным?
Читать статью целиком »
Просмотров: 8763 | Комментариев: 12

Расчет CRC24 на Ассемблере
05.01.2015 | Категория: Образ мышления: Assembler | Автор: ManHunter
CRC24 - еще одна разновидность контрольной суммы. Как можно увидеть из названия, ее размер составляет 24 бита, или 3 байта. Я пока не нашел практического применения этому хешу, так же как и программ, использующих его. Но раз есть алгоритм, то почему бы его не реализовать на Ассемблере? Начнем с наиболее компактной реализации без использования таблицы.Code (Assembler) : Убрать нумерацию
- ;-----------------------------------------------------------------------
- ; Функция вычисления хеша CRC24
- ; by ManHunter / PCL
- ; http://www.manhunter.ru
- ;-----------------------------------------------------------------------
- ; Параметры:
- ; lpData - указатель на строку
- ; dSize - длина строки
- ; На выходе:
- ; EAX = полученный хеш
- ;-----------------------------------------------------------------------
- proc CRC24 lpData:DWORD, dSize:DWORD
- push ebx ecx edx esi
- CRC24_POLYNOM = 1864CFBh
- ; Инициализация
- mov eax,0B704CEh
- ; Длина строки
- cmp [dSize],0
- je .loc_ret
- ; Указатель на начало строки
- xor ecx,ecx
- @@:
- ; Получить символ из строки
- mov ebx,[lpData]
- movzx edx,byte [ebx+ecx]
- shl edx,16
- xor eax,edx
- xor esi,esi
- .loc_cycle:
- shl eax,1
- test eax,1000000h
- jz .loc_next
- xor eax,CRC24_POLYNOM
- jmp .loc_next
- .loc_next:
- inc esi
- cmp esi,8
- jb .loc_cycle
- ; Следующий символ
- inc ecx
- cmp ecx,[dSize]
- jb @b
- .loc_ret:
- and eax,0FFFFFFh
- pop esi edx ecx ebx
- ret
- endp
Читать статью целиком »
Просмотров: 5357 | Комментариев: 6

Исследование защиты программы Advanced FTP Password Recovery
18.10.2014 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Advanced FTP Password Recovery
Программа Advanced FTP Password Recovery предназначена для восстановления забытых паролей от FTP, которые сохранены в настройках различных FTP-клиентов. Уникальность и универсальность Advanced FTP Password Recovery заключается в том, что вам не требуется расшифровывать какие-то файлы, брутить пароли или что-то еще. Если пароль сохранен в FTP-клиенте, то вам достаточно просто послать запрос на соединение, а Advanced FTP Password Recovery перехватит и покажет ваш пароль. Для перехвата надо сперва немного подготовиться: изменить в настройках FTP-клиента адрес нужного сервера на localhost или завернуть его через файл hosts на ip-адрес 127.0.0.1, если отредактировать его нельзя. Advanced FTP Password Recovery при запуске биндит свой перехватчик на порт 21 (FTP) локального хоста и ждет от FTP-клиента запроса на авторизацию. Очень простое и элегантное решение. Лично я считаю, что подобный инструмент в обязательном порядке должен быть на дежурной флешке, но, во-первых, программа не портативная, а во-вторых, бесплатно показывает только количество символов в пароле, сам пароль отображается только после регистрации.
Читать статью целиком »
Просмотров: 5987 | Комментариев: 6

Расчет CRC64 на Ассемблере
30.07.2014 | Категория: Образ мышления: Assembler | Автор: ManHunter
Алгоритм подсчета CRC64, как и остальных контрольных сумм, предназначен для проверки целостности данных при их передаче или хранении. Также контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность: с большой вероятностью различные наборы данных будут иметь неравные контрольные суммы. Длина в 64 бита позволяет сократить число возможных коллизий, а использование предварительно посчитанной таблицы делает скорость вычисления достаточно большой.В этой статье я покажу два варианта алгоритма подсчета CRC64. Они отличаются используемыми полиномами и, соответственно, полученными на их основе таблицами. Сами алгоритмы отличаются ненамного. Первый вариант - прямой или нормальный, принятый как стандарт ISO 3309. Он используется в различных программах, например, в базе данных PostgreSQL. Здесь за основу берется полином 0x42F0E1EBA9EA3693.
Code (Assembler) : Убрать нумерацию
- ;-----------------------------------------------------------------------
- ; Функция вычисления CRC64 - Прямой табличный алгоритм (PostgreSQL)
- ;-----------------------------------------------------------------------
- ; Параметры:
- ; lData - указатель на участок памяти для расчета CRC64
- ; dLen - размер участка в байтах
- ; На выходе:
- ; EAX:EDX = CRC64 участка памяти
- ;-----------------------------------------------------------------------
- proc calc_CRC64 lData:dword, dLen:dword
- ; Сохранить регистры
- push edi esi ebx ecx
- ; Указатель на данные для подсчета CRC64
- mov esi,[lData]
- ; Размер участка данных
- mov ecx,[dLen]
- xor eax,eax
- ; Начальное значение CRC64 = -1
- mov ebx,0FFFFFFFFh
- mov edx,ebx
- @@:
- ; Следующий символ данных
- lodsb
- ; Вычислить смещение QWORD в таблице
- mov edi,edx
- shr edi,24
- xor eax,edi
- ; Вычислить значение CRC64
- shld edx,ebx,8
- shl ebx,8
- xor ebx,dword [crc64table+eax*8]
- xor edx,dword [crc64table+eax*8+4]
- loop @b
- xchg eax,ebx
- ; Финализация CRC64
- not eax
- not edx
- ; Восстановить регистры
- pop ecx ebx esi edi
- ret
- endp
Читать статью целиком »
Просмотров: 6965 | Комментариев: 4

Как Windows определяет, что файл был загружен из Интернета
12.04.2014 | Категория: Software | Автор: ManHunter
Часто при попытке запустить файлы, скачанные из интернета, появляется примерно такое окно:
Как Windows определяет, что файл был загружен из Интернета
Такую "черную метку" файлу обычно ставит браузер Internet Explorer. При этом файл можно переименовать, скопировать или даже переместить на другой диск, предупреждение все равно будет оставаться. Снять блокировку с файла можно примерно так. Но каким образом система определяет, что файл скачан из интернета? Эта информация записывается в так называемые альтернативные потоки NTFS. Суть технологии альтернативных потоков заключается в том, что у файла на дисковой системе NTFS одновременно может быть несколько потоков, содержащих данные. Проводник Windows и большинство файловых менеджеров могут работать только с главным потоком, который представляет собой основное содержимое файла.
Читать статью целиком »
Просмотров: 24139 | Комментариев: 16
