Previous calculation of limit caused overlap in chunks. The limit flag does not limit to X words from the start, but rather "Limit X words from the start + skipped words" (according to hashcat manual).
In practical terms, I have observed the following:
Chunk 0: S = 0, L = 500000 (words: 0-500000)
Chunk 1: S = 500000, L = 1000000 (words 500000 - 1500000, but should be words 500000 - 1000000, chunk is 2 x intended size)
Chunk 2: S = 1000000, L = 1500000 (words 1000000 - 2500000, but should be words 1000000 - 2500000, chunk is 3 x intended size)
etc.
I have adjusted chunk/skip calculation to reflect this. Removed limit variable entirely, as it was just a copy of chunk_size, neither of which change during the command building.
Previous calculation of limit caused overlap in chunks. The limit flag does not limit to X words from the start, but rather "Limit X words from the start + skipped words" (according to hashcat manual).
In practical terms, I have observed the following:
Chunk 0: S = 0, L = 500000 (words: 0-500000) Chunk 1: S = 500000, L = 1000000 (words 500000 - 1500000, but should be words 500000 - 1000000, chunk is 2 x intended size) Chunk 2: S = 1000000, L = 1500000 (words 1000000 - 2500000, but should be words 1000000 - 2500000, chunk is 3 x intended size) etc.
I have adjusted chunk/skip calculation to reflect this. Removed limit variable entirely, as it was just a copy of chunk_size, neither of which change during the command building.