Einige grundlegende Überlegungen zu deinem Problem:
- MD5 ist eine bis dato nicht geknackte Hashfunktion mit einer Hashgröße von 128 bit.
- Nehmen wir an, MD5 wäre eine ideale Hashfunktion, d.h. für beliebigen Input kommt jeder Output mit gleicher Häufigkeit vor (dies ist inkorrekt, aber hier kein prinzipieller Fehler).
- 128 bits entsprechen 2^128 = 3*10^38 (!!) Möglichkeiten. Wenn du also versuchst, für einen Hash x einen Input y zu erraten, ist der mit einer Wahrscheinlichkeit von 1/(3*10^38) korrekt.
- Ein moderner Prozessor schafft in einem nicht überdurchschnittlich gut optimierten Programm auf einem Prozessorkern eine Million MD5-Hashes pro Sekunde.
Das bedeutet folgendes für dein Problem, dessen effiziente Lösung weitreichende Folgen für den Computersicherheitsbereich hätte:
- Wenn du nichts über deinen Input weißt und die Datei eine hinreichende Länge hat, kannst du das Bruteforcen vergessen.
- Selbst wenn du eine sehr kleine Datei (~1kb) mit einem sehr großen Netzwerk an PCs bruteforcen wolltest, bräuchtest du mit allerhöchster Wahrscheinlichkeit länger, als deine Enkelkinder warten wollen

- Falls du aber nur einen sehr kurzen String anstelle einer richtigen Datei bruteforcen willst,hast du Chancen... ich empfehle dir dennoch, die Knack-Komponente nicht in VB sondern in Maschinencode zu schreiben, da du damit eine Menge Zeit und Strom sparst.
LG Alexander