Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 12 Apr 2011 22:26:49 +0300
From: Shinnok <>
Subject: [GSoC] Johnny - GUI frontend for JtR

Hash: SHA1

Hi john-dev,

I just completed my GSoC application for Johnny, a GUI frontend to
JtR(, along with a
detailed project description and a timeline for the GSoC coding period.
I'll post it here if Solar finds that necessary? For the moment it is
only available through gsoc-melange for mentors.

And now that I got that out of my way(lots of writing, pfew) and all
that remains is to hope that my application is kung-fu enough to get me
selected, I am going to proceed with actual coding, design
implementation and specific problem research. Actually the latter will
be first since I still have to get a clear picture of to best wrap
around JtR(1) as well as get really intimate with all usage cases and
quirks of JtR(2):

1. My current view of the wrapper implementation is to use popen() and
exec*() calls as mentioned on previous e-mails but I wouldn't proceed to
implementation before actually researching if there are better ways of
achieving the wrapper goal or how to best use popen() and exec*() calls.
I am welcome to any suggestions from the list, links, code, anything one
might know about and thinks should be checked out. For a start I will
first take a look at how Zenmap and Rainmap, since from what I hear they
achieved the wrapper functionality pretty nice, although they are not C/C++.

2. Although I have used JtR many times in the past, I didn't cover all
usage paths that John has and as I view it, writing a GUI to JtR
definitely requires a very intimate level of acquaintance with the tool
and thus I plan to spend a day or two to do exactly that(password
cracking fever). I especially intend to take a look over pages like and Any links and
interesting/crazy usages of JtR you might have are very welcomed.

I intend to spend the rest of the week with these two tasks and possibly
create a poc for 1. if I decide on a specific wrapper implementation.

In parallel I will add improvements to the GUI on the fly as soon as I
get new ideas on how to layout and group things more properly(since
there is room for improvement no doubt) or based on 2.

Just for consistency, since I started this new thread, Johnny demo is
available here:

I delayed wasting time on making distribution builds/packages available
at this raw state of Johnny till there will be at least some interfacing
with John and some more GUI definition. This will hopefully be very
soon. In the meantime you can of course grab the source from github and
build it by following the instructions in the README file.

Oh and another minor thing, about Johnny the tool name, I didn't think
much about an actual name for the GUI and since Johnny is the first name
that came to my mind I stuck with that. The reasoning behind the naming,
as I tried to squeeze it out of my subconscious, would be that Johnny is
the *cuter* and more *user-friendly* brother/twin/clone/drone/.. of
John. But of course this is not written in stone in any way, so, this
your chance to propose cool ninja style names for a GUI frontend to JtR,
before clobbering the tubes with Johnny.

And that's about it for now.


Version: GnuPG v1.4.10 (GNU/Linux)


Powered by blists - more mailing lists

Your e-mail address:

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