2541 lines
116 KiB
Plaintext
2541 lines
116 KiB
Plaintext
How to use the 'generic' MD5.
|
|
|
|
John has been enhanced to be able to handle MANY md5 variants easily.
|
|
|
|
'variants' of MD5 are things like:
|
|
|
|
md5($p) (Note, $p is the password, $s will be the salt, etc)
|
|
md5(md5($p)) (Note, this is md5 of the 32 byte result of a prior md5)
|
|
md5($p.$s) (Note, . is the concatenate operator, so $p.$s is
|
|
password with salt appended)
|
|
...
|
|
|
|
Most of the above rules are php 'style' rules, but I think in php,
|
|
$pass is used, and $salt is used. In this document, they have been
|
|
simplified to $p and $s.
|
|
|
|
This is done by using a new file format string: md5_gen(#) where
|
|
the # is a number. John reserves numbers from md5_gen(0) up to
|
|
md5_gen(999) for 'built-in' formats. Not all are defined at this
|
|
time, but those have been reserved.
|
|
|
|
The format of the input file lines will be:
|
|
|
|
userID:md5_gen(#)base_16_hash[$salt]
|
|
|
|
There may be a 2nd salt added in the near future, but not sure how it
|
|
will be implemented.
|
|
|
|
Here is an 'example' of the format required:
|
|
|
|
userID:md5_gen(0)28fc2782ea7ef51c1104ccf7b9bea13d
|
|
|
|
which is 'raw' md5, with a password of 1402
|
|
|
|
userID:md5_gen(6)8d8cac84f234f42e32daeb94e7cd49e8$*.*
|
|
|
|
which is in the vBulletin format: md5(md5($p).$s), and which has a
|
|
fixed 3 byte salt (the $*.* above is the salt signature, and the
|
|
salt is *.*), solomon1 is the password for the above hash. NOTE
|
|
vBulletin is actually md5_gen(7). It is the expression format, but
|
|
puts to additional constraints on input. md5_gen(7) forces a 3 byte
|
|
salt, and it will NOT allow ':' character to be used as a separator,
|
|
since vBulletin salts can contain that character. However, the
|
|
above md5_gen(6) works for this document, since *.* salt does not
|
|
have a ':'
|
|
|
|
Expressions can be added to john.conf (john.ini) to allow an end
|
|
user to add a new format type, without having to do ANY coding
|
|
at all. The end user would have to learn the generic md5
|
|
primitives, and how the data is used (input data, key data,
|
|
encryption data, etc). Also, the user would have to build
|
|
properly formatted SAMPLE test values (john requires this).
|
|
For the full 'HOW TO USE' documentation, see the john.conf.
|
|
|
|
|
|
How to build the 'test' value is beyond the scope of this readme,
|
|
but a trivial example might help.
|
|
Expression format: md5(md5($p).md5($p))
|
|
Password test1
|
|
md5(test1) == 5a105e8b9d40e1329780d62ea2265d8a
|
|
so we want to md5 that result concatenated
|
|
so md5(md5(test1).md5(test1)) is the same as
|
|
md5(5a105e8b9d40e1329780d62ea2265d8a5a105e8b9d40e1329780d62ea2265d8a)
|
|
which equals 478b10974f15e7295883224fd286ccba
|
|
so a proper 'test' line is:
|
|
Test=md5_gen(1003)478b10974f15e7295883224fd286ccba:test1
|
|
( as can be seen in john.conf for md5_gen(1003) )
|
|
|
|
The builtiin formats that john has right now are:
|
|
|
|
------------+-------------------------+-------+------------------
|
|
Signature | expression | Salt | notes
|
|
------------+-------------------------+-------+------------------
|
|
md5_gen(0) | md5($p) | No | raw-md5
|
|
md5_gen(1) | md5($p.$s) | Yes | (joomla)
|
|
md5_gen(2) | md5(md5($p)) | No | double md5 (e107)
|
|
md5_gen(3) | md5(md5(md5($p))) | No | triple md5
|
|
md5_gen(4) | md5($s.$p) | Yes | (OS Commerce)
|
|
md5_gen(5) | md5($s.$p.$s) | Yes |
|
|
md5_gen(6) | md5(md5($p).$s) | Yes |
|
|
md5_gen(7) | md5(md5($p).$s) | Yes | vBulletin. 3 byte salt, salt uses ':' char
|
|
md5_gen(8) | md5(md5($s).$p) | Yes |
|
|
md5_gen(9) | md5($s.md5($p)) | Yes |
|
|
md5_gen(10) | md5($s.md5($s.$p)) | Yes |
|
|
md5_gen(11) | md5($s.md5($p.$s)) | Yes |
|
|
md5_gen(12) | md5(md5($s).md5($p)) | Yes | (IPB)
|
|
md5_gen(13) | md5(md5($p).md5($s)) | Yes |
|
|
md5_gen(14) | md5($s.md5($p).$s) | Yes |
|
|
md5_gen(15) | md5($u.md5($p).$s) | Yes |
|
|
md5_gen(16) | md5(md5(md5($p).$s).$s2)| Yes |
|
|
md5_gen(17) | phpass ($H$ and $P$) | Yes | phpass and PHPbb-v3 hashes
|
|
md5_gen(18) | PostOffice MD5 (PO) | Yes | md5($s.Y.$p.\xF7.$s) (Post.Office MD5)
|
|
md5_gen(19) | Cisco PIX | No |
|
|
md5_gen(20) | Cisco PIX (salted) | Yes |
|
|
md5_gen(21) | HTTP Digest Access Auth | Yes | Contains a 'special' salt function.
|
|
md5_gen(22) | md5(sha1($p)) | No | Use sha1 internally, but sill md5 hash (32 byte hex number)
|
|
md5_gen(23) | sha1(md5($p)) | No | Requires a 40 byte hex number (valid sha1 input)
|
|
md5_gen(24) | sha1($p.$s) | Yes | Requires a 40 byte hex number (valid sha1 input)
|
|
md5_gen(25) | sha1($s.$p) | Yes | Requires a 40 byte hex number (valid sha1 input)
|
|
md5_gen(26) | sha1($p) (raw-sha1) | No | Requires a 40 byte hex number (valid sha1 input)
|
|
md5_gen(27) } FreeBSD md5 | Yes |
|
|
md5_gen(28) | Apache MD5 | Yes |
|
|
|
|
........ | RESERVED | UNK |
|
|
md5_gen(999)| RESERVED | UNK |
|
|
|
|
The 'samples' stored in john.conf (to be used as is, or as examples) are:
|
|
|
|
md5_gen(1001) md5(md5(md5(md5($p))))
|
|
md5_gen(1002) md5(md5(md5(md5(md5($p)))))
|
|
md5_gen(1003) md5(md5($p).md5($p))
|
|
md5_gen(1004) md5(md5(md5(md5(md5(md5($p))))))
|
|
md5_gen(1005) md5(md5(md5(md5(md5(md5(md5($p)))))))
|
|
md5_gen(1006) md5(md5(md5(md5(md5(md5(md5(md5($p))))))))
|
|
md5_gen(1007) md5(md5($p).$s) [vBulletin]
|
|
md5_gen(1008) md5($p.$s) [joomla]
|
|
|
|
|
|
|
|
NOTE the documentation section of john.conf is listed here. It shows
|
|
how to setup md5_generic functions (above 1000). All of the primitives
|
|
are defined, the data structures are defined, the expression, flags,
|
|
saltlen, etc. Following the 'howto use' section, are some working
|
|
examples (this whole list is also found in john.conf).
|
|
|
|
####################################################################
|
|
####################################################################
|
|
# here are some examples of GENERIC-MD5
|
|
####################################################################
|
|
####################################################################
|
|
|
|
####################################################################
|
|
# Documenation of how to 'setup' GENERIC-MD5
|
|
####################################################################
|
|
#
|
|
# Variables / workspaces:
|
|
#
|
|
# keys[] - Array Used to stored keys (optionally used, we 'may' be able to use input field 1 array)
|
|
# input1[] - Array used for encryption, key appending, salt appending, etc happens to/from these
|
|
# NOTE if MD5GenBaseFunc__InitialLoadKeysToInput then this is used to store the keys
|
|
# and MUST NOT be damaged, since any later key retrieval will come from this buffer.
|
|
# This is done as an optimization. Thus input2 is required for additional scratch buffer work.
|
|
# output1[] - Array encryption happens and output is put here.
|
|
# NOTE final result MUST be put here. This is what the 'hash' array is checked against.
|
|
# salt - the salt is put here
|
|
# salt2 - 2nd salt ($$2)
|
|
# input2[] - Array same as input 1, but a totally different array
|
|
# output2[] - Array same as output 2, but totally different array (can not be used as 'final' result)
|
|
# userid - User name (fld1). Can be done normal, upper or lower case
|
|
# fld0 to fld9 - data from fld1 to fld9 of the input file.
|
|
#
|
|
# NOTE within the scratch work spaces (input1[] and input2[] arrays), we can only do things like append_keys
|
|
# append_salt or other things. Thus, each work space keeps track of each array element (knowing it's contents),
|
|
# and keeps track of the length. In the way the scripting works, we can clear them (sets lengths of all
|
|
# elements to 0, and 'might' clear out the actual memory). We can append to them (keys, output conversions,
|
|
# salt, etc) or we can force set their length to 32 ('special' optimization used in conjunction with
|
|
# MD5GenBaseFunc__InitialLoadKeys_md5crypt_ToOutput2_Base16_to_Input1).
|
|
#
|
|
# NOTE there is NO length validation done, other than input keys are reduced to the max allowable length.
|
|
# Thus, if building, and you attempt something like: clear_keys append_keys append_keys append_keys append_keys
|
|
# append_keys append_keys and the keys are too long, then they will overflow. The maximal sizes of the
|
|
# input arrays are 95 bytes for x86 and 54 bytes for SSE/MMX. Above this will simply give invalid results
|
|
# (garbage in, garbage out).
|
|
#
|
|
#####################################################################################
|
|
#
|
|
# Flags= values. These flags are 'special' loader flags. They are optional. If used,
|
|
# then only ONE of them can be used.
|
|
#
|
|
#################
|
|
#
|
|
# Special input flags (all flags listed later). They have certain 'side-effects', and some have special
|
|
# rules that MUST be maintained within the script, and thus may not be usable for all scripts.
|
|
# These are here mostly for optimization. They do NOT have to be used. If not used, then when
|
|
# john adds keys one at a time, they are placed into the array of keys. Then, when loading keys
|
|
# the keys are copied from the keys array, into the input1 (2) as needed.
|
|
#
|
|
# MGF_KEYS_INPUT
|
|
# It will not use the keys[] array, but put the keys right
|
|
# into the input1[] array. This buffer must not be destroyed. john will NOT use the keys[]
|
|
# array, and later retrieval of the key will happen from here (if there are any hashes broken).
|
|
# For this to be able to be used.
|
|
# $pass must be at the START of the expression. expressions like md5($s.$p) would not work, since
|
|
# $pass is not the 'start' of the expression.
|
|
# the $pass expression 'may' have to be all by itself. Thus md5($p.$s) would not work (such as joomla)
|
|
# but md5(md5($p).$s) can be made to work.
|
|
# The input1[] array must NOT be touched (after it is loaded). Thus the below set of functions can NOT
|
|
# be used in the script.
|
|
# MD5GenBaseFunc__append_keys
|
|
# MD5GenBaseFunc__append_keys2
|
|
# MD5GenBaseFunc__clean_input
|
|
# MD5GenBaseFunc__append_salt
|
|
# MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
# MD5GenBaseFunc__overwrite_from_last_output2_to_input1_as_base16_no_size_fix
|
|
# MD5GenBaseFunc__append_from_last_output_as_base16
|
|
# MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix
|
|
# MD5GenBaseFunc__append_2nd_salt MD5GenBaseFunc__append_userid
|
|
# MD5GenBaseFunc__append_2nd_salt
|
|
# MD5GenBaseFunc__set_input_len_32
|
|
# MD5GenBaseFunc__set_input_len_64
|
|
# MD5GenBaseFunc__overwrite_salt_to_input1_no_size_fix
|
|
# MD5GenBaseFunc__append_input_from_input2
|
|
# and the flag MGF_KEYS_UNICODE_B4_CRYPT
|
|
#
|
|
# MGF_KEYS_CRYPT_IN2
|
|
# This will load keys into the keys[] array. It will then perform a md5() and put the ouput
|
|
# into output2. This was done a signficant enhancement for forms like md5(md5($p).$s) so that we
|
|
# load ALL of the inner md5($p) only once, then re-used them over and over again for each new salt.
|
|
#
|
|
# MGF_KEYS_BASE16_IN1
|
|
# This is like the above flag, but it takes the extra step of storing the base16 conversion
|
|
# of the md5 into input1[] array. Due to this function, we have md5(md5($p).$s) actually working
|
|
# FASTER than simple md5($p) (if there are many salts). This is a significant optimization if it can
|
|
# be used properly.
|
|
# MGF_KEYS_BASE16_X86_IN1
|
|
# same as MGF_KEYS_BASE16_IN1, however, if running in SSE mode, the loader will switch to X86 mode,
|
|
# prior to outputting the base-16 back to input1. NOTE, the initial crypt IS done in SSE mode.
|
|
#
|
|
# MGF_KEYS_BASE16_IN1_Offset32
|
|
# This flag is a not valid for SSE2 (will build a 64 byte password, and 54 bytes is max SSE2 size)
|
|
# Psudo function that does the same work as MD5GenBaseFunc__InitialLoadKeys_md5crypt_ToOutput2_Base16_to_Input1
|
|
# however, it loaded the hext to offset 32 (instead of the 'start' of the buffer). When done, the
|
|
# input1[] buffers will have 64 byte passwords. The first 32 bytes are null, and the last
|
|
# 32 bytes are the hex values. This function is for md5(md5($s).md5($p)) (but certainly could
|
|
# be used for other formats.
|
|
# MGF_KEYS_BASE16_X86_IN1_Offset32
|
|
# Same as MGF_KEYS_BASE16_IN1_Offset32, but the output is in x86. NOTE, if running in SSE mode, then
|
|
# both MGF_KEYS_BASE16_IN1_Offset32 and MGF_KEYS_BASE16_X86_IN1_Offset32 perform exactly the same. Neither
|
|
# one of them 'work' in SSE mode, since we will end up with a 64 byte input string (not SSE valid).
|
|
#
|
|
# MGF_KEYS_UNICODE_B4_CRYPT
|
|
# Switch into 'unicode' converstion mode, prior to doing the 'early' MGF_KEYS* flags. The flags which
|
|
# can be used with this are: MGF_KEYS_CRYPT_IN2, MGF_KEYS_BASE16_IN1, MGF_KEYS_BASE16_X86_IN1,
|
|
# MGF_KEYS_BASE16_IN1_Offset32 (and the x86 versions). Note, that MGF_KEYS_INPUT can NOT be used
|
|
# with this flag.
|
|
#
|
|
# MGF_PHPassSetup
|
|
# Special flag used to link the salt, set_salt and set_hash members of the format object to the 'special'
|
|
# functions for phpass encryption.
|
|
#
|
|
# MGF_POSetup
|
|
# Special flag used for the special "Post Office" Crypt function.
|
|
#
|
|
# Depricated 'pseudo' functions (must be first function). These functions still work, but have been depricated.
|
|
# md5-gen simply 'transforms' them into the current flag, at script loading time. It is best to NOT use
|
|
# these functions in any new scripts, and to remove any usage of them.
|
|
# MD5GenBaseFunc__PHPassSetup == MGF_PHPassSetup
|
|
# MD5GenBaseFunc__InitialLoadKeysToInput == MGF_KEYS_INPUT
|
|
# MD5GenBaseFunc__InitialLoadKeys_md5crypt_ToOutput2 == MGF_KEYS_CRYPT_IN2
|
|
# MD5GenBaseFunc__InitialLoadKeys_md5crypt_ToOutput2_Base16_to_Input1 == MGF_KEYS_BASE16_IN1
|
|
# MD5GenBaseFunc__InitialLoadKeys_md5crypt_ToOutput2_Base16_to_Input1_offset32 == MGF_KEYS_BASE16_IN1_Offset32
|
|
#
|
|
####################################################################
|
|
#
|
|
# Flag= line(s) Optional, but required IF the format needs them.
|
|
# Multiple flags ARE allowed.
|
|
#
|
|
#################
|
|
#
|
|
# Flags are just that, switches that tell the generic md5 parser that
|
|
# certain things need to be handled. One common used flag is MGF_SALTED
|
|
# If the format is a salted hash, then this flag must be present.
|
|
# Here is the list of flags, and what they mean, and when you should
|
|
# use them
|
|
#
|
|
# Flag=MGF_SALTED
|
|
# Use this for any salted format
|
|
#
|
|
# Flag=MGF_SALTED2
|
|
# If there are 2 salts in the format, use this flag. NOTE 2 salts
|
|
# is defined, but has not be implemented yet in john.
|
|
#
|
|
# Flag=MGF_ColonNOTValid
|
|
# If there is some reason why the : char should not be used by john
|
|
# (such as the : is a valid character in the salt. If this is
|
|
# set, then the character to be used should be put into the Test=
|
|
# lines, AND the user should use that on the command line
|
|
#
|
|
# Flag=MGF_NOTSSE2Safe
|
|
# The max encryption the SSE2 code can handle is 54 bytes. The max
|
|
# size encryption for the 'generic' is 125 bytes. So, if it is
|
|
# OBVIOUS that sse2 can not be used, due to encryption lengths,
|
|
# then set this flag. An example is md5(md5($p).md5($s)) In this
|
|
# case, will be 3 md5's. 2 of them will be over the salt, and
|
|
# one over the password. Thus, if the password and salt are each
|
|
# under 54 bytes, then sse2 could be used. HOWEVER, the 3rd md5
|
|
# (the final one), is done against the concatenation of 2 32 byte
|
|
# strings (the md5 results of the first 2 encryptions). THUS we
|
|
# KNOW this is a 64 byte string. That will not work in the current
|
|
# SSE2 (or mmx) code, and thus, the SSE2/MMX builds can NOT be used
|
|
# to test that format.
|
|
#
|
|
# Flag=MGF_INPBASE64
|
|
# If the hashes are in base-64 (such as phpass), then use this
|
|
# flag. Note, the base 64 'format' used is that of phpass. If there
|
|
# are other orderings, then this will not work. I know of no formats
|
|
# in use, other than phpass (phpbb, wordpress, etc) which use base-64
|
|
# for md5.
|
|
#
|
|
# Flag=MGF_INPBASE64_4x6
|
|
# If this flag is set, then the input will be base-64, where 4 bytes are
|
|
# loaded 6 bits at a time (i.e. 16 bytes of hash). Used in Cisco PIX-MD5
|
|
# Thus, only the lowest 24 bits of each part of the MD5 hash are used.
|
|
# This has to happen on the binary loader and comparison functions.
|
|
#
|
|
# Flag=MGF_USERNAME
|
|
# If there is a Username used in the format, use this flag.
|
|
#
|
|
# Flag=MGF_USERNAME_UPCASE User name, but it is forced to uppercase
|
|
# Flag=MGF_USERNAME_LOCASE User name, but it is forced to lowercase
|
|
#
|
|
# Flag=MGF_SALT_AS_HEX
|
|
# This flag is for formats such as md5(md5($p).md5($s)) What this
|
|
# does, is to return the md5($s) to john as the salt, and not simply
|
|
# return the 'original' salt. Thus, we run md5's for the salt at
|
|
# initialization, and never MD5 them again. DO NOT use this for a
|
|
# format like md5($s.md5($p).md5($s)) In that format, you NEED
|
|
# the salt (along with the md5 of that salt). This flag can not
|
|
# be used in that instance.
|
|
#
|
|
# Flag=MGF_SALT_AS_HEX_TO_SALT2
|
|
# This is 'similar' to MGF_SALT_AS_HEX. It will perform the
|
|
# base16 crypt of the salt. However, it stores both the original
|
|
# salt, and creates a 'salt2' which is the base16 This is so a
|
|
# format like, md5($p.$s.md5($s)) could have both the salt
|
|
# and still have the base-16 of the salt. So in this case
|
|
# using append_salt would append the original salt, and
|
|
# append_2nd_salt would append the base-16 hash of the salt.
|
|
#
|
|
# Flag=MGF_StartInX86Mode
|
|
# This flag will case the format to 'start' in X86 mode, so that
|
|
# any initial key loading will also be done to the X86 buffers.
|
|
#
|
|
# Flag=MGF_SALT_UNICODE_B4_CRYPT
|
|
# This flag will case the format to 'start' in Unicode conversion
|
|
# mode, so that any initial key loading will also be done to the
|
|
# using unicode conversions.
|
|
#
|
|
# Flag=MGF_BASE_16_OUTPUT_UPCASE
|
|
# This flag will case the format to 'start' in uppercase base-16
|
|
# conversion mode, so that any initial key loading will also be
|
|
# done to the using unicode conversions.
|
|
#
|
|
# Flag=MGF_HDAA_SALT
|
|
# Special salt loading for the HDAA format md5_gen(21).
|
|
# Not useful for anything else.
|
|
#
|
|
# MGF_FLD0, MGF_FLD1, MGF_FLD2, ... ,MGF_FLD9
|
|
# If any of the fields of the file are part of the format (and
|
|
# used within the script), then they either must be part of
|
|
# the hash value, or the field must be present on the line.
|
|
# If a field IS used, then you also MUST have the proper
|
|
# flag set, or the prepare function will NOT load it.
|
|
#
|
|
# MGF_SHA1_40_BYTE_FINISH
|
|
# Tell md5-gen that the 'final' crypt is an SHA1 (still experimental
|
|
# code, so 'caveat emptor' ). What this will do, is cause john to
|
|
# only load hashes that are 40 hex digits (md5 is 32 hex digits).
|
|
# NOTE, when the 'final' crypt is done (in SHA1), it will only have
|
|
# the first 16 bytes compared against (vs the full 20 bytes which
|
|
# sha1 generates). This 'should' be more than adequate to know
|
|
# you have cracked the hash.
|
|
#
|
|
########################################################
|
|
#
|
|
# Function primitives, and what they do (REQUIRED in each format section)
|
|
#
|
|
#################
|
|
# MD5GenBaseFunc__clean_input
|
|
# Sets lengths of all input1[] array to ZERO, and sets the memory null (memory only set in SSE2, since it does
|
|
# not matter in x86 builds)
|
|
#
|
|
# MD5GenBaseFunc__clean_input2
|
|
# Same as MD5GenBaseFunc__clean_input but this one works on input2[] array.
|
|
#
|
|
# MD5GenBaseFunc__clean_input_kwik
|
|
# Sets lengths of all input1[] array to ZERO. Memory not cleared. Optimization that can be used when you KNOW
|
|
# that the length of any of the input1 strings will never be less than they once were. So if you load keys,
|
|
# crypt, clean_input, then repeatedly append_base16 to input and crypt, then during that repeated set of work
|
|
# you can call clean_kwik since ALL things being crypted, would be 32 bytes, and the single 'deep' clean would
|
|
# get the buffers read to go, and they would not need fully cleaning again.
|
|
#
|
|
# MD5GenBaseFunc__clean_input2_kwik
|
|
# Same as MD5GenBaseFunc__clean_input_kwik but this one works on input2[] array.
|
|
#
|
|
# MD5GenBaseFunc__clean_input_full
|
|
# This makes sure that the entire keys are set with NULL's prior to running. This is a full 'deep' clean.
|
|
# In x86 builds, it will fully null out the entire input buffer. In SSE mode, it nulls out both the
|
|
# x86 and SSE input buffers (fully).
|
|
#
|
|
# MD5GenBaseFunc__clean_input2_full
|
|
# Same as MD5GenBaseFunc__clean_input_kwik but this one works on input2[] array.
|
|
#
|
|
# MD5GenBaseFunc__append_keys
|
|
# append the array of keys to the array input1[]
|
|
#
|
|
# MD5GenBaseFunc__append_keys2
|
|
# append the array of keys to the array input2[]
|
|
#
|
|
# MD5GenBaseFunc__append_salt
|
|
# Appends the salt to each element of input1[], and adjusts the length of each element.
|
|
# NOTE, the MGF_SALT flag must be used in the format.
|
|
#
|
|
# MD5GenBaseFunc__append_salt2
|
|
# Appends the salt to each element of input2[], and adjusts the length of each element.
|
|
#
|
|
# MD5GenBaseFunc__append_2nd_salt
|
|
# append the salt2 (second salt value) to the array input1[]
|
|
# NOTE, the MGF_SALT2 flag must be used in the format.
|
|
#
|
|
# MD5GenBaseFunc__append_2nd_salt2
|
|
# append the salt2 to the array input2[]
|
|
#
|
|
# MD5GenBaseFunc__append_userid
|
|
# MD5GenBaseFunc__append_userid2
|
|
# appends the username into either input1 or input2 fields.
|
|
#
|
|
# MD5GenBaseFunc__crypt
|
|
# performs a md5 on all elements of input1[] and places the results into output1[] The output will be the
|
|
# 16 byte BINARY blob of the 'raw' md5.
|
|
#
|
|
# MD5GenBaseFunc__crypt2
|
|
# Same as MD5GenBaseFunc__crypt but this one works on input2[] -> output2[] arrays.
|
|
#
|
|
# MD5GenBaseFunc__crypt_in1_to_out2
|
|
# Takes the data from input1, performs the MD5 crypts, and stores this data into Output2
|
|
#
|
|
# MD5GenBaseFunc__crypt_in2_to_out1
|
|
# Takes the data from input2, performs the MD5 crypts, and stores this data into Output1
|
|
#
|
|
# MD5GenBaseFunc__append_from_last_output_as_base16
|
|
# Takes the 16 byte binary values from each output1[] array, and does a base-16 conversion, appending the
|
|
# results to the same 'index' of the input1[] array. ALL of the lengths of the array1[] elements will be
|
|
# 32 bytes more than they were (the base-16 of each 16 byte binary value is 32 bytes long).
|
|
#
|
|
# MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
# Same as MD5GenBaseFunc__append_from_last_output_as_base16 but this one works on output2[] -> input2[] arrays.
|
|
#
|
|
# MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
# output1[] append -> input2[] arrays. (note, output #1 appending to input #2, base-16)
|
|
#
|
|
# MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
# output2[] append -> input1[] arrays. (note, output #2 appending to input #1, base-16)
|
|
#
|
|
# MD5GenBaseFunc__append_input_from_input2
|
|
# Appends input2 to input input += input2. Note, the inputX -> inputY copying in SSE2 is slower than
|
|
# doing output -> input.
|
|
#
|
|
# MD5GenBaseFunc__append_input2_from_input
|
|
# Appends input1 to input2 input2 += input
|
|
#
|
|
# MD5GenBaseFunc__append_from_last_output2_as_raw
|
|
# Appends the 'raw' output data from output2 to input1. Length of input1 grows by 16 bytes.
|
|
#
|
|
# MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix
|
|
# NOT IMPLEMENTED:
|
|
# Takes the 16 byte binary values from the output1[] array, and overwrites from byte 0 to byte 31 of each
|
|
# element of the input1[] array. This is used as an optimizations for formats such as: md5(md5($s).$p)
|
|
# in this format, we can place the keys into input1[] at 32 bytes past the start of the buffer, and set
|
|
# the lengths to be the length of each key + 32, and then simply call this function for each salt, to
|
|
# drop the 32 bytes of md5 data to the start of the strings, without touching the passwords that were
|
|
# already stored, or the lengths of the strings.
|
|
#
|
|
# MD5GenBaseFunc__overwrite_from_last_output2_as_base16_no_size_fix
|
|
# NOT IMPLEMENTED:
|
|
# Same as MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix but this one works on output2[] -> input2[] arrays.
|
|
#
|
|
# MD5GenBaseFunc__overwrite_from_last_output_to_input2_as_base16_no_size_fix
|
|
# NOT IMPLEMENTED:
|
|
# output1[] overwrite start of input2[] arrays. (note, output #1 going to start of input #2, base-16, no size 'fix')
|
|
# like MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix but different input output vars.
|
|
#
|
|
# MD5GenBaseFunc__overwrite_from_last_output2_to_input1_as_base16_no_size_fix
|
|
# NOT IMPLEMENTED:
|
|
# output2[] overwrite start of input1[] arrays. (note, output #2 going to start of input #1, base-16, no size 'fix')
|
|
# like MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix but different input output vars.
|
|
#
|
|
# MD5GenBaseFunc__overwrite_salt_to_input1_no_size_fix
|
|
# Inserts the salt to the start of the first input buffer. DOES NOT append null bytes, nor does it
|
|
# adjust the length of the strings. Used if the 'top' part of input buffer 1 stays constant, and
|
|
# the salt gets inserted to the start of input buffer (but lengths never change).
|
|
#
|
|
# MD5GenBaseFunc__overwrite_salt_to_input2_no_size_fix
|
|
# Same as MD5GenBaseFunc__overwrite_salt_to_input1_no_size_fix but this one works on salt -> input2[] arrays.
|
|
#
|
|
# MD5GenBaseFunc__append2_from_last_output2_as_raw
|
|
# NOT IMPLEMENTED
|
|
# MD5GenBaseFunc__append_from_last_output1_as_raw
|
|
# NOT IMPLEMENTED
|
|
# MD5GenBaseFunc__append2_from_last_output1_as_raw
|
|
# NOT IMPLEMENTED
|
|
#
|
|
# MD5GenBaseFunc__set_input_len_16
|
|
# Sets the length of each element of input1[] to 16. In SSE2 mode, if the length of the input buffer
|
|
# was less than 16, then that 0x80 end of marker is removed, and a new one is 'added' at offset 16.
|
|
#
|
|
# MD5GenBaseFunc__set_input2_len_16
|
|
# Sets the length of each element of input2[] to 16.
|
|
#
|
|
# MD5GenBaseFunc__set_input_len_32
|
|
# Sets the length of each element of input1[] to 32. This was designed as is used in conjunction with
|
|
# the funtion overwrite_from_last_output_as_base16_no_size_fix in mind, but would not
|
|
# be the 'only' reason to use it (but is the only reason I have at this time). This function does NOT
|
|
# clean the input[] items prior to this. Usually a call to clean_input would be required priot to
|
|
# calling this function, to make sure the buffer is 'clean'.
|
|
#
|
|
# MD5GenBaseFunc__set_input2_len_32
|
|
# Same as MD5GenBaseFunc__set_input_len_32 but this one works on input2[] array.
|
|
#
|
|
# MD5GenBaseFunc__set_input_len_64
|
|
# Like the above function, but sets lengths to 64 bytes. NOTE valid to use in SSE2 mode.
|
|
#
|
|
# MD5GenBaseFunc__set_input2_len_64
|
|
# Same as MD5GenBaseFunc__set_input2_len_64 but this one works on input2[] array.
|
|
#
|
|
# SSE 'switching' functions. SSE is only valid for 54 byte or less input strings.
|
|
# This is due to optimizations which place a 'single' md5 limb restriction on the
|
|
# crypts. Thus, for some formats, we have to be in x86 mode only, but for others,
|
|
# we can jump in and out of SSE mode. However, to do this, we likely will have
|
|
# to convert a buffer (or more). The input buffers, and output buffers are NOT
|
|
# compatible between x86 and SSE2. If possible, convert the output buffers, they
|
|
# are smaller, and faster (usually).
|
|
#
|
|
# MD5GenBaseFunc__SSEtoX86_switch_input1
|
|
# Copies the SSE Input1 buffer to x86 Input1. Changes 'mode' to non-SSE for any
|
|
# functions that are done after this call.
|
|
# MD5GenBaseFunc__SSEtoX86_switch_input2
|
|
# Copies the SSE Input2 buffer to x86 Input2. and changes to non-SSE mode.
|
|
# MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
# Copies the SSE Output1 buffer to x86 Output1. and changes to non-SSE mode.
|
|
# MD5GenBaseFunc__SSEtoX86_switch_output2
|
|
# Copies the SSE Output2 buffer to x86 Output2. and changes to non-SSE mode.
|
|
#
|
|
# MD5GenBaseFunc__X86toSSE_switch_input1
|
|
# Copies the x86 Input1 buffer to SSE Input1. Changes 'mode' to SSE for any
|
|
# functions that are done after this call.
|
|
# MD5GenBaseFunc__X86toSSE_switch_input2
|
|
# Copies the x86 Input2 buffer to SSE Input2. and changes to SSE mode.
|
|
# MD5GenBaseFunc__X86toSSE_switch_output1
|
|
# Copies the x86 Output1 buffer to SSE Output1. and changes to SSE mode.
|
|
# MD5GenBaseFunc__X86toSSE_switch_output2
|
|
# Copies the x86 Output2 buffer to SSE Output2. and changes to SSE mode.
|
|
#
|
|
# MD5GenBaseFunc__ToSSE
|
|
# Simply switches mode to SSE. No data buffers copied. Usually, used as first
|
|
# or last command in a script
|
|
# MD5GenBaseFunc__ToX86
|
|
# Simply switches mode to x86. No data buffers copied. Usually, used as first
|
|
# or last command in a script
|
|
#
|
|
#
|
|
# Unicode mode. This allows md5-gen to do unicode coversion when doing string
|
|
# append (overwrite) operations. Thus, a format such as md5(unicode($p).$s) can
|
|
# be generated.
|
|
#
|
|
# MD5GenBaseFunc__setmode_unicode
|
|
# All string ops do Unicode conversions. These are MD5GenBaseFunc__append_keys,
|
|
# append_keys2, append_salt, append_salt2, overwrite_salt_to_input1_no_size_fix,
|
|
# overwrite_salt_to_input2_no_size_fix, append_2nd_salt, append_2nd_salt2,
|
|
# append_userid, append_userid2, append_input1_from_CONST1 (and ALL other const
|
|
# append functions) If -utf8 switch is set, then a utf8-to-unicode conversion
|
|
# is done. If -utf8 is not there, then a simple ascii-to-unicode (which is simply
|
|
# appending a null byte after each byte of string). The -utf8 conversion is
|
|
# considerably slower, but is required for many Unicode or utf8 systems. The
|
|
# -utf8 stuff is still in development.
|
|
#
|
|
# MD5GenBaseFunc__setmode_normal
|
|
# This is the 'normal' run for john. Back to ascii (or utf8, if -utf8 switch
|
|
# set). But there will be NO Unicode conversions done.
|
|
#
|
|
#
|
|
# Upper/Lowercase of md5 - base16 conversions. Normally, this is done to lower
|
|
# case. However, there may be systems which do md5 to base 16 in upper case.
|
|
# thus, if a hash is md5(upper(md5($p)) this is different than md5(md5($p))
|
|
# These functions turn on or off the upper/lower case conversions.
|
|
#
|
|
# MD5GenBaseFunc__base16_convert_locase
|
|
# This is the 'normal' lowercase. Thus, md5(md5($p)) is assumed to have the
|
|
# base-16 done in lower case.
|
|
#
|
|
# MD5GenBaseFunc__base16_convert_upcase
|
|
# Perform base-16 converts in upper case base-16.
|
|
#
|
|
# MD5GenBaseFunc__append_input1_from_CONST1
|
|
# This will append the first constant value to the input1[] array
|
|
# MD5GenBaseFunc__append_input1_from_CONST2
|
|
# MD5GenBaseFunc__append_input1_from_CONST3
|
|
# MD5GenBaseFunc__append_input1_from_CONST4
|
|
# MD5GenBaseFunc__append_input1_from_CONST5
|
|
# MD5GenBaseFunc__append_input1_from_CONST6
|
|
# MD5GenBaseFunc__append_input1_from_CONST7
|
|
# MD5GenBaseFunc__append_input1_from_CONST8
|
|
# Same as MD5GenBaseFunc__append_input1_from_CONST1 but they load the other constant
|
|
# values into input1.
|
|
#
|
|
# MD5GenBaseFunc__append_input2_from_CONST1
|
|
# This loads the first constant value into the input2[] array
|
|
# MD5GenBaseFunc__append_input2_from_CONST2
|
|
# MD5GenBaseFunc__append_input2_from_CONST3
|
|
# MD5GenBaseFunc__append_input2_from_CONST4
|
|
# MD5GenBaseFunc__append_input2_from_CONST5
|
|
# MD5GenBaseFunc__append_input2_from_CONST6
|
|
# MD5GenBaseFunc__append_input2_from_CONST7
|
|
# MD5GenBaseFunc__append_input2_from_CONST8
|
|
# Same as MD5GenBaseFunc__append_input2_from_CONST1 but they load the other constant
|
|
# values into input2.
|
|
#
|
|
# MD5GenBaseFunc__append_fld0
|
|
# This will append the data from $$F0 (field 0 of the line, or 'username', to input 1.
|
|
# MD5GenBaseFunc__append_fld1
|
|
# MD5GenBaseFunc__append_fld2
|
|
# ....
|
|
# MD5GenBaseFunc__append_fld9
|
|
# Will append data from the other fields (from 1 to 9). NOTE, 1 is the 'hash' line, and
|
|
# almost certainly should NOT be used.
|
|
#
|
|
# MD5GenBaseFunc__append2_fld0 -- to -- MD5GenBaseFunc__append2_fld9
|
|
# Loads data from $$F0 to $$F9 (field 0 to field 9) into input buffer 2.
|
|
#
|
|
# MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input2_append_input1_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input1_overwrite_input1_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input2_overwrite_input2_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input1_overwrite_input2_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input2_overwrite_input1_base16
|
|
# MD5GenBaseFunc__SHA1_crypt_input1_to_output1_FINAL
|
|
# MD5GenBaseFunc__SHA1_crypt_input2_to_output1_FINAL
|
|
# Currently 'experimental' addition of SHA1 into the md5() syntax. Still much work to
|
|
# do. Not for general use (yet). Hopefully, will be able to get things like
|
|
# md5(sha1(md5($p))) working (sort of works now, but again, still experimental).
|
|
# The 2 '_FINAL' functions should ONLY be used as the last call. This allows
|
|
# for support of sha1(sha1(m5($p).$s)) type hashes. NOTE, if you use on of the
|
|
# *_FINAL calls, then you have to use the MGF_SHA1_40_BYTE_FINISH flag, and notes
|
|
# that only the first 16 bytes of the final hash are evaluated. Also, only 40 bytes
|
|
# long hex string hashes will be loaded (base-64? needed?).
|
|
# At this time, ALL sha1 is done in non-SSE code (x86, OpenSSL). Also note, that
|
|
# ALL output from the SHA1 functions is directly appended or overwritten, right into
|
|
# an input buffer.
|
|
#
|
|
####################
|
|
# These are special functions written SPECIFCALLY for usage by phpass code, in builtin
|
|
# function md5_gen(17). These are likely NOT useful. However, they 'are' open to be used.
|
|
####################
|
|
#
|
|
# MD5GenBaseFunc__crypt_to_input_raw
|
|
# Used as 'first' step of phpass crypt. it will put 16 binary bytes of md5 encryption
|
|
# into array1[]. It will write this to the beginning of the arrays (does not append), and
|
|
# when done, sets ALL lengths of array1[] to 16. Once this function is called, the keys
|
|
# are appended (see spec for phpass encryption), which sets the length of input1[] elements
|
|
# to 16 + strlen(keys). Then there is a loop that calls the next function.
|
|
#
|
|
# MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
# This function will encrypt input1[] and drop the 16 bytes of MD5 binary right back over
|
|
# the first 16 bytes of input1[] The length of each input1[] item is NOT touched, thus
|
|
# whatever the length was before is what it is now.
|
|
#
|
|
# MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen_but_setlen_in_SSE
|
|
# This is the very first call. It DOES set the length up properly. From that point on,
|
|
# the other (1000's) of calls are done using MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#
|
|
# MD5GenBaseFunc__PHPassCrypt
|
|
# Special function for phpass, probably not useful in john.conf scripting
|
|
#
|
|
# MD5GenBaseFunc__POCrypt
|
|
# This is the 'special' crypt call for MD5-PO md5_gen(18). It was done as a 'special', because
|
|
# there was about 20% overhead, doing the individual calls. It was much faster to hammer in
|
|
# values in a special crypt call.
|
|
#
|
|
####################################################################
|
|
#
|
|
# Test= line(s) (REQUIRED in each format section)
|
|
#
|
|
# NOTE within these lines, if there are binary values which need to
|
|
# be inserted, then use the format of \xHH (2 hex digits which will
|
|
# be converted into the 1 byte). So, \xF7 will output the single
|
|
# byte "\xF7" which in some ASCII formats, it is the squiggly
|
|
# 'about' equals sign. To output some UNICODE or 'wide' type
|
|
# characters, you will need to know the exact bytes that are used
|
|
# and place a \xHH for each byte. To output the actual \ character
|
|
# use \\ So, to output \\ use \\\\ (2 \\ which each get replaced
|
|
# with a single \ character).
|
|
# NOTE that HH MUST be uppercased for the A to F values, and the 'x'
|
|
# MUST be lowercase.
|
|
# NOTE, you MUST use \xHH. So, to put a ASCII(1) value, you would
|
|
# use \x01 (not \x1 ).
|
|
# ALL conversions are done prior to the line being 'looked at' within
|
|
# the parser.
|
|
#
|
|
#################
|
|
#
|
|
# The testing line is simply of this format:
|
|
#
|
|
# test=md5_gen(#)hash[$salt]:password
|
|
#
|
|
# the hash listed, MUST be the hash generated for this password (and
|
|
# salt) for the expression. John uses this at startup to validate
|
|
# that the format is 'valid'. If this Test= line(s) are not right
|
|
# john will not work. NOTE if the format does not allow a colon
|
|
# in the format (such as md5_gen(1007), then the exact same field
|
|
# separator must be used in the Test= line, as what is specified
|
|
# in the --field-separator-char=c used on the command line
|
|
#
|
|
####################################################################
|
|
#
|
|
# Expression= line (Optional)
|
|
#
|
|
#################
|
|
#
|
|
# If the Expression= line is there, then the value shown there will
|
|
# also be used on the startup line of john. If missing, john will
|
|
# output md5_gen(1001) (or whatever number was used), and if
|
|
# Expression=, then the md5_gen(1001) will be followed by the
|
|
# expression line.
|
|
#
|
|
####################################################################
|
|
#
|
|
# SaltLen=# line (Optional, but required IF the format needs it)
|
|
#
|
|
#################
|
|
#
|
|
# If this is a salted hash, and ALL valid salts must be a specific
|
|
# length (vBulletin is an example, where 3 byte salts are specified
|
|
# and OSCommerce is another with 2 byte hashes). If this is the
|
|
# case, add a SaltLen=# line and john will validate, and only test
|
|
# lines which have valid salts (i.e. right length salt is part of
|
|
# the initial validation of the line)
|
|
#
|
|
####################################################################
|
|
#
|
|
# MaxInputLen=# line (Optional, but required IF the format needs it)
|
|
#
|
|
#################
|
|
#
|
|
# If a format has a 'max' length of password (such as Cisco PIX has
|
|
# a max length of 16 byte PW), then this must be set.
|
|
#
|
|
####################################################################
|
|
#
|
|
# CONST#=str line (Optional, but required IF the format needs it)
|
|
#
|
|
# These lines will also use the \xHH (or \\ for a \ ) same as the
|
|
# 'Test=' lines.
|
|
#
|
|
#################
|
|
#
|
|
# This will allow a constant value to be 'set' and then later used
|
|
# in the format. So a format such as md5($p.CONSTANT.$s) can be
|
|
# done by setting const 1 to 'CONSTANT' (whatever that string is)
|
|
# and then calling MD5GenBaseFunc__append_input1_from_CONST1 at the
|
|
# proper time to insert it into the string.
|
|
# CONST1=str to CONST8=str are valid (8 constant values.) NOTE
|
|
# if you have 3 constants, then use CONST1, CONST2 and CONST3 (i.e.
|
|
# pack them into the first X number constants).
|
|
#
|
|
####################################################################
|
|
|
|
|
|
|
|
####################################################################
|
|
####################################################################
|
|
####################################################################
|
|
# Here are some additional 'test' formats. To use these, simply
|
|
# cut them and place them at the bottom of john.ini (john.conf).
|
|
# These require john-1.7.7 jumbo2 + to work properly
|
|
####################################################################
|
|
####################################################################
|
|
####################################################################
|
|
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for PostOffice-MD5 md5($s.Y.$p.\xF7.$s)
|
|
# Included here to 'exercise' the script parser (constants)
|
|
# NOTE, the internal md5_gen(18) has a specialized crypt
|
|
# function. It does the same as what this script does
|
|
# but does not have the overhead of this script work, and
|
|
# runs 10-15% faster.
|
|
####################################################################
|
|
[List.Generic:md5_gen(1009)]
|
|
Expression=md5_gen(1009): md5($s.Y.$p.\xF7.$s) [Post.Office MD5]
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1009)550c41c11bab48f9dbd8203ed313eef0$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:abc123
|
|
Test=md5_gen(1009)0c78bdef7d5448105cfbbc9aaa490a44$550c41c11bab48f9dbd8203ed313eef0:abc123
|
|
Test=md5_gen(1009)9be296cf73d2f548dae3cccafaff1dd9$82916963c701200625cba2acd40d6569:FRED
|
|
Test=md5_gen(1009)a0e2078f0354846ec5bc4c7d7be08a46$82916963c701200625cba2acd40d6569:
|
|
CONST1=Y
|
|
CONST2=\xF7
|
|
SaltLen=32
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for Cisco PIX hash (same as pixMD5_fmt.c
|
|
####################################################################
|
|
[List.Generic:md5_gen(1010)]
|
|
Expression=md5_gen(1010): pixMD5
|
|
Flag=MGF_INPBASE64_4x6
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__set_input_len_16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1010)2KFQnbNIdI.2KYOU:cisco
|
|
Test=md5_gen(1010)TRPEas6f/aa6JSPL:test1
|
|
Test=md5_gen(1010)OMT6mXmAvGyzrCtp:test2
|
|
Test=md5_gen(1010)gTC7RIy1XJzagmLm:test3
|
|
Test=md5_gen(1010)oWC1WRwqlBlbpf/O:test4
|
|
Test=md5_gen(1010)NuLKvvWGg.x9HEKO:password
|
|
Test=md5_gen(1010)8Ry2YjIyt7RRXU24:
|
|
Test=md5_gen(1010).7nfVBEIEu4KbF/1:0123456789abcdef
|
|
#Test=md5_gen(1010).7nfVBEIEu4KbF/1:0123456789abcdefxxxxxx
|
|
MaxInputLen=16
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for Cisco PIX hash with a salt. The salt
|
|
# is the first 4 bytes of the user name. I have made an assumption
|
|
# about PW len. I assume it maxes at 12 chars, so the full salt is
|
|
# allowed.
|
|
####################################################################
|
|
[List.Generic:md5_gen(1011)]
|
|
Expression=md5_gen(1011): pixMD5-salted
|
|
Flag=MGF_INPBASE64_4x6
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__set_input_len_16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1011)h3mJrcH0901pqX/m$alex:ripper
|
|
Test=md5_gen(1011)3USUcOPFUiMCO4Jk$cisc:cisco
|
|
Test=md5_gen(1011)lZt7HSIXw3.QP7.R$admc:CscFw-ITC!
|
|
Test=md5_gen(1011)hN7LzeyYjw12FSIU$john:cisco
|
|
Test=md5_gen(1011)7DrfeZ7cyOj/PslD$jack:cisco
|
|
MaxInputLen=12
|
|
SaltLen=4
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for PostOffice-MD5 md5($s.Y.$p.\xF7.$s)
|
|
# Included here to 'exercise' the script parser (constants)
|
|
# NOTE, the internal md5_gen(18) has a specialized crypt
|
|
# function, as does this version. This is same as md5_gen(18)
|
|
####################################################################
|
|
[List.Generic:md5_gen(1012)]
|
|
Expression=md5_gen(1012): md5($s.Y.$p.\xF7.$s) [Post.Office MD5]
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_POSetup
|
|
Func=MD5GenBaseFunc__POCrypt
|
|
Test=md5_gen(1012)550c41c11bab48f9dbd8203ed313eef0$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:abc123
|
|
Test=md5_gen(1012)0c78bdef7d5448105cfbbc9aaa490a44$550c41c11bab48f9dbd8203ed313eef0:abc123
|
|
Test=md5_gen(1012)9be296cf73d2f548dae3cccafaff1dd9$82916963c701200625cba2acd40d6569:FRED
|
|
Test=md5_gen(1012)a0e2078f0354846ec5bc4c7d7be08a46$82916963c701200625cba2acd40d6569:
|
|
Test=md5_gen(1012)eddfe6493d7e692994cf3526c71f8c84$aabbccddeeffgghhlksjflksjlfkdjsl:test1
|
|
SaltLen=32
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for phpass-MD5. Same as md5_gen(17)
|
|
####################################################################
|
|
[List.Generic:md5_gen(1013)]
|
|
Expression=md5_gen(1013): phpass ($P$ or $H$)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_PHPassSetup
|
|
Flag=MGF_INPBASE64
|
|
Func=MD5GenBaseFunc__PHPassCrypt
|
|
Test=md5_gen(1013)jgypwqm.JsMssPLiS8YQ00$9aaaaaSXB:test1
|
|
Test=md5_gen(1013)5R3ueot5zwV.7MyzAItyg/$912345678:thatsworking
|
|
Test=md5_gen(1013)yhzfTrJXcouTpLleLSbnY/$7aaaaaSXB:test1
|
|
Test=md5_gen(1013)mwulIMWPGe6RPXG1/R8l50$712345678:thatsworking
|
|
Test=md5_gen(1013)nfKm8qpXa88RVUjLgjY/u1$7555555hh:test3
|
|
Test=md5_gen(1013)JSe8S8ufpLrsNE7utOpWc/$BaaaaaSXB:test1
|
|
Test=md5_gen(1013)aqkw6carDzQ67zCLOvVp60$B12345678:thatsworking
|
|
Test=md5_gen(1013)o2j.1E7X1NvVyEJ/QY9hX0$B555555hh:test3
|
|
Test=md5_gen(1013)Y5RwgMij0xFsUIrr33lM1/$9555555hh:test3
|
|
SaltLen=9
|
|
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for phpass-MD5. Same as md5_gen(17)
|
|
# This format shows what happens under the hood, INSIDE of the
|
|
# MD5GenBaseFunc__PHPassCrypt() function. We ONLY do $P$7, since
|
|
# it is the 'smallest' of the set. To do this WITHOUT the
|
|
# MD5GenBaseFunc__PHPassCrypt() function, we would have to have a
|
|
# special format for EACH type. NOTE the timings will 'appear' to
|
|
# be MUCH faster than normal phpass. This is due to ONLY checking
|
|
# a version of phpass that uses 512 crypts. In the phpass testing
|
|
# we select a version that tests 2048 of them. So in other words
|
|
# if this format was same 'speed', it would be 4x faster. NOTE it
|
|
# is a little slower than that, due to added overhead.
|
|
####################################################################
|
|
[List.Generic:md5_gen(1014)]
|
|
Expression=md5_gen(1014): phpass(512 crypt version) ($P$7 or $H$7 )
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_INPBASE64
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw
|
|
Func=MD5GenBaseFunc__append_keys
|
|
# for type 7, we perform 512 crypts
|
|
# 1 crypt here
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen_but_setlen_in_SSE
|
|
# Now, perform 254 crypts
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#8 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#16 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#32 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#64 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#128 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#256 done
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#Func=MD5GenBaseFunc__crypt_to_input_raw_Overwrite_NoLen
|
|
#512 done, but we did not test last 2
|
|
# last crypt (makes 512 crypts TOTAL).
|
|
# This will FAIL for big endian machines. We have special code
|
|
# inside our phpass to correctly deal with this. In this format
|
|
# there is NO way to do that. Sorry, It simply can not be done
|
|
# right now on BE systems.
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1014)yhzfTrJXcouTpLleLSbnY/$aaaaaSXB:test1
|
|
Test=md5_gen(1014)mwulIMWPGe6RPXG1/R8l50$12345678:thatsworking
|
|
Test=md5_gen(1014)nfKm8qpXa88RVUjLgjY/u1$555555hh:test3
|
|
SaltLen=8
|
|
|
|
[List.Generic:md5_gen(1015)]
|
|
# same as 15, the user id format
|
|
Expression=md5($u.md5($p).$s)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_USERNAME
|
|
Flag=MGF_KEYS_CRYPT_IN2
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_userid
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1015)6093d5cb3e2f99d9110eb9c4bbca5f8c$aaaSXB$$Ujoeblow:test1
|
|
Test=md5_gen(1015)6a2dc4a6637bc5c2488f27faeead8720$123456$$Uadmin:thatsworking
|
|
Test=md5_gen(1015)63aea4b8fe491df8545cc0099ac668d4$5555hh$$Uralph:test3
|
|
# to test 'like' we would see from an 'input file' where user name would be first field
|
|
Test=md5_gen(1015)6093d5cb3e2f99d9110eb9c4bbca5f8c$aaaSXB:test1:joeblow
|
|
Test=md5_gen(1015)6a2dc4a6637bc5c2488f27faeead8720$123456:thatsworking:admin
|
|
Test=md5_gen(1015)63aea4b8fe491df8545cc0099ac668d4$5555hh:test3:ralph
|
|
|
|
|
|
####################################################################
|
|
# md5(upper(md5($p))) Included here to 'exercise' the script parser
|
|
####################################################################
|
|
[List.Generic:md5_gen(1016)]
|
|
Expression=md5(upper(md5($p)))
|
|
# Flag needed here, is Salt. There is no 'fixed' saltlen.
|
|
Flag=MGF_KEYS_INPUT
|
|
Flag=MGF_BASE_16_OUTPUT_UPCASE
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1016)42b01e6aebac08b1d481990c77e93206:test1
|
|
Test=md5_gen(1016)11d382887431b076d540c4d3e37fe89a:Thatsworking
|
|
Test=md5_gen(1016)9ed1f40dffbb84dadc33138958e927b2:test3
|
|
|
|
[List.Generic:md5_gen(1017)]
|
|
Expression=md5(upper(md5(upper(md5($p)))))
|
|
# Flag needed here, is Salt. There is no 'fixed' saltlen.
|
|
Flag=MGF_KEYS_INPUT
|
|
Flag=MGF_BASE_16_OUTPUT_UPCASE
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1017)9D55D308E01806EF0227CF5A3AC90F4E:test1
|
|
Test=md5_gen(1017)1E80483A2F51520646542CCDC657E476:Thatsworking
|
|
Test=md5_gen(1017)0E8851B6B060F9A5A101F540C3E3D669:test3
|
|
|
|
[List.Generic:md5_gen(1018)]
|
|
Expression=md5(upper(md5(upper(md5(upper(md5($p)))))))
|
|
# Flag needed here, is Salt. There is no 'fixed' saltlen.
|
|
Flag=MGF_KEYS_INPUT
|
|
Flag=MGF_BASE_16_OUTPUT_UPCASE
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1018)CDA798A1D3B4ED11BCA6C0A3D9747B9A:test1
|
|
Test=md5_gen(1018)98D346A7C2079BC2D6F49882E4847CDB:Thatsworking
|
|
Test=md5_gen(1018)82262EE9D6DF9E1138F602737A9F897E:test3
|
|
|
|
|
|
[List.Generic:md5_gen(1021)]
|
|
Expression=md5(md5(md5(md5($p))))
|
|
# here is the optimized 'script' to perform the md5 4 times on itself
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1021)57200e13b490d4ae47d5e19be026b057:test1
|
|
Test=md5_gen(1021)c6cc44f9e7fb7efcde62ba2e627a49c6:thatsworking
|
|
Test=md5_gen(1021)0ae9549604e539a249c1fa9f5e5fb73b:test3
|
|
|
|
[List.Generic:md5_gen(1022)]
|
|
# expression shown will be the string: md5_gen(1022) md5(md5($s.md5($p.md5($p.md5($s.md5($p.$p).$s)))).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
Expression=md5(md5($s.md5($p.md5($p.md5($s.md5($p.$p).$s)))).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
Flag=MGF_SALTED
|
|
#
|
|
#md5(md5($s.md5($p.md5($p.md5($s.C1.$s)))).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C1=md5($p.$p)
|
|
#md5(md5($s.md5($p.md5($p.C2))).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C2=md5($s.C1.$s) (32+len_s2)
|
|
#md5(md5($s.md5($p.C3)).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C3 = md5($p.C2)
|
|
#md5(md5($s.C4).md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C4 = md5($p.C3)
|
|
#md5(C5.md5($s.md5($p.md5($p.md5($s.$p)))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C5 = md5($s.C4)
|
|
#md5(C5.md5($s.md5($p.md5($p.C6))).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C6=md5($s.$p)
|
|
#md5(C5.md5($s.md5($p.C7)).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C7=md5($p.C6)
|
|
#md5(C5.md5($s.C8).md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C8=md5($p.C7)
|
|
#md5(C5.C9.md5($s.md5($s.md5($p.md5($p.$s)))))
|
|
#C9=md5($s.C8)
|
|
#md5(C5.C9.md5($s.md5($s.md5($p.C10))))
|
|
#C10=md5($p.$s)
|
|
#md5(C5.C9.md5($s.md5($s.C11)))
|
|
#C11=md5($p.C11)
|
|
#md5(C5.C9.md5($s.C12))
|
|
#C12=md5($s.C11)
|
|
#md5(C5.C9.C13)
|
|
#C13=md5($s.C12)
|
|
#C5.C9.C13 is NOT SSE safe.
|
|
#
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C1 in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C2 in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C3 in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C4 in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C5 in Out Inp, Inp2, Out2 free
|
|
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
##Func=MD5GenBaseFunc__SSEtoX86_switch_input1
|
|
#C5 in Inp[x86] Out, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__ToSSE
|
|
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
##Func=MD5GenBaseFunc__SSEtoX86_switch_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
##Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
|
|
#C5 in Inp - C6 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5 in Inp - C7 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5 in Inp - C8 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5 in Inp - C9 in Out2 Out, Inp2 free
|
|
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
#C5.C9 in Inp[x86] Out, Inp2 Out2 free
|
|
Func=MD5GenBaseFunc__ToSSE
|
|
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5.C9 in Inp - C10 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5.C9 in Inp - C11 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5.C9 in Inp - C12 in Out2 Out, Inp2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C5.C9 in Inp - C13 in Out2 Out, Inp2 free
|
|
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
#C5.C9.C13 Inp[x86] Out, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__crypt
|
|
#Final answer in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_output1
|
|
|
|
|
|
Test=md5_gen(1022)c901de937291c6232e789d70dde2cd7f$aabbccdd:test1
|
|
|
|
|
|
####################################################################
|
|
# mkmd5gen generated GENERIC-MD5 type for md5(md5($p).md5($p.md5($p.$s).md5($s.$p)))
|
|
####################################################################
|
|
[List.Generic:md5_gen(1023)]
|
|
Expression=md5_gen(1023): md5(md5($p).md5($p.md5($p.$s).md5($s.$p)))
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
#
|
|
#md5(md5($p).md5($p.md5($p.$s).md5($s.$p)))
|
|
#md5(C1.md5($p.md5($p.$s).md5($s.$p)))
|
|
#md5(C1.md5($p.C2.md5($s.$p)))
|
|
#md5(C1.md5($p.C2.C3))
|
|
#md5(C1.C4)
|
|
#
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
#C1 in Out Inp, Inp2, Out2 free
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
#C1 in Inp Out, Inp2 Out2 free
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C1 in Inp C2 in Out2 Free: Out, Inp2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
#C1 in Inp C2 in Out2 C3 in Out1 Free: Inp2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
#C1 in Inp C4 in Out2 Free: Out1, Inp2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
#C1.C4 in Inp Free: Out1, Inp2 Out2
|
|
Func=MD5GenBaseFunc__crypt
|
|
#Result in Out1
|
|
#
|
|
Test=md5_gen(1023)529f4a3600b1ed4af606a5fbc80f58ee$aabbccdd:test1
|
|
Test=md5_gen(1023)aa8dbd8512be7a045ba602ddc2cab64b$zzyyxxww:test3
|
|
Test=md5_gen(1023)bd0d60add4315f6d0b13c63226d7111e$01234567:ThisisWorking
|
|
Test=md5_gen(1023)7174c2398175d2cb1d86e463cb6c8edd$98765432:abc
|
|
Test=md5_gen(1023)cef72db811843bd37f1121f714c32752$65432198:Longer Pass Here
|
|
Test=md5_gen(1023)8b0131c839db57eb6410ad84076f2fa2$32165498:Junk
|
|
Test=md5_gen(1023)736d738772ae81411d96f56d0edc95c9$74185296:Junk1
|
|
Test=md5_gen(1023)d66166897605b76f276e76b5596834f3$96325874:Junky3
|
|
SaltLen=8
|
|
|
|
|
|
####################################################################
|
|
# mkmd5gen generated GENERIC-MD5 type for md5(md5($p).md5($p.md5($p.$s).md5($s.$p).md5($p.$p)))
|
|
|
|
####################################################################
|
|
# mkmd5gen generated GENERIC-MD5 type for md5($p)
|
|
####################################################################
|
|
[List.Generic:md5_gen(1024)]
|
|
Expression=md5_gen(1024): md5($p)
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1024)5a105e8b9d40e1329780d62ea2265d8a:test1
|
|
Test=md5_gen(1024)8ad8757baa8564dc136c1e07507f4a98:test3
|
|
Test=md5_gen(1024)abbd6ffd1e10de751a20f97436a50dde:ThisisWorking
|
|
Test=md5_gen(1024)900150983cd24fb0d6963f7d28e17f72:abc
|
|
Test=md5_gen(1024)ffb756913c91d25a7094d3fa3d1206dd:Longer Pass Here
|
|
Test=md5_gen(1024)50a16f415160a7132a86a551fc34bdc9:Junk
|
|
Test=md5_gen(1024)1d5615d1e07f2554970cb4a93d776ca3:Junk1
|
|
Test=md5_gen(1024)778f5c751de2d5a32faf89626c786103:Junky3
|
|
|
|
####################################################################
|
|
# mkmd5gen generated GENERIC-MD5 type for md5($p)
|
|
####################################################################
|
|
[List.Generic:md5_gen(1025)]
|
|
Expression=md5_gen(1025): md5($p)
|
|
Flag=MGF_KEYS_INPUT
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1025)5a105e8b9d40e1329780d62ea2265d8a:test1
|
|
Test=md5_gen(1025)8ad8757baa8564dc136c1e07507f4a98:test3
|
|
Test=md5_gen(1025)900150983cd24fb0d6963f7d28e17f72:abc
|
|
|
|
[List.Generic:md5_gen(1030)]
|
|
Expression=md5_gen(1030): md5($p.$p)
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1030)42b72f913c3201fc62660d512f5ac746:test1
|
|
|
|
[List.Generic:md5_gen(1031)]
|
|
Expression=md5_gen(1031): md5($s.md5($p).$p)
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_input1
|
|
Func=MD5GenBaseFunc__ToSSE
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_input1
|
|
Func=MD5GenBaseFunc__ToSSE
|
|
Func=MD5GenBaseFunc__clean_input_kwik
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_input1
|
|
Func=MD5GenBaseFunc__ToSSE
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1031)a459f60614498dbdd9a79dcc9c538749$aabbccdd:test1
|
|
|
|
[List.Generic:md5_gen(1032)]
|
|
Expression=md5_gen(1032): md5(md5($s).md5($p).$p)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1032)042d1f15ed57929a2ac8ee4f0a924679$aabbccdd:test1
|
|
|
|
|
|
[List.Generic:md5_gen(1042)]
|
|
Expression=md5_gen(1042): md5(md5($s).md5($p).$p)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALT_AS_HEX
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1042)042d1f15ed57929a2ac8ee4f0a924679$aabbccdd:test1
|
|
|
|
|
|
[List.Generic:md5_gen(1052)]
|
|
Expression=md5_gen(1052): md5(md5($s).md5($p).$p)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALT_AS_HEX
|
|
Flag=MGF_KEYS_BASE16_IN1_Offset32
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__overwrite_salt_to_input1_no_size_fix
|
|
Func=MD5GenBaseFunc__set_input_len_64
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1052)042d1f15ed57929a2ac8ee4f0a924679$aabbccdd:test1
|
|
|
|
[List.Generic:md5_gen(1062)]
|
|
Expression=md5_gen(1062): md5(md5($s).md5($p).$p)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALT_AS_HEX
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_output1
|
|
Test=md5_gen(1062)042d1f15ed57929a2ac8ee4f0a924679$aabbccdd:test1
|
|
|
|
[List.Generic:md5_gen(1033)]
|
|
Expression=md5_gen(1033): md5(md5($p).$s)
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1033)e9fb44106edf60419d26a10b5439d0c7$aabbccddeeff:test1
|
|
SaltLen=12
|
|
|
|
[List.Generic:md5_gen(1043)]
|
|
Expression=md5_gen(1043): md5(md5($p).$s)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_KEYS_BASE16_IN1
|
|
Func=MD5GenBaseFunc__set_input_len_32
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1043)e9fb44106edf60419d26a10b5439d0c7$aabbccddeeff:test1
|
|
SaltLen=12
|
|
|
|
|
|
[List.Generic:md5_gen(1044)]
|
|
Expression=md5_gen(1044): md5(md5($p.md5($p.md5($s.$p))).$s)
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1044)e4f0714e3e616ed7647dbd44aaff3c00$aabbccdd:test1
|
|
|
|
|
|
|
|
####################################################################
|
|
# Simple GENERIC-MD5 type for md5(md5($p).md5($p))
|
|
####################################################################
|
|
[List.Generic:md5_gen(1063)]
|
|
# expression shown will be the string: md5_gen(1063) md5(md5($p).md5($p))
|
|
Expression=md5(md5($p).md5($p))
|
|
# NOTE, this format does NOT work on SSE2. It requires a md5() of a 64 byte string.
|
|
# SSE (or MMX) is limtited to 54 byte max password, due to 'enhancements'
|
|
# Thus, we need a non-sse2 safe flag.
|
|
#Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_KEYS_INPUT
|
|
# here is the optimized 'script' to perform hash 'like' IPB but salt replaced with password.
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_output1
|
|
# These are test strings for this format.
|
|
Test=md5_gen(1063)478b10974f15e7295883224fd286ccba:test1
|
|
Test=md5_gen(1063)18a59101e6c6fb38260d542a394ecb22:thatsworking
|
|
Test=md5_gen(1063)630b01b68b6db6fd43a751f8147d1faf:test3
|
|
|
|
|
|
####################################################################
|
|
# mkmd5gen generated GENERIC-MD5 type for md5($s.md5($p.$s.md5(md5($s2)).$c1.$c3.$c4.$c5.$c7.$c6.$c8).$c2)
|
|
####################################################################
|
|
[List.Generic:md5_gen(5001)]
|
|
Expression=md5_gen(5001): md5($s.md5($p.$s.md5(md5($s2)).$c1.$c3.$c4.$c5.$c7.$c6.$c8).$c2)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALTED2
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_2nd_salt
|
|
Func=MD5GenBaseFunc__crypt_in1_to_out2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST1
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST3
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST4
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST5
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST7
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST6
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST8
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(5001)6d1a31e525633013d52bc065328ecd7c$aabbccdd$$2xszef:test1
|
|
Test=md5_gen(5001)1ad6b42d7f22fcafbf9609c3efbea182$zzyyxxww$$2ER#^s:test3
|
|
Test=md5_gen(5001)5eeeca352107c1b565af4a249a8452ee$01234567$$2hhhas:ThisisWorking
|
|
Test=md5_gen(5001)fdb9c4702c7f82e3431d64f3b9d06136$98765432$$2hrhas:abc
|
|
Test=md5_gen(5001)4b1fce298a29af07a8d66542222fb36e$65432198$$2ksjas:Longer Pass Here
|
|
Test=md5_gen(5001)20d8de9d5a19e44181b0a8102e9345e4$32165498$$2Zhbbb:Junk
|
|
Test=md5_gen(5001)9dfb9c3259dfc316a098d6d45fc77f54$74185296$$2Thxyz:Junk1
|
|
Test=md5_gen(5001)7ea6b7fa2c1f0e2baee1792b0234034d$96325874$$2ABCDEF:Junky3
|
|
CONST1=c1
|
|
CONST2=2
|
|
CONST3=333
|
|
CONST4=4444
|
|
CONST5=c5
|
|
CONST6=666666
|
|
CONST7=const_7
|
|
CONST8=c8
|
|
SaltLen=8
|
|
|
|
[List.Generic:md5_gen(5002)]
|
|
Expression=md5_gen(5002): md5(md5($p))
|
|
Flag=MGF_KEYS_INPUT
|
|
Func=MD5GenBaseFunc__crypt_in1_to_out2
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
#sFunc=MD5GenBaseFunc__X86toSsE_switch_output1
|
|
Test=md5_gen(5002)418d89a45edadb8ce4da17e07f72536c:test1
|
|
Test=md5_gen(5002)ccd3c4231a072b5e13856a2059d04fad:thatsworking
|
|
Test=md5_gen(5002)9992295627e7e7162bdf77f14734acf8:test3
|
|
|
|
[List.Generic:md5_gen(5003)]
|
|
Expression=md5_gen(5003): md5($c1.md5($c2.md5($c3.md5($c4.md5($c5.md5($c6.md5($c7.md5($c8.$p).$c1).$c2).$c3).$c4).$c5).$c6).$c7)
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST8
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST7
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST1
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST6
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST5
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST3
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST4
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST4
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST3
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST5
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST6
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST1
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST7
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(5003)116475e5dcb0f34933dad42ba23f1c5d:test1
|
|
Test=md5_gen(5003)78a24cda1176ee0a361204ad523e84db:test3
|
|
Test=md5_gen(5003)33dd28264da1606c681d883947e1dc69:ThisisWorking
|
|
Test=md5_gen(5003)7ee41d938e2711ec317f2b6bebd27438:abc
|
|
Test=md5_gen(5003)31a334471399b2fe1ed00badc36d3163:Longer Pass Here
|
|
Test=md5_gen(5003)1a4eda9b6cd32febe9f9aa5d0a7f53ec:Junk
|
|
Test=md5_gen(5003)c3c4959e6cde82d9035fbc55608a53ef:Junk1
|
|
Test=md5_gen(5003)75242eca2f979739a1b047f74f9b6851:Junky3
|
|
CONST1=1
|
|
CONST2=c2
|
|
CONST3=333
|
|
CONST4=4..4
|
|
CONST5=5---5
|
|
CONST6=6,,,,6
|
|
CONST7=7!!!!!7
|
|
CONST8=88888888
|
|
|
|
[List.Generic:md5_gen(5004)]
|
|
Expression=md5_gen(5004): md5($c1.md5($c2.md5($c3.md5($c4.md5($c5.md5($c6.md5($c7.md5($c8.$p).$c1).$c2).$c3).$c4).$c5).$c6).$c7)
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST8
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST7
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST6
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST5
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST3
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST4
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST4
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST3
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST5
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST6
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST7
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(5004)116475e5dcb0f34933dad42ba23f1c5d:test1
|
|
Test=md5_gen(5004)78a24cda1176ee0a361204ad523e84db:test3
|
|
Test=md5_gen(5004)33dd28264da1606c681d883947e1dc69:ThisisWorking
|
|
Test=md5_gen(5004)7ee41d938e2711ec317f2b6bebd27438:abc
|
|
Test=md5_gen(5004)31a334471399b2fe1ed00badc36d3163:Longer Pass Here
|
|
Test=md5_gen(5004)1a4eda9b6cd32febe9f9aa5d0a7f53ec:Junk
|
|
Test=md5_gen(5004)c3c4959e6cde82d9035fbc55608a53ef:Junk1
|
|
Test=md5_gen(5004)75242eca2f979739a1b047f74f9b6851:Junky3
|
|
CONST1=1
|
|
CONST2=c2
|
|
CONST3=333
|
|
CONST4=4..4
|
|
CONST5=5---5
|
|
CONST6=6,,,,6
|
|
CONST7=7!!!!!7
|
|
CONST8=88888888
|
|
|
|
[List.Generic:md5_gen(5005)]
|
|
Expression=md5_gen(5005): md5($c1.md5($c2.md5($c3.md5($c4.md5($c5.md5($c6.md5($c7.md5($c8.$p).$c1).$c2).$c3).$c4).$c5).$c6).$c7)
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST8
|
|
Func=MD5GenBaseFunc__append_input2_from_input
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST7
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST1
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_input2_from_CONST6
|
|
Func=MD5GenBaseFunc__append_input_from_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST5
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST3
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST4
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST4
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST3
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST5
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST2
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST6
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST7
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(5005)116475e5dcb0f34933dad42ba23f1c5d:test1
|
|
Test=md5_gen(5005)78a24cda1176ee0a361204ad523e84db:test3
|
|
Test=md5_gen(5005)33dd28264da1606c681d883947e1dc69:ThisisWorking
|
|
Test=md5_gen(5005)7ee41d938e2711ec317f2b6bebd27438:abc
|
|
Test=md5_gen(5005)31a334471399b2fe1ed00badc36d3163:Longer Pass Here
|
|
Test=md5_gen(5005)1a4eda9b6cd32febe9f9aa5d0a7f53ec:Junk
|
|
Test=md5_gen(5005)c3c4959e6cde82d9035fbc55608a53ef:Junk1
|
|
Test=md5_gen(5005)75242eca2f979739a1b047f74f9b6851:Junky3
|
|
CONST1=1
|
|
CONST2=c2
|
|
CONST3=333
|
|
CONST4=4..4
|
|
CONST5=5---5
|
|
CONST6=6,,,,6
|
|
CONST7=7!!!!!7
|
|
CONST8=88888888
|
|
|
|
# -num=5003 -const1=1 -const2=c2 -const3=333 -const4-4..4 -const5-5---5 -const6=6,,,,6 -const7=7!!!!!7 -const8=88888888 md5($c1.md5($c2.md5($c3.md5($c4.md5($c5.md5($c6.md5($c7.md5($c8.$p).$c1).$c2).$c3).$c4).$c5).$c6).$c7)
|
|
|
|
[List.Generic:md5_gen(1053)]
|
|
Expression=md5_gen(1053): md5($s.md5($s).$p)
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALT_AS_HEX_TO_SALT2
|
|
Func=MD5GenBaseFunc__clean_input
|
|
#Func=MD5GenBaseFunc__append_salt
|
|
#Func=MD5GenBaseFunc__crypt
|
|
#Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
#Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__append_2nd_salt
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1053)94eead61c1c07bb832ff855dd6115702$aabbccdd:test1
|
|
Test=md5_gen(1053)0c6253b0b82dc81bc5f5de0dcb59ee80$zzyyxxww:test3
|
|
Test=md5_gen(1053)86d00c5383bbdaf1661d7729160766ed$01234567:ThisisWorking
|
|
Test=md5_gen(1053)22c4c1568720e6db338d672c8241d0e4$98765432:abc
|
|
Test=md5_gen(1053)f55723bdf8e577bf691b079aeadffe1f$32165498:Junk
|
|
Test=md5_gen(1053)133857938ba2921bb079b3eca170bc77$74185296:Junk1
|
|
Test=md5_gen(1053)b24df1c9f98699a99e492a591bdf1241$96325874:Junky3
|
|
|
|
|
|
[List.Generic:md5_gen(1054)]
|
|
Expression=md5_gen(1054): md5($s.md5(unicode($p)))
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__setmode_unicode
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__setmode_normal
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1054)2e233d5102d2be03307ec5490075121d$aabbccdd:test1
|
|
Test=md5_gen(1054)0474efd4022743c1113636fc1f34d88a$zzyyxxww:test3
|
|
Test=md5_gen(1054)e3ab32d7db8521616781f13919bb17bc$01234567:ThisisWorking
|
|
Test=md5_gen(1054)9bc5270127c0a61c031ede0a61a79d98$98765432:abc
|
|
Test=md5_gen(1054)e3546ff029afaba5977ed1db0da8b467$32165498:Junk
|
|
Test=md5_gen(1054)e7c1a5215b06a7ee4048d70b50d086dd$74185296:Junk1
|
|
Test=md5_gen(1054)66d4e0e951d5f064538b9b2db3bdf41d$96325874:Junky3
|
|
|
|
|
|
[List.Generic:md5_gen(1055)]
|
|
Expression=md5_gen(1055): md5($s.md5(unicode($p)))
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_KEYS_UNICODE_B4_CRYPT
|
|
Flag=MGF_KEYS_CRYPT_IN2
|
|
Func=MD5GenBaseFunc__setmode_normal
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1055)2e233d5102d2be03307ec5490075121d$aabbccdd:test1
|
|
Test=md5_gen(1055)0474efd4022743c1113636fc1f34d88a$zzyyxxww:test3
|
|
Test=md5_gen(1055)e3ab32d7db8521616781f13919bb17bc$01234567:ThisisWorking
|
|
Test=md5_gen(1055)9bc5270127c0a61c031ede0a61a79d98$98765432:abc
|
|
Test=md5_gen(1055)e3546ff029afaba5977ed1db0da8b467$32165498:Junk
|
|
Test=md5_gen(1055)e7c1a5215b06a7ee4048d70b50d086dd$74185296:Junk1
|
|
Test=md5_gen(1055)66d4e0e951d5f064538b9b2db3bdf41d$96325874:Junky3
|
|
|
|
|
|
[List.Generic:md5_gen(1056)]
|
|
Expression=md5_gen(1056): md5(unicode($p).md5(unicode($s)))
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__setmode_unicode
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__setmode_normal
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1056)34ba9cf3d8f61e6eb21942feb1164261$aabbccdd:test1
|
|
Test=md5_gen(1056)7b4fdbaab27929e18808c96e41b846f0$zzyyxxww:test3
|
|
|
|
|
|
[List.Generic:md5_gen(1057)]
|
|
Expression=md5_gen(1057): md5(unicode($p).md5(unicode($s)))
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SALT_UNICODE_B4_CRYPT
|
|
Flag=MGF_SALT_AS_HEX
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__setmode_unicode
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__setmode_normal
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1057)34ba9cf3d8f61e6eb21942feb1164261$aabbccdd:test1
|
|
Test=md5_gen(1057)7b4fdbaab27929e18808c96e41b846f0$zzyyxxww:test3
|
|
|
|
[List.Generic:md5_gen(1058)]
|
|
Expression=md5_gen(1058): md5(unicode($p))
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__setmode_unicode
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1058)16c47151c18ac087cd12b3a70746c790:test1
|
|
Test=md5_gen(1058)537e738b1ac5551f65106368dc301ece:thatsworking
|
|
Test=md5_gen(1058)849ee1b88b5d887bdb058180a666b450:test3
|
|
|
|
[List.Generic:md5_gen(1059)]
|
|
Expression=md5_gen(1059): md5(md5(unicode($p)))
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__setmode_unicode
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__setmode_normal
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1059)ef1b8ee3ad8690fd1678093588727529:test1
|
|
Test=md5_gen(1059)18a7e5f289730525111f7b65cb223506:thatsworking
|
|
Test=md5_gen(1059)01a0359d0cabbf49a0b0a8a941c7f5ab:test3
|
|
|
|
|
|
|
|
##############################################################################
|
|
# digest authentication scheme :
|
|
# h1 = md5(user:realm:password)
|
|
# h2 = md5(method:digestURI)
|
|
# response = h3 = md5(h1:nonce:nonceCount:ClientNonce:qop:h2)
|
|
#
|
|
# the 'special' salt sets 32space:nonce:nonceCount:ClientNonce:qop:h2
|
|
# Also, this salt sets the first 5 bytes to be a growing text number,
|
|
# so that salt_hash works properly.
|
|
##############################################################################
|
|
[List.Generic:md5_gen(1060)]
|
|
Expression=md5_gen(1060): HDAA )
|
|
Flag=MGF_HDAA_SALT
|
|
Flag=MGF_FLD2
|
|
Flag=MGF_FLD3
|
|
Flag=MGF_FLD4
|
|
Flag=MGF_USERNAME
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_userid
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_fld2
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input_kwik
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__overwrite_from_last_output_as_base16_no_size_fix
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1060)679066476e67b5c7c4e88f04be567f8b$8c12bd8f728afe56d45a0ce846b70e5a$$Uuser$$F2myrealm$$F3GET$/$$F400000001$4b61913cec32e2c9$auth:nocode
|
|
Test=md5_gen(1060)faa6cb7d676e5b7c17fcbf966436aa0c$af32592775d27b1cd06356b3a0db9ddf$$Umoi$$F2myrealm$$F3GET$/$$F400000001$8e1d49754a25aea7$auth:kikou
|
|
CONST1=:
|
|
|
|
|
|
[List.Generic:md5_gen(1090)]
|
|
Expression=md5(md5($p.$s).md5(md5($p).$s.md5($s.md5($s.$p))).md5(md5($s.$p.$p).$s.md5($p.md5($p.$s.$p))).$p.md5($s.$p.md5($s.$p.$s).$p.md5($s.$p.md5($p.$s.$s))))
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_NOTSSE2Safe
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_to_input1_as_base16
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt2
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_salt2
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__append_keys2
|
|
Func=MD5GenBaseFunc__append_from_last_output2_as_base16
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1090)e49995dd9328ba663e8839734aaef068$zRwIEOWX:hallo
|
|
|
|
|
|
[List.Generic:md5_gen(1061)]
|
|
Expression=md5_gen(1061): md5($s.'-'.md5($p))
|
|
Flag=MGF_SALTED
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__crypt
|
|
Test=md5_gen(1061)7fc1aa71056429e9f773b2cde1106aee$salt1:test1
|
|
Test=md5_gen(1061)abdb2b7fbc78abaf475d3a5bb48b48bc$2tlas:testword2
|
|
CONST1=-
|
|
|
|
# md5(sha1($p))
|
|
[List.Generic:md5_gen(1062)]
|
|
Expression=md5_gen(1062): md5(sha1($p))
|
|
Flag=MGF_StartInX86Mode
|
|
Flag=MGF_KEYS_INPUT_BE_SAFE
|
|
Func=MD5GenBaseFunc__clean_input2_kwik
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1062)a7168f0f249e3add33da11a59e228a57:test1
|
|
Test=md5_gen(1062)067dda3ad565339fffa61ba74fab0ba3:thatsworking
|
|
Test=md5_gen(1062)71a1083be5c288da7e57b8c2bd7cbc96:test3
|
|
|
|
# sha1(md5($p))
|
|
[List.Generic:md5_gen(1063)]
|
|
Expression=md5_gen(1063): sha1(md5($p))
|
|
Flag=MGF_KEYS_INPUT
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Func=MD5GenBaseFunc__crypt
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input2_to_output1_FINAL
|
|
Test=md5_gen(1063)81d84525eb1499d518cf3cb3efcbe1d11c4ccf25:test1
|
|
Test=md5_gen(1063)6cd62e1767b65eec58d687de6d9c08a828018254:thatsworking
|
|
Test=md5_gen(1063)7d653cf00d747a9fbab213b6c2b335cfe8199ff3:test3
|
|
|
|
|
|
# sha1($p)
|
|
[List.Generic:md5_gen(1064)]
|
|
Expression=md5_gen(1064): sha1($p)
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Flag=MGF_RAW_SHA1_INPUT
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_to_output1_FINAL
|
|
Test=md5_gen(1064)b444ac06613fc8d63795be9ad0beaf55011936ac:test1
|
|
Test=md5_gen(1064)1068db2941b46d12f790df99d72fe8c2eb6d3aaf:thatsworking
|
|
Test=md5_gen(1064)3ebfa301dc59196f18593c45e519287a23297589:test3
|
|
|
|
[List.Generic:md5_gen(1165)]
|
|
Expression=md5_gen(1165): md5(sha1(md5(sha1($p))))
|
|
Flag=MGF_StartInX86Mode
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_from_last_output_as_base16
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1165)62f2dd3da9a39eea4314b846aaa02a3d:test1
|
|
Test=md5_gen(1165)288f19a5a0967ef40d8e9ebfef79b0ea:thatsworking
|
|
Test=md5_gen(1165)72a4064912ccaea4b982b3e9fc710cd7:test3
|
|
|
|
[List.Generic:md5_gen(1066)]
|
|
Expression=md5_gen(1066): sha1($p.$s)
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_to_output1_FINAL
|
|
Test=md5_gen(1066)5a12479f0a8286a832288e1dc2ea9b2eda4e382d$sG:test1
|
|
Test=md5_gen(1066)c72b6f1caddb158831cab0b08d29243ea20fc869$xxRW:thatsworking
|
|
Test=md5_gen(1066)b966eff1aac95e92818a7c59326cce297b935eff$s3xx:test3
|
|
|
|
[List.Generic:md5_gen(1067)]
|
|
Expression=md5_gen(1067): sha1($s.$p)
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_SALTED
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__append_salt
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_to_output1_FINAL
|
|
Test=md5_gen(1067)f5266f29ff7f1ea6fc30085c8347fcf6a6e36e9c$sG:test1
|
|
Test=md5_gen(1067)a34af873d9047541b4d76ceae7b391f0664ca99e$xxRW:thatsworking
|
|
Test=md5_gen(1067)f0058038be0e821caa3031b463aed00fbe7e3beb$s3xx:test3
|
|
|
|
[List.Generic:md5_gen(1068)]
|
|
Expression=md5_gen(1068): sha1(sha1($p))
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input2_to_output1_FINAL
|
|
Test=md5_gen(1068)2a367cbb171d78d293f40fd7d1defb31e3fb1728:test1
|
|
Test=md5_gen(1068)d3e0a4d2f3ec196a79ab2890c65144c20ff24ed8:thatsworking
|
|
Test=md5_gen(1068)b13773cfee62f832cacb618b257feec972f30b13:test3
|
|
|
|
[List.Generic:md5_gen(1069)]
|
|
Expression=md5_gen(1069): sha1(sha1($p))
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input2_overwrite_input2_base16
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input2_to_output1_FINAL
|
|
Test=md5_gen(1069)00aeb6dc5e6269a6b2f39728cd8a6812a644dae6:test1
|
|
Test=md5_gen(1069)d60112917380bb0641f5d1a4ce8fb77e958452f7:thatsworking
|
|
Test=md5_gen(1069)54e45916fb79f7be1c695828fdba44915b50751e:test3
|
|
|
|
[List.Generic:md5_gen(1065)]
|
|
Expression=md5_gen(1065): md5(sha1(md5(sha1($p))))
|
|
Flag=MGF_StartInX86Mode
|
|
Flag=MGF_KEYS_INPUT_BE_SAFE
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_append_input2_base16
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Func=MD5GenBaseFunc__SSEtoX86_switch_output1
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_from_last_output_to_input2_as_base16
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input2_overwrite_input2_base16
|
|
Func=MD5GenBaseFunc__X86toSSE_switch_input2
|
|
Func=MD5GenBaseFunc__crypt_in2_to_out1
|
|
Test=md5_gen(1065)62f2dd3da9a39eea4314b846aaa02a3d:test1
|
|
Test=md5_gen(1065)288f19a5a0967ef40d8e9ebfef79b0ea:thatsworking
|
|
Test=md5_gen(1065)72a4064912ccaea4b982b3e9fc710cd7:test3
|
|
|
|
[List.Generic:md5_gen(1070)]
|
|
Expression=md5_gen(1070): sha1(upr($u).':'.$p)
|
|
Flag=MGF_NOTSSE2Safe
|
|
Flag=MGF_SHA1_40_BYTE_FINISH
|
|
Flag=MGF_USERNAME_UPCASE
|
|
Func=MD5GenBaseFunc__clean_input
|
|
Func=MD5GenBaseFunc__clean_input2
|
|
Func=MD5GenBaseFunc__append_userid
|
|
Func=MD5GenBaseFunc__append_input1_from_CONST1
|
|
Func=MD5GenBaseFunc__append_keys
|
|
Func=MD5GenBaseFunc__SHA1_crypt_input1_to_output1_FINAL
|
|
Test=md5_gen(1070)20fa5cf803e363ba9f13e12ca61586e2efabc737$$UROOT:test1
|
|
Test=md5_gen(1070)2e839b0c32af0e2099584ea22f20d2f2c477d908$$UJAS0N:thatsworking
|
|
Test=md5_gen(1070)55496ed9edcabdd2368e7cd22eaae633c6d6c40e$$UJOEBLOW:test3
|
|
CONST1=:
|
|
|
|
|
|
####################################################################
|
|
####################################################################
|
|
# END of GENERIC-MD5 examples
|
|
####################################################################
|
|
####################################################################
|