hallo
folgendes problem:
ich habe ein programm das strings ver und entschlüsselt. beim entschlüsseln (brute force) wird das aktuelle ergebnis der entschlüsslung mit einer wordlist (TStringlist) abgeglichen. diese funktion sieht im moment so aus:
Delphi-Quellcode:
for l := 1 to length(s) do //string entschlüsseln (i ist der key der getestet wird)
begin
s[l] := char(i Xor ord(s[l]));
end;
for d := 0 to w.count-1 do //Abgleich mit der Wordlist
begin
if s = w.Strings[d] then
begin
g := true;
end;
if g = true then //wenn erfolgreich -> break
begin
break;
end;
end;
das problem ist wenn das entschlüsselte wort (variable: s) zum beispiel "teste" lautet, was nicht in der wordlist vorkommt, war der entschlüsslungsvorgang nicht erfolgreich ! ich möchte aber, dass er dann nachschaut welcher teilstring im wort teste bzw in welchem wort aus der wordlist das entschlüsselte wort drin steckt.
Beispiel: entschlüsseltes wort "teste" -> gibts nicht in der stringlist -> misserfolg -> aber es gibt das wort "test" in der stringlist -> teilstring gefunden "test"
also irgendwie if s = w.Strings[d] then umschreiben für teilstrings. habt ihr ne idee ?
grüße g1o