This is an old revision of the document!


Johnny development roadmap

As of 26.03.2015 the latest version for Johnny is 1.1. The current document aims to roadmap the feature development and improvement from this version onwards.

Goals for Johnny:

  • Maintain default operating system UI looks, unless otherwise needed for specific UI elements that are known to look ugly on certain or all Window Systems(e.g. QToolBox, QTabWidget);
  • Simplicity over complexity. We need to keep UI controls and functionality simple. Anything complex or not so obvious should be explained via mechanisms such as QTooltip.
  • The UI needs to give people reasons to use it, otherwise they'll just skip it. A couple of reasons could be:
    • Johnny automates 80% of the most common or repetitive tasks of JtR;
    • The rest 20% percent is careful implemented and explained in an intuitive UI;
    • Support for translation(I18N) and thus other languages besides English(JtR CLI is English only);
  • Johnny should be viewed as a learning avenue into password security. It displays info in a more intuitive fashion(unlike the CLI option), makes using the powerful JtR a breeze.
  • Nonetheless, the tool shouldn't be dumbed down to cater only to beginners, we need to expose as much functionality as we can carefully so that it is useful for professionals too.

Release plan

Version 1.2

  1. Upgrade to Qt 5 (keep Qt 4 compat. for now) [Shinnok]
  2. Add and use elided text QLabel where needed ( and possibly QPushButton ) [Shinnok]
  3. Fix any outstanding bugs or crashes
    • Johnny consumes cpu even when it isn't doing anything. (10-15% of one core, OS X, app just launched and thus no operation was started)
    • Crash on exit while john is running (seems to have been fixed in 1.1?)
    • Pause not working (seems to have been fixed in 1.1?)

Version 1.3

  1. UI overhaul [TBD Shinnok] (better sidebar navigation, proper layout constraints so that UI elements look nice, e.g. the button's in the Settings page are a mile long, update UI to modern desktops(current is reminiscent of the KDE 3 era), etc..)
  2. Rethink the progress bar [TBD Shinnok]
  3. Change the icon pack [TBD Shinnok]

Version 1.4

  1. Make sure all strings are translatable and add language switching support [Mathieu]
  2. Add tooltips to all UI actions that are not very self explanatory to a new comer
  3. Properly separate the CLI wrapper from the UI and proper threading. Any delays or crashes at the CLI side shouldn't be mirrored by Johnny
  4. Rename Output tab to CLI journal and also print JtR cmds (allows the user to inspect whatever commands Johnny issued to JtR as well as the output)

Version 1.5

  1. Add the –fork option to the UI so that we can use multi core
  2. Manual plain-text guessing for individual ciphers (directly in the table view)
  3. Hash type suggestion/guessing for individual hashes (which is the best way? do we have any support from JtR jumbo with that)

Version 1.6

  1. Multiple pwd files session management(multiple cracking sessions management)
  2. Ability to select/deselect individual hashes from being handled in a cracking session(maybe via a simple checkbox to each row?)
  3. Search/Filter inside the Passwords tab table view

Version 1.7

  1. Export to CSV and columnated txt.
  2. Dictionary editing and generation based on interactive rule sets?
  3. Figure out how to implement *2john conversion support and implement it

Version 1.8

  1. Jumbo support (this task needs an evaluation and a further breakdown)

Version 1.9

  1. Support for OS X and distribution package(?DMG package, should include JtR?)
  2. Does Windows build?
  3. Figure out distribution channels and platforms installers. See category Brainstorming bellow.

Version 2.0

  1. Note: First stable release.
  2. Fix any outstanding bugs left or introduced lately.
  3. Polish up the UI and resolve edge cases.
  4. Proper installers, if any. See category Brainstorming bellow.

Version 2.1

  1. Post-cracking statistics regarding the frequency of passwords, characters and lengths, would be nice. Provided in a new statistics pane.
  2. Further jumbo integration
  3. To the future and beyond

Brainstorming

  • Do we want to officially support and maintain any platform installers(Windows, OS X, Debian, Ubuntu)? Is that too much trouble for us or should we just rely on 3rd party distrib. maintainers or others to do that?
  • Is there any value in doing so even if we don't bundle JtR itself into the platform bundle too?
  • Is there any value in being able to run multiple instances of Johnny on the same machine? Probably not.
  • How can you support distributed JtR cracking in the future?
john/johnny-roadmap.1429195899.txt · Last modified: 2015/04/16 16:51 by shinnok
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate to DokuWiki Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by OpenVZ Powered by Openwall GNU/*/Linux