Zitat:
Zitat von ProgMaster
Und einen praktischen Brute-Force-Weg kann es auch nicht geben, da das Ausprobieren länger dauern würde als die Welt existiert.
|
Naja, wenn die vorangegangenen "Entschlüsselungen" immer das selbe Schema hatten wie z.B. "Hex > Reverse String > ROT-13 > FERON-74 > BASE-64 > ATOM-128" hab ich doch schon einen sehr guten Ansatz zum Bruteforce.
Z.B. Ausgehend davon, dass es nur diese Arten von Umrechnungen gibt und sie nur maximal 6mal konkateniert werden, sehen die Möglichkeiten, bei der Annahme das sich Verfahren nicht wiederholen, folgendermaßen aus.
6! = 720
Je nach Annahme der Möglichkeiten geht diese Zahl natürlich nach oben.
Wenn wir natürlich davon ausgehen das wir maximal 8mal konkatenieren und es 8 Umwandlungsoperation gibt welche sich auch wiederholen dürfen, sind wir bei:
8^8 = 16777216
Die 720 Möglichkeiten sind noch leicht zu handeln und durchklick und manuell auswertbar.
Bei den anderen Fall sollte man sich überlegen ein Programm zu schreiben welches die Möglichkeiten durchgeht und das Ergebnis einer semantischen Prüfung unterzieht.
Damit dass funktioniert muss das Ergebnis auch eine spezielle Information erhalten welche die semantische Prüfung erkennt und welche relativ eindeutig sein muss, damit die Funktion möglichst wenige falsch positive Ergebnisse liefert.
Wie gesagt diese Idee ist nur anwendbar falls das Ergebnis kein semantischer Müll ist. Falls aus einer Zeichenkette eine andere Zeichenkette ohne semantischer Information abgebildet wird kannst du keinerlei BruteForce Methoden ansetzen.
Bei 720 Möglichkeiten kannst du jedoch noch erwägen das gelieferte Ergebnis in Echtzeit auf der Webseite zu überprüfen, falls dort keine zeitliche Sperrfunktion bei wiederholten Fehleingaben implementiert wurde.
Da du wegen der geringen Anzahl von Ergebnisse eine valide Überprüfung hast, selbst wenn das Ergebnis keine semantische Information hat.
Gruß,
Die4all