Commit cd49fd5e authored by Sophie Brun's avatar Sophie Brun
Browse files

New upstream version 1.9.0-Jumbo-1

parent d0311126
FROM fedora:rawhide
MAINTAINER dhiru
RUN rpm -e --nodeps gdbm
RUN dnf install mingw64-openssl mingw64-openssl-static \
mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static \
mingw64-zlib-static mingw64-libgomp binutils git make \
automake gcc gcc-c++ zip findutils mingw64-gmp \
mingw64-wpcap wine -y
RUN dnf install mingw32-openssl mingw32-openssl-static \
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads \
mingw32-zlib mingw32-openssl-static mingw32-openssl \
mingw32-wpcap mingw32-winpthreads-static -y
RUN dnf install openssl openssl-devel zlib-devel \
gmp-devel libpcap-devel bzip2-devel -y
RUN dnf install glibc-headers.i686 glibc.i686 glibc-devel.i686 \
libgcc.i686 openssl-devel.i686 gmp-devel.i686 \
libpcap-devel.i686 bzip2-devel.i686 -y
# docker build -t dhiru/fedora:28 .
# docker login
# docker push dhiru/fedora:28
# docker run -it dhiru/fedora:28 /bin/bash
#!/bin/bash -e
# There was a bug in echo -e in Travis
# TODO: we know these formats must be fixed (or removed)
echo '[Local:Disabled:Formats]' > john-local.conf
echo 'Raw-SHA512-free-opencl = Y' >> john-local.conf
echo 'XSHA512-free-opencl = Y' >> john-local.conf
echo 'gpg-opencl = Y' >> john-local.conf
echo 'KeePass-opencl = Y' >> john-local.conf
echo 'scrypt = Y' >> john-local.conf
echo 'django-scrypt = Y' >> john-local.conf
echo 'multibit = Y' >> john-local.conf
# These formats fails OpenCL CPU runtime
echo 'lotus5-opencl = Y' >> john-local.conf
echo 'pgpdisk-opencl = Y' >> john-local.conf
#!/bin/bash -e
function do_Copy_Dlls(){
echo
echo '-- Copying Dlls --'
basepath="/usr/$TARGET_ARCH-w64-mingw32/sys-root/mingw/bin"
cp "$basepath/libgomp-1.dll" ../run
cp "$basepath/libgmp-10.dll" ../run
cp "$basepath/libbz2-1.dll" ../run
cp "$basepath/libwinpthread-1.dll" ../run
cp "$basepath/zlib1.dll" ../run
cp "$basepath/libcrypto-10.dll" ../run
cp "$basepath/libssl-10.dll" ../run
if [[ "$TARGET_ARCH" == "x86_64" ]]; then
cp "$basepath/libgcc_s_seh-1.dll" ../run
fi
if [[ "$TARGET_ARCH" == "i686" ]]; then
cp "$basepath/libgcc_s_sjlj-1.dll" ../run
fi
echo '-- Done --'
}
# ---- Build and test JtR ----
cd src
# The testing binary
JTR=../run/john
# Build and testing
if [[ $1 == "BUILD" ]]; then
if [[ -n "$WINE" ]]; then
do_Copy_Dlls
export WINEDEBUG=-all
fi
# Configure and build
if [[ "$TARGET_ARCH" == "i686" ]]; then
./configure --host=i686-w64-mingw32 --build=i686-redhat-linux-gnu --target=i686-w64-mingw32
fi
if [[ "$TARGET_ARCH" == "x86_64" ]]; then
./configure --host=x86_64-w64-mingw32 --build=x86_64-redhat-linux-gnu --target=x86_64-w64-mingw64
fi
if [[ -z "$WINE" ]]; then
./configure --enable-werror $BUILD_OPTS
fi
make -sj4
echo '---------------------------------- Build Info ----------------------------------'
$WINE $JTR --list=build-info
echo '--------------------------------------------------------------------------------'
elif [[ $1 == "TEST" ]]; then
echo '---------------------------------- Build Info ----------------------------------'
$WINE $JTR --list=build-info
echo '--------------------------------------------------------------------------------'
if [[ -n "$WINE" ]]; then
# Wine and MinGW setup
do_Copy_Dlls
export WINEDEBUG=-all
echo
echo '-- Testing JtR --test=0 --'
$WINE $JTR --test=0
elif [[ -n "$ENCODING_TEST" ]]; then
echo "-- Running \$JTR -test-full=0 $ENCODING_TEST '--encoding=utf8' --"
$JTR -test-full=0 --format="$ENCODING_TEST" --encoding=utf8
echo
echo "-- Running \$JTR -test-full=0 $ENCODING_TEST '--encoding=cp737' --"
$JTR -test-full=0 --format="$ENCODING_TEST" --encoding=cp737
elif [[ -n "$ASAN_TEST" && -n "$FULL_TEST" ]]; then
echo "-- Running \$JTR test-full=0 --"
$JTR -test-full=0
elif [[ -n "$ASAN_TEST" ]]; then
echo "-- Running \$JTR -test=0 --"
$JTR -test=0
fi
fi
version: 2
jobs:
common_linux: &common_linux
docker:
- image: claudioandre/john:fedora.29
steps:
- checkout
- run:
name: Building JtR
command: .circleci/circle-ci.sh BUILD
- run:
name: Testing JtR
command: .circleci/circle-ci.sh TEST
wine-32bits:
<<: *common_linux
docker:
- image: claudioandre/john:fedora.29
environment:
TARGET_ARCH: "i686"
WINE: "wine"
OMP_NUM_THREADS: 2
wine-64bits:
<<: *common_linux
docker:
- image: claudioandre/john:fedora.29
environment:
TARGET_ARCH: "x86_64"
WINE: "wine"
OMP_NUM_THREADS: 2
encoding-cpu:
<<: *common_linux
docker:
- image: claudioandre/john:fedora.29
environment:
OMP_NUM_THREADS: 2
ENCODING_TEST: "cpu"
encoding-opencl:
<<: *common_linux
docker:
- image: claudioandre/john:opencl
environment:
OMP_NUM_THREADS: 2
ENCODING_TEST: "opencl"
asan:
<<: *common_linux
docker:
- image: claudioandre/john:fedora.29
environment:
OMP_NUM_THREADS: 2
ASAN_TEST: "yes"
BUILD_OPTS: "--enable-asan"
test-full:
<<: *common_linux
docker:
- image: claudioandre/john:fedora.29
environment:
OMP_NUM_THREADS: 2
ASAN_TEST: "yes"
FULL_TEST: "yes"
BUILD_OPTS: "--enable-asan"
workflows:
version: 2
build:
jobs:
- wine-32bits
- wine-64bits
- encoding-cpu
- asan
- more-tests:
type: approval
- encoding-opencl:
requires:
- more-tests
- test-full:
requires:
- more-tests
......@@ -2,7 +2,7 @@
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
- If you have questions, please ask them first in the mailing list john-users at lists.openwall.com;
- Use issues to keep track of ideas, enhancements, tasks, and bugs. NEVER as a support forum;
- Use GitHub issues to keep track of ideas, enhancements, tasks, and bugs. NEVER as a support forum;
## Bug Reports
......
doc/README
\ No newline at end of file
This is a community-enhanced, "jumbo" version of John the Ripper.
It has a lot of code, documentation, and data contributed by the
user community. This is not "official" John the Ripper code. It is
very easy for new code to be added to jumbo: the quality requirements
are low. This means that you get a lot of functionality that is not
"mature" enough or is otherwise inappropriate for the official JtR,
which in turn also means that bugs in this code are to be expected.
If you have any comments on this release or on JtR in general, please
join the john-users mailing list and post in there.
Licensing info:
http://openwall.info/wiki/john/licensing
How to contribute more code:
http://openwall.info/wiki/how-to-make-patches
[![Build Status](https://travis-ci.com/magnumripper/JohnTheRipper.svg?branch=bleeding-jumbo)](https://travis-ci.com/magnumripper/JohnTheRipper)
[![Circle CI](https://circleci.com/gh/magnumripper/JohnTheRipper/tree/bleeding-jumbo.svg?style=shield)](https://circleci.com/gh/magnumripper/JohnTheRipper/tree/bleeding-jumbo)
[![Downloads](https://img.shields.io/badge/Download-Windows%20Build-green.svg)](http://daily-builds.appspot.com/latest)
[![Downloads](https://img.shields.io/badge/Download-Windows%20Build-blue.svg)](https://rebrand.ly/JtRWin64)
[![License](https://img.shields.io/badge/License-GPL%20v2%2B-blue.svg)](https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/doc/LICENSE)
[![LoC](https://tokei.rs/b1/github/magnumripper/JohnTheRipper?category=code)](https://github.com/magnumripper/JohnTheRipper/tree/bleeding-jumbo)
[![Contributors](https://img.shields.io/github/contributors/magnumripper/JohnTheRipper.svg)](https://github.com/magnumripper/JohnTheRipper/graphs/contributors)
[![Search hit](https://img.shields.io/github/search/magnumripper/JohnTheRipper/goto.svg?label=Searches)](https://github.com/search?utf8=%E2%9C%93&q=john%20the%20ripper&type=)
[![Contributors](https://img.shields.io/github/contributors/magnumripper/JohnTheRipper.svg?label=Contributors)](https://github.com/magnumripper/JohnTheRipper/graphs/contributors)
[![Search hit](https://img.shields.io/github/search/magnumripper/JohnTheRipper/goto.svg?label=GitHub%20Hits)](https://github.com/search?utf8=%E2%9C%93&q=john%20the%20ripper&type=)
John the Ripper
====================
===============
This is a community-enhanced, "jumbo" version of John the Ripper.
It has a lot of code, documentation, and data contributed by the
user community. This is not "official" John the Ripper code. It is
very easy for new code to be added to jumbo: the quality requirements
are low. This means that you get a lot of functionality that is not
"mature" enough or is otherwise inappropriate for the official JtR,
which in turn also means that bugs in this code are to be expected.
This is the community-enhanced, "jumbo" version of John the Ripper.
It has a lot of code, documentation, and data contributed by jumbo
developers and the user community. It is easy for new code to be added
to jumbo, and the quality requirements are low, although lately we've
started subjecting all contributions to quite some automated testing.
This means that you get a lot of functionality that is not necessarily
"mature", which in turn means that bugs in this code are to be expected.
If you have any comments on this release or on JtR in general, please
join the john-users mailing list and post in there.
join the john-users mailing list and post in there:
https://www.openwall.com/lists/john-users/
Licensing info:
http://openwall.info/wiki/john/licensing
How to contribute more code:
http://openwall.info/wiki/how-to-make-patches
https://openwall.info/wiki/john/licensing
For contributions to John the Ripper Jumbo, please use a
[pull requested (PR) on GitHub](https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/CONTRIBUTING.md).
Included below is basic John the Ripper core documentation.
---
John the Ripper password cracker.
John the Ripper is a fast password cracker, currently available for
many flavors of Unix (11 are officially supported, not counting
different architectures), Windows, DOS, BeOS, and OpenVMS (the latter
many flavors of Unix, macOS, Windows, DOS, BeOS, and OpenVMS (the latter
requires a contributed patch). Its primary purpose is to detect weak
Unix passwords. Besides several crypt(3) password hash types most
commonly found on various Unix flavors, supported out of the box are
Kerberos/AFS and Windows LM hashes, as well as DES-based tripcodes, plus
many more hashes and ciphers in "community enhanced" -jumbo versions
and/or with other contributed patches.
hundreds of additional hashes and ciphers in "-jumbo" versions.
How to install.
......@@ -91,7 +94,7 @@ choose the executable that fits your system best, e.g. "john-omp" to
take advantage of multiple CPUs and/or CPU cores.
Features and performance.
Features.
John the Ripper is designed to be both feature-rich and fast. It
combines several cracking modes in one program and is fully
......@@ -124,43 +127,35 @@ proper OMPFLAGS line near the beginning of the Makefile and at runtime
by setting the OMP_NUM_THREADS environment variable to the desired
number of threads).
John the Ripper Pro adds support for Windows NTLM (MD4-based) and Mac
OS X 10.4+ salted SHA-1 hashes.
"Community enhanced" -jumbo versions add support for many more password
hash types, including Windows NTLM (MD4-based), Mac OS X 10.4-10.6
salted SHA-1 hashes, Mac OS X 10.7 salted SHA-512 hashes, raw MD5 and
SHA-1, arbitrary MD5-based "web application" password hash types, hashes
used by SQL database servers (MySQL, MS SQL, Oracle) and by some LDAP
servers, several hash types used on OpenVMS, password hashes of the
Eggdrop IRC bot, and lots of other hash types, as well as many
non-hashes such as OpenSSH private keys, S/Key skeykeys files, Kerberos
TGTs, PDF files, ZIP (classic PKZIP and WinZip/AES) and RAR archives.
"-jumbo" versions add support for hundreds of additional hash and cipher
types, including fast built-in implementations of SHA-crypt and SunMD5,
Windows NTLM (MD4-based) password hashes, various macOS and Mac OS X
user password hashes, fast hashes such as raw MD5, SHA-1, SHA-256, and
SHA-512 (which many "web applications" historically misuse for
passwords), various other "web application" password hashes, various SQL
and LDAP server password hashes, and lots of other hash types, as well
as many non-hashes such as SSH private keys, S/Key skeykeys files,
Kerberos TGTs, encrypted filesystems such as macOS .dmg files and
"sparse bundles", encrypted archives such as ZIP (classic PKZIP and
WinZip/AES), RAR, and 7z, encrypted document files such as PDF and
Microsoft Office's - and these are just some examples. To load some of
these larger files for cracking, a corresponding bundled *2john program
should be used first, and then its output fed into JtR -jumbo.
Unlike older crackers, John normally does not use a crypt(3)-style
routine. Instead, it has its own highly optimized modules for different
hash types and processor architectures. Some of the algorithms used,
such as bitslice DES, couldn't have been implemented within the crypt(3)
API; they require a more powerful interface such as the one used in
John. Additionally, there are assembly language routines for several
processor architectures, most importantly for x86-64 and x86 with SSE2.
Graphical User Interface (GUI).
Graphical User Interface (GUI).
There is an official GUI for John the Ripper: Johnny.
Despite the fact that Johnny is oriented onto core john, all basic
functionality is supposed to work in all versions, even Jumbo. So,
password could be loaded from file and cracked with different
options.
Despite the fact that Johnny is oriented onto JtR core, all basic
functionality is supposed to work in all versions, including jumbo.
Johnny is a separate program, therefore, you need to have John the
Ripper installed in order to use it.
Johnny is a separate program, therefore you need to have John the Ripper
installed in order to use it.
You could find more info about releases and Johnny on the wiki:
More information about Johnny and its releases is on the wiki:
http://openwall.info/wiki/john/johnny
https://openwall.info/wiki/john/johnny
Documentation.
......@@ -179,77 +174,12 @@ the recommended order of reading:
* CHANGES (*) - history of changes
* CONTACT (*) - how to contact the author or otherwise obtain support
* CREDITS (*) - credits
* BUGS - list of known bugs
* README.bash-completion - how to enable bash completion for JtR
* DYNAMIC - how to use dynamic format in JtR
* DYNAMIC COMPILER FORMATS - List of known hash formats built using the dynamic compiler
* DYNAMIC_SCRIPTING - how to build/optimise a format that uses dynamic
* HACKING - list of all possible hacks in John
* LICENSE - copyrights and licensing terms
* COPYING - GNU GPL version 2, as referenced by LICENSE above
The rest of documents in alphabetical:
* AddressSanitizer-HOWTO - Building JtR with AddressSanitizer (or ASan)
* Auditing-Openfire - Openfire hashes audit process
* AxCrypt-Auditing-HOWTO - auditing AxCrypt secrets
* DYNAMIC_EXPRESSIONS - 'self-describing' Dynamic format.
* dynamic_history - upto date history on dynamic_fmt.c file
* ENCODINGS - Encoding in the current John
* EXTERNAL - how to define external mode and available external mode functions
* HDAA_README - for HTTP Digest access authentication
* INSTALL-UBUNTU - Only for Ubuntu (Please read INSTALL for general installation information)
* john-1.7.9-jumbo-7-licensing-stats.txt - license status for john-1.7.9-jumbo-7
* Kerberos-Auditing-HOWTO - how to audit Kerberos hashes
* libFuzzer-HOWTO - how to build libfuzzer
* MARKOV - basic information/usage for the Markov mode
* MASK - Information on mask mode and examples
* NETNTLM_README - LM/NTLM Challenge / Response Authentication
* OFFICE - JtR on Office 2003 / 2007 / 2010 / 2013 files
* pass_gen.Manifest - pass_gen.pl version history
* pcap2john.readme - all the prior copyright headers from the independent XXX2john.py PCAP conversion utilities
* PRINCE - JtR prince mode crash course
* README.7z2john - 7z2 credit in JtR
* README.apex - dumping Oracle APEX...
* README.Apple_DMG - cracking DMG in JtR
* README.bitcoin - cracking bitcoin wallet files with JtR
* README.BitLocker - cracking bitlocker in JtR
* README.coding-style(*) - accepted coding style for contributors
* README.cprepair - reading broken files
* README-CUDA - JtR CUDA updates/status
* README-DISTROS - building a CPU-fallback chain (with OpenMP fallback too) for distros
* README.Ethereum - cracking etherum wallet in JtR
* README.FileVault2 - cracking password protected FileVault 2 encrypted volumes in JtR
* README.format-epi - how to dump EPiServer password hashes
* README.FreeBSD(*) - building JtR-jumbo on FreeBSD
* README.gpg - PGP Zip / OpenPGP / GnuPG private cracking in JtR
* README.IBM_AS400 - How to get & crack AS/400 hashes
* README.IOS 7 - cracking IOS 7 restrictions PIN code
* README.keychain - Cracking Apple's Mac OS Keychain files
* README.keyring - cracking GNOME Keyring files
* README.keystore - cracking KeyStore files
* README-krb5-18-23 - kdb5_util in JtR
* README.kwallet - cracking KWallet files
* README.librexgen - howto perform regex expression work within JtR
* README.LotusNotes - IBM Lotus Domino hash extractor
* README.LUKS - Cracking LUKS passphrases
* README-MIC - how to build JtR for MIC
* README.MinGW - Fedora >= 22 cross-compiling instructions
* README.mozilla - cracking Mozilla Firefox, Thunderbird and SeaMonkey master passwords
* README.mpi - using MPI in JtR
* README-OPENCL - how to use OpenCL in JtR
* README-PDF - PDF cracking in JtR
* README-PST - PST cracking in JtR
* README.pwsafe - cracking Password Safe 3.x and Password Gorilla databases with john
* README.ssh - Cracking password protected ssh private keys
* README-ZIP - ZIP cracking in JtR
* README-ZTEX - using ZTEX with JtR
* Regen-Lost-Salts - regen-lost-salt in JtR
* RULES-hashcat - wordlist rules with hashcat extension
* SecureMode-tutorial - using JtR's SecureMode feature
* SIPcrack-LICENSE - the SIPcrack license
(*) most users can safely skip these.
There are a lot of additional documentation files in jumbo's "doc"
directory, which you'll also want to explore.
Happy reading!
Known issues with using this release.
If available, the autoconf script enables use of the option -march=native
to gcc (or similar things for other systems). On a few systems (including
Ubuntu 12.04 used with a modern CPU) this can result in, for example, AVX2
instructions being emitted by gcc while the rest of the toolchain (in this
case 'as') does not support it. It will end up with errors like "no such
instruction: `vfmadd312sd ...". The workaround is to add the option
"--disable-native-march" to configure, which will stop it from ever adding
that compiler option.
Not working on big-endian CPU architectures (disabled by autoconf):
* OpenVMS
Intel's OCL SDK 1.5 CPU driver has problems with some formats. Use a
newer version of the SDK.
With GPU-enabled formats (and sometimes with OpenMP on CPU as well), the
number of candidate passwords being tested concurrently can be very
large (thousands). When the format is of a "slow" type (such as an
iterated hash) and the number of different salts is large, interrupting
and restoring a session may result in a lot of work being re-done (many
minutes or even hours). It is easy to see if a given session is going
to be affected by this or not: watch the range of candidate passwords
being tested as included in the status line printed on a keypress. If
this range does not change for a long while, the session is going to be
affected since interrupting and restoring it will retry the entire
range, for all salts, including for salts that already had the range
tested against them.
"Single crack" mode is relatively inefficient with GPU-enabled formats
(and sometimes with OpenMP on CPU as well), because it might not be able
to produce enough candidate passwords per target salt to fully utilize a
GPU, as well as because its ordering of candidate passwords from most
likely to least likely is lost when the format is only able to test a
large number of passwords concurrently (before proceeding to doing the
same for another salt). You may reasonably start with quick "single
crack" mode runs on CPU (possibly without much use of OpenMP) and only
after that proceed to using GPU-enabled formats (or with heavier use of
OpenMP, beyond a few CPU cores), locking those runs to specific cracking
modes other than "single crack". This limitation does not affect MPI.
Some formats lack proper binary_hash() functions, resulting in duplicate
hashes (if any) not being eliminated at loading and sometimes also in
slower cracking (when the number of hashes per salt is large). When
this happens, the following message is printed:
Warning: excessive partial hash collisions detected
(cause: the "format" lacks proper binary_hash() function definitions)
Known to be affected are: dominosec.
Also theoretically present, but less likely to be triggered in practice,
are similar issues in non-hash formats.
The following changes have been made between John 1.8.0 and 1.8.0.13:
The following changes have been made between John 1.8.0 and 1.9.0:
* 3x interleaving for bcrypt on x86-64, except in AVX-enabled builds.
Provides significant speedup on Core 2 CPUs.
* Increased the interleaving for bcrypt on x86-64 from 2x to 3x for a major
speedup on CPUs without SMT. Unfortunately, this sometimes results in a minor
performance regression when running multiple threads on CPUs with SMT.
* Recognize the $2b$ bcrypt prefix.
* In the generic crypt(3) format, detect descrypt with valid vs. invalid salts
as separate id's for our heuristics on supported hash types.
* Introduced a number of optimizations for faster handling of large password
hash files, including loading, cracking, and "--show". Some of these use more
memory than before, yet in a more efficient manner.
* Benchmark using all-different candidate passwords of length 7 by default.
* Dropped undocumented special handling of "Mc" in 'c' and 'C' rule commands.
* Dropped undocumented limitation of the 'M' and 'Q' rule commands where they
would sometimes memorize/check only up to the current hash type's length limit
yet this optimization wouldn't necessarily be transparent (e.g., if a later
command would extract a substring from above the hash type's length limit and
bring it to within the limit).
* Implemented special-case handling of repeated rule commands '$', '^', '[',
']', '{', and '}', as well as faster handling of the 'D' command.
* When built with "--fork" support, disallow session names with all-digit
......@@ -18,10 +25,14 @@ suffixes since these clash with those produced by "--fork".
for "--stdout", "--show", and auxiliary programs such as "unshadow".
* On Windows, restore normal processing of Ctrl-C in case our parent (such as
Johnny the GUI) had disabled it.
* Added linux-x86*-avx512 and linux-x86*-avx2 make targets, which use
respectively AVX-512 and AVX2 for bitslice DES.
* Added linux-mic make target for Intel MIC (first generation Xeon Phi, aka
Knights Corner), along with use of 512-bit SIMD intrinsics for bitslice DES.
* Added linux-arm32le and linux-arm32le-neon make targets (the latter makes use
of NEON for bitslice DES).
Knights Corner), which uses its 512-bit SIMD intrinsics for bitslice DES.
(For second generation Xeon Phi, aka Knights Landing, use linux-x86-64-avx512.)
* Added linux-arm64le, linux-arm32le-neon, and linux-arm32le make targets.
(The first two of these make use of ASIMD or NEON for bitslice DES.)
* Added linux-sparc64 make target.
* Made a minor optimization to MMX and SSE2 assembly code for LM hash.
* Dropped Ultrix and SCO support.
* Don't probe for alternate config file names (like john.ini when on Unix).
......
This diff is collapsed.
This diff is collapsed.
......@@ -220,7 +220,7 @@ point on, the john-local.conf file is the users file. The version control
system will not touch it, and configure will not touch it again.
Multiple .pot files (new addition in 1.8.0-jumbo-2)
Multiple .pot files (new addition in 1.9.0-jumbo-1).
This new config list section allows john to read additional .pot files
when loading hashes.
......@@ -232,8 +232,8 @@ someother.pot
mylast.pot
These additional .pot files will be used to scrub off candidates which
were already found, but which are not in the .pot file we want john to
write to. Names of files that does not exist will be silently ignored.
were already found, but which are not in the .pot file we want John to
write to. Names of files that do not exist will be silently ignored.
Defining an external mode.
......
......@@ -19,14 +19,15 @@ replaced with code based on Roman Rusakov's S-box expressions).
* Dumplinger Boy (Dango-Chu) - for producing and letting everyone use
his optimized DES S-box expressions making use of a vector conditional
select operation such as on PowerPC with AltiVec (previously found in
sboxes-s.c, now replaced with Roman Rusakov's):
http://dango.chu.jp/hiki/?Enhanced+Bitslice+DES
sboxes-s.c, now replaced with Roman Rusakov's).
* Roman Rusakov - for the DES S-box expressions that current versions of
John the Ripper use, as well as for optimization hints during early