mirror of
https://github.com/hashcat/hashcat.git
synced 2025-01-11 00:01:16 +00:00
Include passwords for removed hashes present in the potfile to next loopback iteration
This commit is contained in:
parent
1f266fb0f2
commit
1f756bf752
@ -5,6 +5,7 @@
|
|||||||
##
|
##
|
||||||
|
|
||||||
- Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance
|
- Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance
|
||||||
|
- Loopback: Include passwords for removed hashes present in the potfile to next loopback iteration
|
||||||
- New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit
|
- New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit
|
||||||
- Status screen: Reenabled automatic status screen display in case of stdin used
|
- Status screen: Reenabled automatic status screen display in case of stdin used
|
||||||
- Truecrypt/Veracrypt: Use CRC32 to verify headers instead of fuzzy logic, greatly reduces false positives from 18:2^48 to 3:2^64
|
- Truecrypt/Veracrypt: Use CRC32 to verify headers instead of fuzzy logic, greatly reduces false positives from 18:2^48 to 3:2^64
|
||||||
|
@ -445,8 +445,18 @@ static int outer_loop (hashcat_ctx_t *hashcat_ctx)
|
|||||||
{
|
{
|
||||||
EVENT (EVENT_POTFILE_REMOVE_PARSE_PRE);
|
EVENT (EVENT_POTFILE_REMOVE_PARSE_PRE);
|
||||||
|
|
||||||
|
if (user_options->loopback == true)
|
||||||
|
{
|
||||||
|
loopback_write_open (hashcat_ctx);
|
||||||
|
}
|
||||||
|
|
||||||
potfile_remove_parse (hashcat_ctx);
|
potfile_remove_parse (hashcat_ctx);
|
||||||
|
|
||||||
|
if (user_options->loopback == true)
|
||||||
|
{
|
||||||
|
loopback_write_close (hashcat_ctx);
|
||||||
|
}
|
||||||
|
|
||||||
EVENT (EVENT_POTFILE_REMOVE_PARSE_POST);
|
EVENT (EVENT_POTFILE_REMOVE_PARSE_POST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "event.h"
|
#include "event.h"
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
#include "filehandling.h"
|
#include "filehandling.h"
|
||||||
|
#include "loopback.h"
|
||||||
#include "outfile.h"
|
#include "outfile.h"
|
||||||
#include "potfile.h"
|
#include "potfile.h"
|
||||||
#include "locking.h"
|
#include "locking.h"
|
||||||
@ -282,9 +283,10 @@ void potfile_write_append (hashcat_ctx_t *hashcat_ctx, const char *out_buf, u8 *
|
|||||||
|
|
||||||
int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
|
int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
|
||||||
{
|
{
|
||||||
const hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
|
const hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
|
||||||
const hashes_t *hashes = hashcat_ctx->hashes;
|
const hashes_t *hashes = hashcat_ctx->hashes;
|
||||||
const potfile_ctx_t *potfile_ctx = hashcat_ctx->potfile_ctx;
|
const loopback_ctx_t *loopback_ctx = hashcat_ctx->loopback_ctx;
|
||||||
|
const potfile_ctx_t *potfile_ctx = hashcat_ctx->potfile_ctx;
|
||||||
|
|
||||||
if (potfile_ctx->enabled == false) return 0;
|
if (potfile_ctx->enabled == false) return 0;
|
||||||
|
|
||||||
@ -486,6 +488,13 @@ int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
|
|||||||
found->pw_buf[found->pw_len] = 0;
|
found->pw_buf[found->pw_len] = 0;
|
||||||
|
|
||||||
found->cracked = 1;
|
found->cracked = 1;
|
||||||
|
|
||||||
|
// if enabled, update also the loopback file
|
||||||
|
|
||||||
|
if (loopback_ctx->fp != NULL)
|
||||||
|
{
|
||||||
|
loopback_write_append (hashcat_ctx, (u8 *) pw_buf, (unsigned int) pw_len);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hcfree (line_buf);
|
hcfree (line_buf);
|
||||||
|
Loading…
Reference in New Issue
Block a user