Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJf9EDS9WSZrS=PyhAEpbnzcxySjqAUp9SbOP6LD8r=7BUf10w@mail.gmail.com>
Date: Wed, 24 Aug 2022 21:51:47 +0300
From: Aleksey Cherepanov <lyosha@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: JtR Rules Questions

> Oh, and I'm asking these questions here vs.john-contest since I think other
> people might be interested in the answers as well :)

Yes, it fits onto john-users better. Anyway we try to keep most of
contest related things public.

My little tricks:

?? is annoying to write manually. I skip s??. case at all:
--rules=':s[ ->@-~][ -~]'

To append anything ascii, I use non-printable delimiters like the
following. Among drawbacks, it is printed into log file without \x
quoting.
--rules=':Az\x01[ -~][ -~]\x01'

Also 3 full ascii ranges is a bit too much for preprocessor (it starts
very slowly), so to append them, I append 2 ranges through --rules=
and 1 range through --rules-stack= .

To pack multiple rules into the same command, you can use parallel
expansion, but it would create totally unreadable lines. Actually I
don't use it in contests. But I can imagine a collection of
copy-paste-ready gadgets to build complex one-liners (there is #4117
making it more complicated though).

$0 ^A and T2 together:
$ echo test | ./john/run/john --pipe --stdout --rules=':[$^T]\p[0A2]'
test0
Atest
teSt

Az"1" Az"12" and Az"123" together using no-op padding and \r for
repeats in ranges:
$ echo test | ./john/run/john --pipe --stdout
--rules=':Az"1\r["22]\p[:"3]\p\r[::"]'
test1
test12
test123

Thanks!

-- 
Regards,
Aleksey Cherepanov

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.