TitleCase rule with non-space chars
#1
Hi,

I need a rule which functions like
Code:
E
but not only on whitespace. For example, it transforms anything after a character in an upper case:
Code:
my-strong-passwd -> My-Strong-Passwd
(the first character as well).

I have seen in some forums of JtR that they already implemented it. 
Is there any way to easily mimick it in hashcat ?

Many thanks!
#2
You can chain a couple of rules together:

s- E s -

That's
- replace all dashes with spaces
- title case
- replace all spaces with dashes again

It would be cool if E could take an argument of what character to treat as the separator. Might be tricky to implement a rule that both does and does not accept arguments, though. Using "e[char]" like JtR did could be a useful add.
~
#3
(04-18-2017, 08:07 PM)royce Wrote: You can chain a couple of rules together:

s-  E s -

That's
- replace all dashes with spaces
- title case
- replace all spaces with dashes again

That's awesome ! I was only thinking in higher level, because I actually want it with digits. so my123password -> My123Password. I didn't realise that it suffices :
Code:
s3 E s 3
I guess the idea now is just to add rule for each digit/character, which you can probably do with the generator. I haven't looked into it yet.

One surprise, for me, was that words generated with rules are not fed back into the generator. Is it because there are rules which are not idempotent (such as insertion) ? I found it trickier to write, but, as I said, I've discovered hashcat today :"> ^^
#4
Ah, I see. Interesting approach - could be handy. If your target character already exists in the string, you'll get some inexact results, but that might be acceptable.

Actual discovered plains can be fed back into the current attack with --loopback. Candidates are not - that could escalate quickly. Wink
~
#5
By target character, I guess you mean Space, since that should be the target for `E` (Title) to work. I see what you mean. Sucks.
Do you think we should open a issue/feature request for the `e?C` rule, like in JtR ?

Hmm, I think I meant candidates, yes. I see how that can escalate.
I'm not sure I understand what --loopback does. What is the 'induct' directory ?
Is there some more complete documentation other than the wiki ?

Thank you !
#6
Yeah, requesting an "e" rule seems useful. I've requested it (#1231)

After the current run finishes, --loopback takes the actual plains that you found, and executes that same run against anything found. In other words, new founds are appended to the implicit word/guess list.
~