(09-29-2012, 03:07 PM)atom Wrote: If this is about keyboard-walks, why dont you just use a keyboard walk generator and pipe it to stdin?
First, I see use in general words as well:
Code:
mirrorrorrim : 56,900
mirrororrim : 113,000
backwarddrawkcab : 349
backwardrawkcab : 18,100
These are biased example since the words are skewed toward "reflection thinking". Let's try a few more general words:
snakeekans : 13,900
snakekans : 10,100
greenneerg : 10,100
greeneerg : 8,320
yellowwolley : 33,900
yellowolley : 186,000
oceannaeco : 1,720
oceanaeco : 23,200
The idea seems reasonably popular for general use as well as patterns.
There is also a cool construction that can be done with the "b/BN" rules that can't (at least that i can see) be done now without resorting to length specific rules:
If you want a word followed by a single separator followed by that word reversed such as:
mirror:rorrim
mirror|rorrim
mirror rorrim
You can do so using "b" easily with a rule like:
Code:
$: b
This method even plays well with other word mangling rules like r, $s, (] $i $n $g), etc... it creates a lot of flexibility.
Going even further with this, multiple repetitions such as:
mirror!rorrim!mirror
can be achieved with:
Code:
$! ^! B2 [ ] (where $ represents the first separator and ^ the second)
This extends out to N times where:
Code:
$: ^| B(N-1) [ ] (where $ will be the odd separator and ^ the even)
All of that said, on the original question of keyboard walks I would say that I prefer the idea of keeping clean wordlists that are as tight as possible and then using rules to mangle them as needed. The idea of generating wordlists, or even directly piping them, that do all of this backtracking however many times seems inefficient compared with having them expanded in hashcat's rule engine (I say while acknowledging that I have no deep insight into hashcat's internals).
Regardless, this functionality would add some unique and seemingly useful flexibility to the hashcat suite.
Finally, on the topic of keyboard walk generators, I was actually starting to write one when I saw the usefulness of having rules like this in hashcat. I have yet to find one that did all that I wanted, although the only one I've found is d3ad0ne's so it's a small sample size. If you have any others you'd recommend I'd love to hear about them and potentially save myself duplicating effort.