Seite 1 von 2

Tastendruck (wirklich) simulieren?

Verfasst: 09.02.2010 15:18
von Sauer-RAM
Hi,
Mich regt es ziemlich auf, dass ich mich immer wenn ich mich in Foren und so anmelde, mein Passwort und den Namen eingeben muss. Ich traue aber den Passwortabspeicherprogrammen von Mozilla und Internetexplorer nicht, und will ein Programm schreiben, das Tastendrücke simuliert. Ich hab schon in der Hilfe gesucht, aber das Tastendrücke simulieren, simuliert ja nur für meine eigene Anwendung. Ich will aber in ein anderes Fenster schreiben. Ich hoffe ihr könnt mir sagen wie das geht.

Danke schonmal

Re: Tastendruck (wirklich) simulieren?

Verfasst: 09.02.2010 15:31
von STARGÅTE
Hab ich aus dem CodeArchiv:

Code: Alles auswählen

; German forum:
; Author: Danilo
; Date: 07. April 2003


; Posted 07 April 2003 by Danilo on german forum

;SendKeys(handel,Window$,Keys$) 

;Handel ......... ist ein Handel zu einen Fenster bekommst du wenn du das Fenster erzeugst. 
;Window$ ........ Ist der Name des Fesnters, wenn du den Handel nicht kennst. In dem Fall gibt man dan Handel = 0 an. 
;Keys$ .......... Sind die Tasten die du schicken möchtest, wobei du Sondertasten in {} Einschliest (zb. {CONTROLDOWN}) 

