В стандартный дистрибутив Crack входит большое число файлов правил. Они содержатся в подкаталоге conf и для удобства имеют префикс rules (исключение составляет файл globrule. conf, рассматриваемый далее). Ссылки на эти файлы были даны в листинге 12.17.
В листинге 12.18 показан образец файла правил, в данном случае rules.perml. В нем содержится последовательность довольно похожих правил. Например, правило /isill означает, что, если в слове встречается буква 'i', следует поменять все буквы Ч' на цифру 1 и перевести все остальные буквы в нижний регистр.
Листинг 12.18. Файл rules.perml
/asa21 /asa41 /ese31 /hsh41 /isill /lslll /osoOl
/sss $1
Ниже описан синтаксис файлов правил. Следует признать, что этот синтаксис довольно запутан, и нужно время, чтобы привыкнуть к нему.
Синтаксис файла правил
Оператор Описание
: или space Указание на отсутствие операции, используемое для наглядности. Если встречается слово space, оно означает наличие пробела и не трактуется буквально
Оператор Описание
лх Вставляет символ х перед словом
Вставляет символ х после слова
г Меняет порядок символов в слове на обратный
U Делает все буквы слова прописными
1 Делает все буквы слова строчными
р Образует форму множественного числа в соответствии с правилами английского языка
с Делает первую букву слова прописной, а остальные — строчными
С Делает первую букву слова строчной, а остальные — прописными
t Меняет регистр каждой буквы слова
d Присоединяет копию слова к самому слову
f Меняет порядок символов в слове на обратный и присоединяет копию слова
к исходному слову
sxy или scy Заменяет каждый экземпляр символа х символом у или же каждый символ класса с символом у
/х или /с Игнорирует слово, если в нем отсутствует символ х или символы класса с
или /с Игнорирует слово, если оно содержит символ х или символы класса с
'л Игнорирует слово, если его длина больше или равна п символов
'л Игнорирует слово, если его длина меньше или равна п символов
хлт Выделяет из слова подстроку длиной т символов, начиная с символа номер п
опх Заменяет символ х символом номер п. Поскольку проверка границ слова не
выполняется, данный оператор должен использоваться только вместе с операторами ' и '
1лх Вставляет символ х в позицию п слова, смещая все остальные символы на
одну позицию вправо
Игнорирует слово, если его символ номер я не равен х или не является членом
класса с
или @с Удаляет все экземпляры символа х или символов класса с
[ Удаляет первый символ слова
] Удаляет последний символ слова
Игнорирует слово, если его первым символом не является символ х или
символ класса с
Игнорирует слово, если его последним символом не является символ х или символ класса с
Возвращает слово в исходное состояние
Усекает слово, оставляя в нем n символов
Игнорирует слово, если в нем нет и экземпляров символа х или символов класса с
Некоторые из перечисленных операторов требуют наличия целочисленного аргумента. Возможные аргументы описаны в табл. 12.6.
Таблица 12.6. Синтаксис числовых аргументов файла правил
Аргумент Интерпретация
0, 1, 2,..., 9 Числовые значения 0, 1, 2, ..., 9
А, В, С,..., Z Числовые значения 10, 11, 12, ..., 36
Максимальная длина незашифрованного пароля. Для алгоритма DES —
8, для Bigcrypt — 16, для MD5 по. умолчанию — тоже 16 (эта установка может быть произвольной)
Соответствует значению + 1, т.е. 9 для DES, 17 для Bigcrypt и MD5