(12-11-2019, 05:28 PM)undeath Wrote: this code is not extraordinarily fast but should give you an idea:
Code:#!/usr/bin/env python3
from sys import argv
from itertools import product
if len(argv) != 2:
print("usage: {} placeholder_string\nexample: {} aaaaabbcdwxyz/aaaaaeeedwxyz/aaaaabbcdwxyz".format(argv[0], argv[0]))
exit(1)
charmap = {
'c': 'UES',
'd': '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'w': 'ABCDEFZ',
'x': 'RSTUVWXYZ',
'y': 'ABCDEFGHIJKL',
'z': 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890',
}
placeholder = list(argv[1])
def replace_all(stack, char_map):
return map(lambda a: char_map[a] if a in char_map else a, stack)
def yield_candidates(in_list, char_map):
char_map_list = [(x, list(y)) for x, y in char_map.items()]
for combination in product(*map(lambda x: x[1], char_map_list)):
active_char = {char_map_list[i][0]: combination[i]
for i in range(len(combination))}
yield replace_all(in_list, active_char)
for combination in yield_candidates(placeholder, charmap):
print(''.join(combination))
You can pipe that script's output into hashcat.
Code:python script.py aaaaabbcdwxyz/aaaaaeeedwxyz/aaaaabbcdwxyz | hashcat [hash]
Excellent thank you very much. I do have a few more questions left if you will.
The first string of code seems to indicate this code is not intended for Windows or am I just very bad at this.
How do I input the 'aaaaaa' 'bb' and 'eee'? Do I replace it in "python script.py aaaaabbcdwxyz/aaaaaeeedwxyz/aaaaabbcdwxyz | hashcat [hash]" or should I do something else?
Thank you so very much.
EDIT: I have tried your script and inputted this command: ppython script.py N970WVLcdwxyz/N970WOYVdwxyz/N970WVLcdwxyz | hashcat64 4944a10cbba225888a82ee32011117b9 and I get this error: Started: Mon Dec 16 00:28:12 2019
Stopped: Mon Dec 16 00:28:13 2019
Traceback (most recent call last):
File "script.py", line 37, in <module>
print(''.join(combination))
BrokenPipeError: [Errno 32] Broken pipe