diff -urpN cur1/src/blake2.h cur/src/blake2.h --- cur1/src/blake2.h 2013-01-05 08:42:34.812500000 -0600 +++ cur/src/blake2.h 2013-01-05 09:13:09.875000000 -0600 @@ -19,6 +19,7 @@ #if defined(_MSC_VER) #define ALIGN(x) __declspec(align(x)) +#define inline _inline #else #define ALIGN(x) __attribute__((aligned(x))) #endif diff -urpN cur1/src/cracker.c cur/src/cracker.c --- cur1/src/cracker.c 2013-01-05 08:42:35.062500000 -0600 +++ cur/src/cracker.c 2013-01-05 10:44:46.406250000 -0600 @@ -113,6 +113,27 @@ static void crk_remove_salt(struct db_sa *current = salt->next; } +/* this utility function is used by cracker.c AND loader.c. Since media-wiki has a variable width salt, of which + in regen_lost_salts mode, we only handle 0 to 99999 as salts, we built a function that will assign the salt from + one buffer into another */ +void mediawiki_fix_salt(char *Buf, char *source_to_fix, char *salt_rec, int max_salt_len) { + char *cp = source_to_fix; + char *cp2 = salt_rec; + int i = 0; + + strncpy(Buf, cp, 11+32+1); + Buf += (11+32+1); + cp += (11+32+1); + cp2 += 6; + while (++i < max_salt_len && *cp2 != '-') { + *Buf++ = *cp2++; + ++cp; + } + ++cp; + *Buf++ = *cp2++; + *Buf = 0; +} + /* * Updates the database after a password has been cracked. */ diff -urpN cur1/src/inc.c cur/src/inc.c --- cur1/src/inc.c 2013-01-05 08:42:35.875000000 -0600 +++ cur/src/inc.c 2013-01-05 11:03:59.265625000 -0600 @@ -430,9 +430,11 @@ void do_incremental_crack(struct db_main if (!mode) { if (db->format == &fmt_LM) mode = "LanMan"; - else if (db->format == &fmt_NETLM) + //else if (db->format == &fmt_NETLM) // This format is a *_plug.c, so decouple from using any linked data + else if (!strcmp(db->format->params.label, "netlm")) mode = "LanMan"; - else if (db->format == &fmt_NETHALFLM) + //else if (db->format == &fmt_NETHALFLM) // This format is a *_plug.c, so decouple from using any linked data + else if (!strcmp(db->format->params.label, "nethalflm")) mode = "LanMan"; else mode = "All"; diff -urpN cur1/src/john.c cur/src/john.c --- cur1/src/john.c 2013-01-05 08:42:35.921875000 -0600 +++ cur/src/john.c 2013-01-05 10:57:29.281250000 -0600 @@ -97,6 +97,7 @@ extern int CPU_detect(void); extern struct fmt_main fmt_DES, fmt_BSDI, fmt_MD5, fmt_BF; extern struct fmt_main fmt_AFS, fmt_LM; +extern struct fmt_main fmt_NT; #ifdef HAVE_CRYPT extern struct fmt_main fmt_crypt; #endif @@ -244,6 +245,7 @@ static void john_register_all(void) john_register_one(&fmt_BF); john_register_one(&fmt_AFS); john_register_one(&fmt_LM); + john_register_one(&fmt_NT); for (i = 0; i < cnt; ++i) john_register_one(&(selfs[i])); diff -urpN cur1/src/Makefile cur/src/Makefile --- cur1/src/Makefile 2013-01-05 08:42:34.531250000 -0600 +++ cur/src/Makefile 2013-01-05 10:46:03.656250000 -0600 @@ -131,6 +131,8 @@ JOHN_OBJS = \ rawSHA1_ng_fmt.o \ plugin.o \ dummy.o \ + NT_fmt.o \ + gost.o \ batch.o bench.o charset.o common.o compiler.o config.o cracker.o \ crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o \ loader.o logger.o math.o memory.o misc.o options.o params.o path.o \ @@ -1830,6 +1832,9 @@ miscnl.o: misc.c bench-t.o: bench.c $(CC) $(CFLAGS) $(OPT_NORMAL) -D_JOHN_BENCH_TMP bench.c -o bench-t.o +*_fmt_plug.c: Makefile john.c + true + fmt_externs.h: $(PLUGFORMATS_SRCS) Makefile *_fmt_plug.c LC_ALL=C $(SED) -n 's/^\(struct fmt_main [^ ]*\) =.*/extern \1;/p' *_fmt_plug.c | LC_ALL=C $(SORT) > fmt_externs.h diff -urpN cur1/src/mediawiki_fmt_plug.c cur/src/mediawiki_fmt_plug.c --- cur1/src/mediawiki_fmt_plug.c 2013-01-05 08:42:36.250000000 -0600 +++ cur/src/mediawiki_fmt_plug.c 2013-01-05 10:44:46.421875000 -0600 @@ -81,27 +81,6 @@ static struct fmt_main *pDynamic_9; static void mediawiki_init(struct fmt_main *self); static void get_ptr(); -/* this utility function is used by cracker.c AND loader.c. Since media-wiki has a variable width salt, of which - in regen_lost_salts mode, we only handle 0 to 99999 as salts, we built a function that will assign the salt from - one buffer into another */ -void mediawiki_fix_salt(char *Buf, char *source_to_fix, char *salt_rec, int max_salt_len) { - char *cp = source_to_fix; - char *cp2 = salt_rec; - int i = 0; - - strncpy(Buf, cp, 11+32+1); - Buf += (11+32+1); - cp += (11+32+1); - cp2 += 6; - while (++i < max_salt_len && *cp2 != '-') { - *Buf++ = *cp2++; - ++cp; - } - ++cp; - *Buf++ = *cp2++; - *Buf = 0; -} - /* this function converts a 'native' mediawiki signature string into a Dynamic_9 syntax string */ static char *Convert(char *Buf, char *ciphertext) {