Seite 1 von 1

Tasten in Datei speichern

Verfasst: 14.03.2008 15:24
von Fox
Hi Leute... Wir haben an unserer Schule n Netzwerk und hin und wieder werden sachen von schülern geändert und bei nachfrage war es natürlich niemand.... Ich habe meiner IT lehrerin angeboten eine Art Keylogger zu proggen. Nun hab ich aber schon mein erstes Problem
Die Tasten werden nicht in die Datei geschrieben...
Hier der Code... (hab ich zum größten Teil aus dem SourceArchiv)

Code: Alles auswählen

Enumeration 
  #Window_0 
EndEnumeration 

Enumeration 
  #String_0 
  #Text_0 
  #Text_1 
  #Text_2 
  #Text_3 
  #Text_4 
EndEnumeration 

Global OldCallback, key$, vk$ 
key$ = Space(255) 

Procedure String0_CallBack(hwnd, msg, wparam, lparam) 
  Select hwnd 
    Case GadgetID(#String_0) 
      gadID$ = "#String_0" 
      If wparam = #VK_TAB ; catch the tab key 
        GetKeyNameText_(lparam,key$,255) 
        SetGadgetText(#Text_2,  key$) 
        SetGadgetText(#Text_3, "") 
      EndIf 
  EndSelect 
  Select msg 
    Case #WM_KEYDOWN ; get the key pressed 
      GetKeyNameText_(lparam,key$,255) 
      SetGadgetText(#Text_2, key$) 
      SetGadgetText(#Text_3, "") 
    Case #WM_CHAR ; display valid charater 
      lShift = GetAsyncKeyState_(#VK_LSHIFT) 
      rShift = GetAsyncKeyState_(#VK_RSHIFT) 
      lCtrl = GetAsyncKeyState_(#VK_LCONTROL) 
      rCtrl = GetAsyncKeyState_(#VK_RCONTROL) 
      ;Debug rCtrl 
      If lShift < 0 
        vk$ = "Left Shift + " 
      ElseIf rShift < 0 
        vk$ = "Right Shift + " 
      ElseIf lCtrl < 0 
        vk$ = "Left Control + " 
      ElseIf rCtrl < 0 
        vk$ = "Right Control + " 
      Else 
        vk$ = "" 
      EndIf 
      SetGadgetText(#Text_2, vk$ + key$) 
      If wparam <> 38 And wparam > 26 
        SetGadgetText(#Text_3, Chr(wparam)) 
      ElseIf wparam = 38 
        SetGadgetText(#Text_3, "&" + Chr(wparam)) 
      EndIf 
    Case #WM_SYSCHAR 
      lAlt = GetAsyncKeyState_(#VK_LMENU) 
      rAlt = GetAsyncKeyState_(#VK_RMENU) 
      If lAlt <> 0 
        vk$ = "Left Alt + " 
      ElseIf rAlt <> 0 
        vk$ = "Right Alt + " 
      Else 
        vk$ = "" 
      EndIf 
      SetGadgetText(#Text_2, vk$ + key$) 
    Case #WM_SYSKEYDOWN ; catch the Alt keys 
      GetKeyNameText_(lparam,key$,255) 
      SetGadgetText(#Text_2, key$) 
      lrAlt$ = key$ 
  EndSelect 
  ProcedureReturn CallWindowProc_(OldCallback, hwnd, msg, wparam, lparam) 
EndProcedure 
If OpenWindow(#Window_0, 0, 0, 300, 150, "Spy Teacher", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar) 
  If CreateGadgetList(WindowID(#Window_0))
  HideWindow(#Window_0, 1)  
  CreateFile(0,"spyteacherlog.txt")
   WriteString(0,key$)
    TextGadget(#Text_0, 20, 60, 100, 20, "Gedrückte Taste", #PB_Text_Right) 
    TextGadget(#Text_1, 20, 90, 100, 20, "", #PB_Text_Right) 
    TextGadget(#Text_2, 130, 60, 100, 25, "") 
    TextGadget(#Text_3, 130, 90, 50, 25, "") 
    TextGadget(#Text_4, 130, 120, 50, 25, "") 
    StringGadget(#String_0, 20, 5, 260, 20, "") 
    SetActiveGadget(#String_0) 
    OldCallback = SetWindowLong_(GadgetID(#String_0), #GWL_WNDPROC, @String0_CallBack()) 
    SetWindowLong_(GadgetID(#String_0), #GWL_WNDPROC, @String0_CallBack()) 
  EndIf 
EndIf 
Quit = #False 
Repeat 
  event = WaitWindowEvent() 
  Select event 
    Case #PB_Event_CloseWindow 
      Quit = #True 
       CloseFile(0)
  EndSelect 
Until Quit 
End 

Verfasst: 14.03.2008 17:08
von gnasen
[OT]
Du willst also, dass man die einen Keylogger funktionsfähig macht... Also auf der rein ethischen Schiene habe ich da arge bedenken.

Könnte dein(e) Informatiklehrer(in) dies bei Bedarf nicht selber erledigen, bzw vorhandene Tools aus dem Internet benutzen?

Ich stehe sowas immer sehr zwiegespalten gegenüber
[/OT]


Ich beschäftige mich nicht soviel mit Callbacks, aber sollte eines nicht vollkommen ausreichen?

Verfasst: 14.03.2008 17:22
von Fluid Byte
Deine Lehrerin lässt dich Keylogger programmieren? Bild

Verfasst: 14.03.2008 18:03
von Kiffi
Fluid Byte hat geschrieben:Deine Lehrerin lässt dich Keylogger programmieren? Bild
die hat bestimmt keinen blassen Schimmer, was das ist, geschweige denn,
welche rechtlichen Fragen dadurch aufgeworfen werden.

@Fox: Keylogger = schlechte Idee. Mach Dich doch noch mal schlau, welche
Alternativen es gibt. Es gibt beispielsweise Systeme, die beim Booten den
Ursprungszustand des Rechners wiederherstellen. Damit biegt man jedes
noch so verhunzte System wieder grade.

Grüße ... Kiffi

Verfasst: 14.03.2008 19:54
von Fox
hi... danke für die antworten... Ich ha jetzt was gefunden was. Danke Kiffi... Es gibt da sons Self Healing system das per lan vom server bootet... Ich werd ihr das mal vorschlagen.
Danke euch :)
Fox