Skip to content

Instantly share code, notes, and snippets.

@clem9669
Created October 10, 2023 13:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clem9669/555840333cbb405fc9e64a54a41d103a to your computer and use it in GitHub Desktop.
Save clem9669/555840333cbb405fc9e64a54a41d103a to your computer and use it in GitHub Desktop.
Convert append to preappend rules hashcat
import sys
# Fonction pour convertir l'append en preappend avec inversion de l'ordre et remplacement de $
def convert_rules(rule):
parts = rule.split('\\x')[1:] # Divise la règle en parties basées sur '\x'
reversed_parts = parts[::-1] # Inverse l'ordre des parties
preappend = '^\\x' + '^\\x'.join(reversed_parts) # Joins les parties avec '^\\x' et ajoute '^\\x' au début
return preappend
# Fonction pour convertir les règles dans le fichier d'entrée et écrire le résultat dans le fichier de sortie
def convert_rules_file(input_file, output_file):
with open(input_file, 'r') as infile:
rules = infile.readlines()
converted_rules = []
for rule in rules:
rule = rule.strip()
if not rule.startswith('^'): # Vérifie si la ligne n'est pas déjà convertie
converted_rule = convert_rules(rule.replace('$', '')) # Supprime le caractère '$' avant la conversion
converted_rules.append(converted_rule)
with open(output_file, 'w') as outfile:
outfile.write('\n'.join(converted_rules))
print(f"Les règles ont été converties avec succès et enregistrées dans '{output_file}'.")
# Vérifie si les arguments de ligne de commande sont présents
if len(sys.argv) != 3:
print("Usage: python script.py <input_file> <output_file>")
else:
input_file = sys.argv[1]
output_file = sys.argv[2]
# Appeler la fonction pour convertir les règles
convert_rules_file(input_file, output_file)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment