Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 4 Aug 2010 00:55:12 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: 1337 aka Leet Rules

On Wed, Aug 04, 2010 at 12:35:32AM +0400, Solar Designer wrote:
> To produce all combinations of "e" to "3" and "o" to "0" replacements in
> a word containing 2 instances of each of these characters, you can use:
> 
> %2e vap0 %2o vbp0 /e vcp0 /o op[o0] oc[e3] ob[o0] oa[e3]

Actually, this can be simplified to:

%2e op[e3] %2o op[o0] /e op[e3] /o op[o0]

which is also more similar to the last line of the four-line and
five-line versions:

> An alternative that does not require 2 instances of each letter may be:
> 
> /e op[e3] /o op[o0]
> %2[eo] op\p[30] /\r[eeo] op\p[e30]
> %2[eo] op\p[30] /e op3 /o op0
> %2e op3 %2o op0 /e op[e3] /o op[o0]
...
> To avoid producing an unmodified instance of the word, this may be
> further revised to:
> 
> /[eo] op\p[30]
> /e op3 /o op0
> %2[eo] op\p[30] /\r[eeo] op\p[e30]
> %2[eo] op\p[30] /e op3 /o op0
> %2e op3 %2o op0 /e op[e3] /o op[o0]

Basically, we have the single line for all 16 combinations, and we may
split it into 4*4 = 16 or 2+1+4+4+4 = 15 if we need to treat some of the
combinations specially (such as exclude the no-op one).

Alexander

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux - Powered by OpenVZ