|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T d
Length: 10425 (0x28b9) Types: TextFile Names: »dicts.rules«
└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen └─⟦this⟧ »./crack/Scripts/dicts.rules«
### # Description file for Crack dictionary processor. ADE Muffett, Mar 1992 ### # Ordinary Commands: # : = no-op - do nothing to the input word # <n = reject word UNLESS it is < n characters long, where n = 0-9a-z # >n = reject word UNLESS it is > n characters long, where n = 0-9a-z # ^x = prepend character 'x' to word # $y = append character 'y' to word # l = force word to be lowercase # u = force word to be uppercase # c = force word to be capitalised # r = reverse word: "Fred" -> "derF" # d = duplicate word: "Fred" -> "FredFred" # f = reflect word: "Fred" -> "FredderF" # p = make best attempt to pluralise a lowercase word # onx = overstrike character in position 'n' (start at 0) with character 'x' # nb: little overflow checking is done, so use '<' and '>' carefully # inx = insert character 'x' in position 'n' (start at 0) and shift the rest # of the input string right. # eg: i3* on "wibble" yields "wib*ble"; i0* on "wibble" yields "*wibble" # nb: if n > strlen(input), character 'x' will be appended # xnm = extract substring from position n (start at 0) for up to m characters # eg: using x27 on "autobogotification" yields "tobogot" # eg: using x3a on "autobogotification" yields "obogotific" (10 chars) # nb: little overflow checking is done, so use '<' and '>' carefully ### # Commands which may utilise character classes: (note special use of '?') # sxy = replace (swap) all 'x' in the word with 'y' # s?cy = replace all characters of class 'c' in the word with y # @x = purge all 'x' from the word # @?c = purge all characters of class 'c' from the word # !y = reject word if it contains character 'y' # !?c = reject word if it contains a character in class 'c' # /x = reject word unless it contains character 'x' # /?c = reject word unless it contains a character in class 'c' # =nx = reject word unless char at position 'n' is equal to x # =n?c = reject word unless char at position 'n' is in class 'c' # nb: the word always starts at position 0 ### # Character classes for use in above: # ?? matches "?" # ?v matches vowels aeiou # ?c matches consonants bcdfghjklmnpqrstvwxyz # ?w matches whitespace (space, tab) # ?p matches punctuation .,:;'"?!` # ?s matches symbols $%^&*()-_+=|\[]{}#@/~ # ?l matches lowercase letters # ?u matches uppercase letters # ?d matches any digit # ?a matches any letter of the alphabet # ?x matches any letter of the alphabet, or any digit (ie: is alphanumeric) # The complement of a class may be matched by the uppercase of it's letter # ie: where ?d == DIGITS, ?D == NON-DIGITS, and so on. ### # Many people haven't realised that the above is a complete language; ie: # if you want to create a dictionary of short words with "123" appended, # use "<6l$1$2$3". ### # A FINAL NOTE: remember that very few users are aware that passwords # stop at 8 chars long; so, while it IS worthwhile to check for words # being 8 or more chars long before appending a character, it is NOT # worthwhile to do the same when prepending characters. Hence:- # # "williamsburgh" -> "williams" }\ # "williamsburgh1" -> "williams" }/~~~Will be uniqued. # "1williamsburgh" -> "1william" # ### # So, here we go; try to order these in the order most likely to be a # password. First we try to make selections from the pure alphabetic # words in the dicts, then we get onto the weird stuff. ###################################################################### # Force every pure alphabetic word lowercase and try it # NOT-CONTAIN ANY NON-ALPHA, LOWERCASE !?Al # Pluralise every significant one of the above # MORE-THAN 2, NOT-CONTAIN ANY NON-ALPHA, LOWERCASE, PLURALISE >2!?Alp # Try variations of anything that is not pure alnum # CONTAIN ANY NON-ALNUM /?X # CONTAIN ANY NON-ALNUM, CONTAIN ANY UPPER, LOWERCASE /?X/?ul # Any alphaword >2 & <8 chars long, append a digit or simple punctuation # since few ppl add non alpha chars to a already non-alpha word # MORE-THAN 2, LESS-THAN 8, NOT ANY NON-ALPHA, LOWERCASE, APPEND <whatever> >2<8!?Al$0 >2<8!?Al$1 >2<8!?Al$2 >2<8!?Al$3 >2<8!?Al$4 >2<8!?Al$5 >2<8!?Al$6 >2<8!?Al$7 >2<8!?Al$8 >2<8!?Al$9 >2<8!?Al$! >2<8!?Al$. >2<8!?Al$? >2<8!?Al$ : # trailing colon (no-op) on last line delimits space character. # Lowercase every pure alphabetic word and reverse it # MORE-THAN 2, NOT-CONTAIN ANY NON-ALPHA, LOWERCASE, REVERSE >2!?Alr # Capitalise every pure alnum word (ie: not anything which is not alnum) # MORE-THAN 2, NOT-CONTAIN ANY NON-ALNUM, CAPITALISE >2!?Xc # Anything uppercase # MORE-THAN 2, NOT-CONTAIN ANY NON-ALNUM, UPPERCASE >2!?Xu # Pure alphabetic words with vowels removed which are still fairly long # NOT-CONTAIN ANY NON-ALPHA, CONTAIN ANY VOWEL, PURGE ANY VOWEL, MORE-THAN 3 !?A/?v@?v>3 # Look, I'm getting really bored of this monotone uppercase typing, so # if it's OK with you, I'll drop the commentaries on each rule. You # should have got the idea by now... # Longish pure words lowercased and reflected >2!?Alf # Words containing whitespace, which is then squeezed out /?w@?w>3 # In a similar vein, words with punctuation, squeezed out /?p@?p>3 # Reasonably short words, duplicated. eg: "fredfred" >1<7!?Ald ### # >From: mycroft@edu.mit.ai.gnu # >In addition to the standard dicts.rules, I use the following set. You # >can guess what it does. # I've tidied this up a bit (I hope) - alec ### >2/asa2l >2/asa4l >2/ese3l >2/hsh4l >2/isi1l >2/lsl1l >2/oso0l >2/sss$l >2/asa2/hsh4l >2/asa2/sss$l >2/asa4/hsh4l >2/ese3/asa2l >2/ese3/asa4l >2/ese3/hsh4l >2/ese3/sss$l >2/isi1/asa2l >2/isi1/asa4l >2/isi1/ese3l >2/isi1/hsh4l >2/isi1/sss$l >2/lsl1/asa2l >2/lsl1/asa4l >2/lsl1/ese3l >2/lsl1/hsh4l >2/lsl1/isi1l >2/lsl1/oso0l >2/lsl1/sss$l >2/oso0/asa2l >2/oso0/asa4l >2/oso0/ese3l >2/oso0/hsh4l >2/oso0/isi1l >2/oso0/sss$l >2/sss$/asa4l >2/sss$/hsh4l >2/asa2/sss$/hsh4l >2/ese3/asa2/hsh4l >2/ese3/asa2/sss$l >2/ese3/asa4/hsh4l >2/ese3/sss$/asa4l >2/ese3/sss$/hsh4l >2/isi1/asa2/hsh4l >2/isi1/asa2/sss$l >2/isi1/asa4/hsh4l >2/isi1/ese3/asa2l >2/isi1/ese3/asa4l >2/isi1/ese3/hsh4l >2/isi1/ese3/sss$l >2/isi1/sss$/asa4l >2/isi1/sss$/hsh4l >2/lsl1/asa2/hsh4l >2/lsl1/asa2/sss$l >2/lsl1/asa4/hsh4l >2/lsl1/ese3/asa2l >2/lsl1/ese3/asa4l >2/lsl1/ese3/hsh4l >2/lsl1/ese3/sss$l >2/lsl1/isi1/asa2l >2/lsl1/isi1/asa4l >2/lsl1/isi1/ese3l >2/lsl1/isi1/hsh4l >2/lsl1/isi1/sss$l >2/lsl1/oso0/asa2l >2/lsl1/oso0/asa4l >2/lsl1/oso0/ese3l >2/lsl1/oso0/hsh4l >2/lsl1/oso0/isi1l >2/lsl1/oso0/sss$l >2/lsl1/sss$/asa4l >2/lsl1/sss$/hsh4l >2/oso0/asa2/hsh4l >2/oso0/asa2/sss$l >2/oso0/asa4/hsh4l >2/oso0/ese3/asa2l >2/oso0/ese3/asa4l >2/oso0/ese3/hsh4l >2/oso0/ese3/sss$l >2/oso0/isi1/asa2l >2/oso0/isi1/asa4l >2/oso0/isi1/ese3l >2/oso0/isi1/hsh4l >2/oso0/isi1/sss$l >2/oso0/sss$/asa4l >2/oso0/sss$/hsh4l >2/sss$/asa4/hsh4l >2/ese3/asa2/sss$/hsh4l >2/ese3/sss$/asa4/hsh4l >2/isi1/asa2/sss$/hsh4l >2/isi1/ese3/asa2/hsh4l >2/isi1/ese3/asa2/sss$l >2/isi1/ese3/asa4/hsh4l >2/isi1/ese3/sss$/asa4l >2/isi1/ese3/sss$/hsh4l >2/isi1/sss$/asa4/hsh4l >2/lsl1/asa2/sss$/hsh4l >2/lsl1/ese3/asa2/hsh4l >2/lsl1/ese3/asa2/sss$l >2/lsl1/ese3/asa4/hsh4l >2/lsl1/ese3/sss$/asa4l >2/lsl1/ese3/sss$/hsh4l >2/lsl1/isi1/asa2/hsh4l >2/lsl1/isi1/asa2/sss$l >2/lsl1/isi1/asa4/hsh4l >2/lsl1/isi1/ese3/asa2l >2/lsl1/isi1/ese3/asa4l >2/lsl1/isi1/ese3/hsh4l >2/lsl1/isi1/ese3/sss$l >2/lsl1/isi1/sss$/asa4l >2/lsl1/isi1/sss$/hsh4l >2/lsl1/oso0/asa2/hsh4l >2/lsl1/oso0/asa2/sss$l >2/lsl1/oso0/asa4/hsh4l >2/lsl1/oso0/ese3/asa2l >2/lsl1/oso0/ese3/asa4l >2/lsl1/oso0/ese3/hsh4l >2/lsl1/oso0/ese3/sss$l >2/lsl1/oso0/isi1/asa2l >2/lsl1/oso0/isi1/asa4l >2/lsl1/oso0/isi1/ese3l >2/lsl1/oso0/isi1/hsh4l >2/lsl1/oso0/isi1/sss$l >2/lsl1/oso0/sss$/asa4l >2/lsl1/oso0/sss$/hsh4l >2/lsl1/sss$/asa4/hsh4l >2/oso0/asa2/sss$/hsh4l >2/oso0/ese3/asa2/hsh4l >2/oso0/ese3/asa2/sss$l >2/oso0/ese3/asa4/hsh4l >2/oso0/ese3/sss$/asa4l >2/oso0/ese3/sss$/hsh4l >2/oso0/isi1/asa2/hsh4l >2/oso0/isi1/asa2/sss$l >2/oso0/isi1/asa4/hsh4l >2/oso0/isi1/ese3/asa2l >2/oso0/isi1/ese3/asa4l >2/oso0/isi1/ese3/hsh4l >2/oso0/isi1/ese3/sss$l >2/oso0/isi1/sss$/asa4l >2/oso0/isi1/sss$/hsh4l >2/oso0/sss$/asa4/hsh4l >2/isi1/ese3/asa2/sss$/hsh4l >2/isi1/ese3/sss$/asa4/hsh4l >2/lsl1/ese3/asa2/sss$/hsh4l >2/lsl1/ese3/sss$/asa4/hsh4l >2/lsl1/isi1/asa2/sss$/hsh4l >2/lsl1/isi1/ese3/asa2/hsh4l >2/lsl1/isi1/ese3/asa2/sss$l >2/lsl1/isi1/ese3/asa4/hsh4l >2/lsl1/isi1/ese3/sss$/asa4l >2/lsl1/isi1/ese3/sss$/hsh4l >2/lsl1/isi1/sss$/asa4/hsh4l >2/lsl1/oso0/asa2/sss$/hsh4l >2/lsl1/oso0/ese3/asa2/hsh4l >2/lsl1/oso0/ese3/asa2/sss$l >2/lsl1/oso0/ese3/asa4/hsh4l >2/lsl1/oso0/ese3/sss$/asa4l >2/lsl1/oso0/ese3/sss$/hsh4l >2/lsl1/oso0/isi1/asa2/hsh4l >2/lsl1/oso0/isi1/asa2/sss$l >2/lsl1/oso0/isi1/asa4/hsh4l >2/lsl1/oso0/isi1/ese3/asa2l >2/lsl1/oso0/isi1/ese3/asa4l >2/lsl1/oso0/isi1/ese3/hsh4l >2/lsl1/oso0/isi1/ese3/sss$l >2/lsl1/oso0/isi1/sss$/asa4l >2/lsl1/oso0/isi1/sss$/hsh4l >2/lsl1/oso0/sss$/asa4/hsh4l >2/oso0/ese3/asa2/sss$/hsh4l >2/oso0/ese3/sss$/asa4/hsh4l >2/oso0/isi1/asa2/sss$/hsh4l >2/oso0/isi1/ese3/asa2/hsh4l >2/oso0/isi1/ese3/asa2/sss$l >2/oso0/isi1/ese3/asa4/hsh4l >2/oso0/isi1/ese3/sss$/asa4l >2/oso0/isi1/ese3/sss$/hsh4l >2/oso0/isi1/sss$/asa4/hsh4l >2/lsl1/isi1/ese3/asa2/sss$/hsh4l >2/lsl1/isi1/ese3/sss$/asa4/hsh4l >2/lsl1/oso0/ese3/asa2/sss$/hsh4l >2/lsl1/oso0/ese3/sss$/asa4/hsh4l >2/lsl1/oso0/isi1/asa2/sss$/hsh4l >2/lsl1/oso0/isi1/ese3/asa2/hsh4l >2/lsl1/oso0/isi1/ese3/asa2/sss$l >2/lsl1/oso0/isi1/ese3/asa4/hsh4l >2/lsl1/oso0/isi1/ese3/sss$/asa4l >2/lsl1/oso0/isi1/ese3/sss$/hsh4l >2/lsl1/oso0/isi1/sss$/asa4/hsh4l >2/oso0/isi1/ese3/asa2/sss$/hsh4l >2/oso0/isi1/ese3/sss$/asa4/hsh4l >2/lsl1/oso0/isi1/ese3/asa2/sss$/hsh4l >2/lsl1/oso0/isi1/ese3/sss$/asa4/hsh4l # Bleagh! pant, pant - alec # Oddly enough, people prefixing passwords with numbers is quite a lot # rarer than suffixing numbers. Hence, we are further down the file # before trying this. Oh well, let's nail the buggers anyway... >2<8l^ : >2l^0 >2l^1 >2l^2 >2l^3 >2l^4 >2l^5 >2l^6 >2l^7 >2l^8 >2l^9 # Capitalise and then reverse every word (eg: "derF") >2!?Xcr # Reverse and then capitalise every alphabetic word (eg: "Derf") >2rc # Pure words capitalised with various ejaculatory punctuation added # eg: "Cats!" for Andrew Floyd-Drebber fans... >2<8!?Ac$! >2<8!?Ac$. >2<8!?Ac$? # Uppercase words with various things appended or swapped out >2<8u$! >2<8u$. >2<8u$? >2/OsO0u # Really weird uppercase variations >2ud >2uf >2ur # Yes, I know all this looks like line noise, but I haven't put regexp in yet.