2017-09-25 3 views
0
buf = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"; 

dieser Shellcode Zeichenfolge Given (nur ein Beispiel), würde ich in mehrere Stücke von n-te Größe aufteilen möge.Gegeben eine Zeichenfolge in Python, wie würde ich bei n-ten Byte teilen, und eine Aktion mit jedem Stück automatisch ausführen?

Sobald seine aufgeteilt, was unbekannt n-ten Anzahl der Stücke gegeben, würde ich dann, wie es automatisch wie

os.system("echo " + chunk[1] + ">>/tmp/final") 
os.system("echo " + chunk[2] + ">>/tmp/final") 

aber eine fuction auszuführen, ohne jede Aktion jedes Mal spezifiziert, und nicht zu wissen, die Anzahl der Stücke, die seine

in
+0

sind Sie eine Planung kodieren nd dekodieren Sie es in Bytearray, oder wollen Sie nur die Zeichenfolge bei jedem n Zeichen teilen? –

+0

Ich möchte nur die Zeichenkette bei jedem n-ten Zeichen aufteilen, dann habe ich eine Aktion mit wie immer vielen unbekannten Chunks wiederholt, als mein Beispiel. – walkamile

+1

Dies ist eine nette Art und Weise: https://stackoverflow.com/a/9475538/15890 –

Antwort

1

Prüfen Sie, ob der folgende Code helfen Ihnen geteilt wurden, ist es die Zeichenfolge an jedem n-ten Zeichen unterteilt:

nbuf = [buf[i:i+n] for i in range(0, len(buf), n)] 
for st in nbuf: 
    cmdk = 'os.system("echo "' + st + '">>/tmp/final")' 
    subprocess.call(cmdk,shell=True) 
+0

'subprocess.call' kann –

+0

jeden Befehl auf Shell Sie keine Schleife über die Indizes (Sie fehlt ein' laufen verwendet werden Bereich "für das sowieso), einfach Schleife über die Stücke direkt. –

+0

Danke für den Kommentar hinzugefügt die Änderungen –

Verwandte Themen