; SendKeys procedure by PB -- do whatever you want with it. :) 
; Syntax: r=SendKeys(handle,window$,keys$) ; r = 0 for failure. 
; Specify either a handle or window$ title to type to, but not both! 
; You cannot type curly braces { } as part of the keystrokes, sorry! 
; 
Procedure SendKeys(handle,window$,keys$) 
If window$<>"" : handle=FindWindow_(0,window$) : EndIf ; Use window$ instead of handle. 
   If IsWindow_(handle)=0 ; Does the target window actually exist? 
      ProcedureReturn 0 ; Nope, so report 0 for failure to type. 
   Else 
   ; This block gives the target window the focus before typing. 
   thread1=GetWindowThreadProcessId_(GetForegroundWindow_(),0) 
   thread2=GetWindowThreadProcessId_(handle,0) 
   If thread1<>thread2 : AttachThreadInput_(thread1,thread2,#True) : EndIf 
      SetForegroundWindow_(handle) ; Target window now has the focus for typing. 
      Delay(125) ; 1/8 second pause before typing, to prevent fast CPU problems. 
      ; Now the actual typing starts. 
      For r=1 To Len(keys$) 
          vk$=Mid(keys$,r,1) 
          If vk$="{" ; Special key found. 
             s=FindString(keys$,"}",r+1)-(r+1) ; Get length of special key. 
             s$=Mid(keys$,r+1,s) ; Get special key name. 
             Select s$ ; Get virtual key code of special key. 
                Case "ALTDOWN" : keybd_event_(#VK_MENU,0,0,0) ; Hold ALT down. 
                Case "ALTUP" : keybd_event_(#VK_MENU,0,#KEYEVENTF_KEYUP,0) ; Release ALT. 
                Case "BACKSPACE" : vk=#VK_BACK 
                Case "CONTROLDOWN" : keybd_event_(#VK_CONTROL,0,0,0) ; Hold CONTROL down. 
                Case "CONTROLUP" : keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0) ; Release CONTROL. 
                Case "DELETE" : vk=#VK_DELETE 
                Case "DOWN" : vk=#VK_DOWN 
                Case "END" : vk=#VK_END 
                Case "ENTER" : vk=#VK_RETURN 
                Case "T" : vk=#VK_T 
                Case "A" : vk=#VK_A 
                Case "D" : vk=#VK_D 
                Case "X" : vk=#VK_X 
                Case "V" : vk=#VK_V 
                Case "F1" : vk=#VK_F1 
                Case "F2" : vk=#VK_F2 
                Case "F3" : vk=#VK_F3 
                Case "F4" : vk=#VK_F4 
                Case "F5" : vk=#VK_F5 
                Case "F6" : vk=#VK_F6 
                Case "F7" : vk=#VK_F7 
                Case "F8" : vk=#VK_F8 
                Case "F9" : vk=#VK_F9 
                Case "F10" : vk=#VK_F10 
                Case "F11" : vk=#VK_F11 
                Case "F12" : vk=#VK_F12 
                Case "ESCAPE" : vk=#VK_ESCAPE 
                Case "HOME" : vk=#VK_HOME 
                Case "INSERT" : vk=#VK_INSERT 
                Case "LEFT" : vk=#VK_LEFT 
                Case "PAGEDOWN" : vk=#VK_NEXT 
                Case "PAGEUP" : vk=#VK_PRIOR 
                Case "PRINTSCREEN" : vk=#VK_SNAPSHOT 
                Case "RETURN" : vk=#VK_RETURN 
                Case "RIGHT" : vk=#VK_RIGHT 
                Case "SHIFTDOWN" : shifted=1 : keybd_event_(#VK_SHIFT,0,0,0) ; Hold SHIFT down. 
                Case "SHIFTUP" : shifted=0 : keybd_event_(#VK_SHIFT,0,#KEYEVENTF_KEYUP,0) ; Release SHIFT. 
                Case "TAB" : vk=#VK_TAB 
                Case "UP" : vk=#VK_UP 
             EndSelect 
             If Left(s$,3)<>"ALT" And Left(s$,7)<>"CONTROL" And Left(s$,5)<>"SHIFT" 
                keybd_event_(vk,0,0,0) : keybd_event_(vk,0,#KEYEVENTF_KEYUP,0) ; Press the special key. 
             EndIf 
             r=r+s+1 ; Continue getting the keystrokes that follow the special key. 
          Else 
             vk=VkKeyScanEx_(Asc(vk$),GetKeyboardLayout_(0)) ; Normal key found. 
             If vk>304 And shifted=0 : keybd_event_(#VK_SHIFT,0,0,0) : EndIf ; Due to shifted character. 
             keybd_event_(vk,0,0,0) : keybd_event_(vk,0,#KEYEVENTF_KEYUP,0) ; Press the normal key. 
             If vk>304 And shifted=0 : keybd_event_(#VK_SHIFT,0,#KEYEVENTF_KEYUP,0) : EndIf ; Due to shifted character. 
          EndIf 
      Next 
      If thread1<>thread2 : AttachThreadInput_(thread1,thread2,#False) : EndIf ; Finished typing to target window! 
      keybd_event_(#VK_MENU,0,#KEYEVENTF_KEYUP,0) ; Release ALT key if user forgot. 
      keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0) ; Release CONTROL key if user forgot. 
      keybd_event_(#VK_SHIFT,0,#KEYEVENTF_KEYUP,0) ; Release SHIFT key if user forgot. 
      ProcedureReturn 1 ; Report successful typing! :) 
   EndIf 
EndProcedure 
Beispiel wäre:

Code: Alles auswählen

w$="PureBoard • Antwort erstellen - Microsoft Internet Explorer" ; Specifies target window name. 

 Delay(2000) : SendKeys(0,w$,"Das Fenster muss den Focus haben") 
 Delay(20) : SendKeys(0,w$,"{RETURN}") 
 Delay(50) : SendKeys(0,w$,"Dann erscheind dieser Text darin") 

Re: Tastendruck (wirklich) simulieren?

Verfasst: 10.02.2010 19:04
von Max_der_Held
hey, wow thx STARGÅTE :)
danach hab ich schon ewig gesucht^^

Re: Tastendruck (wirklich) simulieren?

Verfasst: 11.02.2010 10:46
von Sauer-RAM
Danke Stargate. :allright: genau das was ich brauche.

Re: Tastendruck (wirklich) simulieren?

Verfasst: 11.02.2010 23:21
von bobobo
nein .. genau das brauchst du nicht !!!

zumindest nicht, wenn du die sicherheit bei der eingabe erhöhen willst.

ein keylogger lauscht genau dort wo auch das programm tasten drückt.
und genau das wird durch die browserinternen lösungen ja vermieden
und genau das erhöht die abhörsicherheit.
Das die passwörter im browser irgendwo gespeichert sind (kann man
überlicherweise verschlüsselt ablegen mit masterpasswort und allem schnick)
ist halt so.

Re: Tastendruck (wirklich) simulieren?

Verfasst: 11.02.2010 23:24
von Kaeru Gaman
stimmt auffallend Bild

Re: Tastendruck (wirklich) simulieren?

Verfasst: 12.02.2010 00:49
von Max_der_Held
naja, dann evtl per php? mit diesen ?password=hans?benutzer=sepp oder so ählich (hab das so nie benutzt^^ :) )
dann müsste er nirgends mehr irgendwas eingeben .. :)

Re: Tastendruck (wirklich) simulieren?

Verfasst: 13.02.2010 14:57
von Sauer-RAM
Ach was will ein Hacker denn mit meinem Schülerverzeichnispasswort :mrgreen: ? So viel kann der da ja nicht kaputtmachen.
Und ich wollte es eigentlich nicht vor nem Hacker schützen, sondern von meinen Eltern: Irgendwann kommt meine Mutter zu mir und fragt, ob es normal sei, dass sie meine PERSÖNLICHEN Nachrichten bei svz lesen kann. Ich hab mich tierisch aufgeregt. Ich hatte die funktion eingeloggt bleiben aktiviert, damit ich mich nicht immer neu eingloggen muss. aber meine neugierige Mutter....
Ich will ein Programm auf ein USB_Stick machen, und wenn ich es starte, gibt es mir mein Name und mein Passwort ein. fertig.

Edit: ach was noch wichtig wäre um den Text zu verstehen: meine Mutter hat zu Weihnachten ein Netbook bekommen und ich brauche es um ins Internet zu kommen. Da mir meine SUPERSCHLAUEN :? >_< Eltern Internetzugang auf meinem eigenen Rechner verbieten. (Keine Ahnung wie die auf die Schnapsidee gekommen sind) Und da ich da natürlich kein eigenes Benutzerkonto bekomme, könnte meine Mutter ja ohne Probleme an meinen Account, wenn ich Mozilla oder Windoow mein Passwort eingeben lasse.

Re: Tastendruck (wirklich) simulieren?

Verfasst: 13.02.2010 15:10
von Kiffi
Sauer-RAM hat geschrieben:Irgendwann kommt meine Mutter zu mir und fragt, ob es normal sei, dass sie meine PERSÖNLICHEN Nachrichten bei svz lesen kann. Ich hab mich tierisch aufgeregt.
genau dafür kann man auch in XP Benutzerkonten anlegen. Eins für Dich und je eins für Deine Eltern.

Grüße ... Kiffi

Re: Tastendruck (wirklich) simulieren?

Verfasst: 13.02.2010 15:11
von Sauer-RAM
Ja aber nicht auf MAMA's Netbook. Die reißt mir dann den Kopf ab...