Ich verstehe, dass ich XARGs wie folgt verwenden kann:
echo "-i inputfile.raw -o outputfile.jpg" | xargs -t ./myprogram
Ich teste die Anwendung jedoch fuzz und habe einen Fuzzer, der so funktioniert:
echo "some text" | myfuzzer
Ausgabe: "@ om3 t9gxt"
Mit anderen Worten, mein Fuzzer nimmt eine Zeichenfolge und führt einige Permutationen darauf aus und gibt dann eine zufällige Version davon aus.
Der Trick ist, ich muss "-i inputfile.raw -o outputfile.jpg" durch myfuzzer umleiten, damit es mutiert ist, ABER ich muss die Teile -o, -i, .raw und .jpg BEHALTEN. Und zum Schluss übergeben Sie die Ausgabe wie folgt an myprogram:
echo "-i [email protected] -o outpuF$tfFAFAile.jpg" | xargs -t ./myprogram
Ich muss also irgendwie festlegen, dass nur die Dateinamen über myfuzzer geleitet werden sollen, aber nicht die oben genannten Erweiterungen und Flags. Andernfalls werden sie auch permutiert und myprogram erkennt die Argumente nur, wenn sie die richtigen Flags und Erweiterungen haben ... Aber rekonstruiere trotzdem eine Zeichenkette, um sie in mein Programm einzufügen.
Wie kann ich das mit Bash machen?
Antworten:
Sie könnten zum Beispiel verwenden
read
in einer Unterschalequelle