
 John the Ripper -- Password Cracker
=====================================

John the Ripper is a password cracker, currently available for UNIX, DOS,
WinNT/Win95. Its primary purpose is to detect weak UNIX passwords. It has
been tested with Linux x86/Alpha/SPARC, FreeBSD x86, OpenBSD x86, Solaris
2.x SPARC and x86, Digital UNIX, AIX, HP-UX, and IRIX.

The DOS and Win32 ports are done with DJGPP and Cygnus Developer's Kit,
respectively.

 How to Install
----------------

See doc/INSTALL for information on installing John on your system.

 How to Use
------------

To run John, you need to supply it with some password files and optionally
specify a cracking mode, like this, using the default order of modes, and
assuming that passwd is a copy of your password file:

	john passwd

or, to make it use a wordlist with rules only:

	john -wordfile:/usr/dict/words -rules passwd

Cracked passwords will be printed to the terminal and saved in file called
~/john.pot (in this text '~' means John's "home directory", that is, the
directory you installed John's binary in). This file is also used not to
load passwords that you already cracked, when you run John the next time.
To retrieve the cracked passwords, run:

	john -show passwd

While cracking, you can press any key for status, or Ctrl+C to abort the
session, saving point information to a file (~/restore by default). By the
way, if you press Ctrl+C twice John will abort immediately without saving.
The point information is also saved every 10 minutes (configurable in the
configuration file, ~/john.ini) in case of a crash.

To continue an interrupted session, run:

	john -restore

Anyway, you probably should have a look at doc/OPTIONS for a list of all
the command line options, and at doc/EXAMPLES for more John usage examples
with other cracking modes.

 Features and Performance
--------------------------

John the Ripper is designed to be both powerful and fast. It combines
several cracking modes in one program, and is fully configurable for your
particular needs (you can even define a custom cracking mode using the
built-in compiler supporting a subset of C). Also, John is available for
several different platforms, which enables you to use the same cracker
everywhere (for example even continue a cracking session that you started
on another platform).

Out of the box, John supports (and autodetects) the following ciphertext
formats: standard and double-length DES-based, BSDI's extended DES-based,
FreeBSD's (and not only) MD5-based, and OpenBSD's Blowfish-based.

With just one extra command (required to extract the passwords), John can
crack AFS passwords and WinNT LM hashes.

Unlike other crackers, John doesn't use a crypt(3)-style routine. Instead,
it has its own highly optimized modules for different ciphertext formats
and architectures. Some of the algorithms used couldn't be implemented in
a crypt(3)-style routine: they require a more powerful interface (bitslice
DES is an example). Additionally, there're assembly routines for several
processors and architectures (special Intel Pentium version, x86 with MMX,
generic x86, Alpha EV4, SPARC V8).

 Documentation
---------------

The rest of documentation is located in separate files, listed here in the
recommended reading order:

INSTALL		- you've probably read it already
OPTIONS		- command line options, and additional utilities
MODES		- cracking modes: what they are
CONFIG   (*)	- how to customize
RULES    (*)	- wordlist rules syntax
EXTERNAL (*)	- defining an external mode
EXAMPLES	- usage examples -- strongly recommended
FAQ		- guess
NEWS		- history of changes
CREDITS		- credits, and how to contact me
(*) most users can safely skip these

Happy reading!
