Vorhandene Print-Ausgabe zusätzlich in Text-Datei?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 16:50

Hallo ihr,
habe eine Frage, da ich mich mit Python bisher nicht wirklich beschaeftigt habe. Ich habe folgenden Code:

Code: Alles auswählen

#!/usr/bin/env python

import binascii
import base64 
from Crypto.Cipher import AES
import sys
import cgi


# 8C 35 19 2D 96 4D C3 18 2C 6F 84 F3 25 22 39 EB 4A 32 0D 25

infile = sys.argv[1]
Key = binascii.unhexlify('8C35192D964DC3182C6F84F3252239EB4A320D2500000000')

IV = binascii.unhexlify('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF')
IV_Cipher = AES.new(Key,AES.MODE_ECB)
IV = IV_Cipher.encrypt(IV)

obj = AES.new(Key,AES.MODE_CFB,IV)

rsdf = open(infile,'r')

data = rsdf.read()
data = binascii.unhexlify(''.join(data.split()))
data = data.splitlines()


for link in data:
    link = base64.b64decode(link)
    link = obj.decrypt(link)
    print link.replace('CCF: ','')

rsdf.close()
Wenn ich diese in der Eingabeaufforderung ausfuehre mit "decode.py dateiname.rsdf" liest mit die decode.py saemtliche in der .rsdf-Datei verschluesselten Links aus.
Wie kann ich diese Ausgabe zusaetzlich noch in eine .txt-Datei schreiben? Vorzugsweise in eine, die automatisch so heißt wie die rsdf-Datei?

Wuerde mich um eine Antwort freun :).


Mit freundlichen Grueßen,
Scry
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Mittwoch 14. Mai 2008, 17:01

welches modul ist dies?

"Crypto.Cipher"
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 17:17

sorgenlos hat geschrieben:welches modul ist dies?

"Crypto.Cipher"
PyCrypto muss das sein - habe neben dem normalen Python-Interpreter nur das zusaetzlich integriert, weil dieses Scipt sonst nicht funktioniert ^^.


MfG,
Scry
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mittwoch 14. Mai 2008, 17:33

Naja, Du musst doch nur die "link"s in eine Datei schreiben?!? Wo liegt da genau Dein Problem?
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 17:45

Hyperion hat geschrieben:Naja, Du musst doch nur die "link"s in eine Datei schreiben?!? Wo liegt da genau Dein Problem?
Und wie mache ich das?
datei = file("datei.txt", "w")
datei.write("link")
usw.
geht ja so nicht, da dann lediglich der Text in der Klammer in die Datei geschrieben wird.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Mittwoch 14. Mai 2008, 17:57

So sollte es gehen (ungetestet):

Code: Alles auswählen

txtfile = open(infile.replace('.rsdf','.txt'),'w')
for link in data:
    link = base64.b64decode(link)
    link = obj.decrypt(link)
    s = link.replace('CCF: ','') 
    print s
    txtfile.write(s+'\n')
txtfile.close()
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 18:03

lol danke dir, klappt wunderbar. :)
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 18:43

Ein Fehler tritt in der Ausgabe (Print und .txt) auf merke ich gerade, wenn ich deinen Code im Source habe - und zwar wird immer die erste Adresse nicht korrekt ausgegeben. Wie z.B.:
ÿÏÎ!6h£ ý³¨pý%àµdresse.com/files/72517911/CCTFD.part01.rar
http://webadresse.com/files/72521292/CCTFD.part02.rar
http://webadresse.com/files/72524682/CCTFD.part03.rar
http://webadresse.com/files/72527806/CCTFD.part04.rar
http://webadresse.com/files/72530889/CCTFD.part05.rar
http://webadresse.com/files/72533811/CCTFD.part06.rar
http://webadresse.com/files/72536577/CCTFD.part07.rar
http://webadresse.com/files/72539217/CCTFD.part08.rar

Ohne die Ausgabe ins Textfile zu schreiben wird die erste Adresse immer richtig dargestellt. Woran liegt das?
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Mittwoch 14. Mai 2008, 20:30

da versucht jemand rslinks aus rsdfs mit python zu decodieren... interessant
lunar

Mittwoch 14. Mai 2008, 21:23

``decode dateiname.rsdf > ausgabe.txt``?

Die Windows-Konsole kann doch unmöglich so beschränkt sein, dass es keine Ausgabeumleitungen gibt?
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 21:49

Ist aber wohl so *g*.
Kann man das irgendwie umgehen, sodass in die Textdatei letzten endes jede URL, einschließlich eben auch der ersten, korrekt eingeschrieben werden?

Achja, noch eine Frage nebenbei, wo ich gerade hier bin:
Beim oben vorgestellten Source - wie muss ich das machen, dass ich in der Eingabeaufforderung nicht "decode.py dateiname.rsdf" machen muss sondern nur decode.py ausfuehren muss und dann aufgefordert werde, den Namen der .rsdf-Datei zu schreiben?

Irgendwas mit eingabe = input("Gebe einen Container an: ") oder so und so weiter - aber habe keine Ahnung wie das genau geht ^^.
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Mittwoch 14. Mai 2008, 21:51

ich könnte dir ne gui dafür schreiben...
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Mittwoch 14. Mai 2008, 21:59

lunar hat geschrieben:``decode dateiname.rsdf > ausgabe.txt``?

Die Windows-Konsole kann doch unmöglich so beschränkt sein, dass es keine Ausgabeumleitungen gibt?
Hat sie, kann sie. Sie kann zwar wenig...aber Pipes und Ausgaben sind noch dabei.
Scrypton
User
Beiträge: 10
Registriert: Mittwoch 14. Mai 2008, 16:35

Mittwoch 14. Mai 2008, 22:12

sorgenlos hat geschrieben:ich könnte dir ne gui dafür schreiben...
o.O, hui - das waer wirklich super lieb von dir.
Was wuerdest du denn dafuer verlangen?
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Mittwoch 14. Mai 2008, 22:26

hehe nix :D wir sind doch alle ein bischen python :D

edit: schick mir per pm die aktuelle source
Antworten