CatchWord.dll

    • Beta

    Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von AliveDevil.

      CatchWord.dll

      Hallo,

      wie einige von euch vielleicht mitbekommen haben - fand ich die Idee von PowerProgger eine Kindersicherung zu programmieren ganz interessant.

      Also hab ich mich hingesetzt und einfach mal begonnen.
      Dies hier soll einen ersten Eindruck geben, was ich denn so vorhabe.

      Name: CatchWord.dll
      VB-Version: VB.NET
      Framework: 2
      Screenshots: keine da Dll
      Kompatibilität: Alle Windowsversionen die Framework 2 unterstützen

      Features:
      1. Überwachen der Tastatureingaben
      2. Überwachen der Browser (IE, Safari, Chrome und Firefox) - der Browser Opera wurden noch nicht implementiert
      3. Überwachen der Zwischenablage
      4. Mitschreiben der einzelnen Ereignisse
      5. Dokumentation (unvollständig - schlechtes Englisch)

      noch geplant:
      1. Opera einbinden
      2. Die wichtigsten Chat-Programme überwachen (eingehende Messages)
      3. Dokumentation fertigstellen

      Der Dll liegt eine Testanwendung bei, über die man die einzelnen Features steuern bzw. beobachten kann.
      Getestet hab ich die Dll auf meinem Entwicklungsrechner (Windows Vista)

      Da ich nur die aktuellsten Versionen der Browser installiert habe wäre folgendes interessant für mich

      1. Funktioniert auf euren Rechnern auch alles - besonders interessant sind Tests auf anderen Windows Versionen ?
      2. Funktioniert alles mit anderen - älteren - Browser-Versionen ?

      Habt Ihr irgendwelche Funktionswünsche ?
      Was müsste die Dll sonst noch so können ?

      Nochwas:
      Ich hab für diese Dll mal den Phönix Protector verwendet - was haltet ihr davon ?

      Nochwas2:
      Hab die Dll mal zeitlich begrenzt (31.8.2009)

      EDIT:
      Hier noch der Code der TestApp

      VB.NET-Quellcode

      1. Imports CatchWord
      2. Imports System.Text
      3. Imports System.Runtime.InteropServices
      4. Public Class Form1
      5. Private WithEvents c As New CatchWord.CatchWord
      6. Protected Overrides ReadOnly Property ShowWithoutActivation() As Boolean
      7. Get
      8. Return True
      9. End Get
      10. End Property
      11. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
      12. c.SaveLog()
      13. End Sub
      14. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      15. c.BadWords = New String() {"Arsch", "Bruha", "Depp", "Sexflatrate", "Penis", "Viagra"}
      16. Me.ListBoxBadWords.Items.AddRange(c.BadWords)
      17. Me.Text = "Test-Application designed for the catchword.dll"
      18. End Sub
      19. Private Sub c_BadWordFound(ByVal sender As Object, ByVal e As CatchWord.BadWordFoundEventArgs) Handles c.BadWordFound
      20. Me.BringToFront()
      21. MessageBox.Show(Me, "Ein Bad Word wurde gefunden: " & e.BadWordIn.ToString)
      22. End Sub
      23. Private Sub CheckBoxActivateKeyboard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxActivateKeyboard.CheckedChanged
      24. c.IsWatching(ICatchWord.Identifier.KeyBoardInput) = Me.CheckBoxActivateKeyboard.Checked
      25. End Sub
      26. Private Sub CheckBoxActivateWebBrowser_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxActivateWebBrowser.CheckedChanged
      27. c.IsWatching(ICatchWord.Identifier.Browser) = Me.CheckBoxActivateWebBrowser.Checked
      28. End Sub
      29. Private Sub CheckBoxClipboard_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxActivateClipboard.CheckedChanged
      30. c.IsWatching(ICatchWord.Identifier.Clipboard) = Me.CheckBoxActivateClipboard.Checked
      31. End Sub
      32. Private Sub c_LogInformationAdded(ByVal sender As Object, ByVal e As CatchWord.LogInformationAddedEventArgs) Handles c.LogInformationAdded
      33. Me.ListBoxLog.Items.Clear()
      34. Me.ListBoxLog.Items.AddRange(c.GetCurrentLog)
      35. End Sub
      36. Private Sub CheckBoxAllowLog_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxAllowLog.CheckedChanged
      37. c.IsLogging = Me.CheckBoxAllowLog.Checked
      38. End Sub
      39. Private Sub ButtonOpenLogFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOpenLogFolder.Click
      40. Dim psi As New ProcessStartInfo
      41. psi.Arguments = c.GetLogFolder
      42. psi.FileName = "Explorer.exe"
      43. Process.Start(psi)
      44. End Sub
      45. End Class


      Danke fürs Testen

      EDIT:
      10.August 2008
      • Update vom 10.August 2009 hochgeladen
      • Beitrag aktualisiert


      Gruss

      mikeb69
      Dateien
      • CatchWord.zip

        (32,82 kB, 277 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „mikeb69“ ()

      Hallo PowerProgger,

      zur Diskussion stehen hier nur die funktionellen Aspekte.
      In welche Dateiart ich dann das ganze packe ist allein meine Sache.

      Finde ich persönlich eleganter.

      Darüber könnte man streiten.
      Denn alles in die Form packen gilt - im Allgemeinen - als weniger Elegant.

      Aber gut - wem sag ich das.
      Du bist hier der Profi - ich mach das rein als Hobby.

      Gruss

      mikeb69
      Erst einmal
      Feature:
      2. Überwachen der Browser (IE, Safari und Chrome) - die Browser Firefox und Opera wurden noch nicht implementiert
      ...
      noch geplant:
      1. Die fehlenden Browser müssen noch unterstützt werden (Firefox und Chrome)
      ist mir als Kleinigkeit nebenbei aufgefallen.

      Was die DLL angeht muss ich in diesem Fall PowerProgger recht geben. Solche Sicherheits Tools sollten so kompakt wie möglich sein, möglichst Stand Alone. Ansonsten brauche ich nur die DLL zu löschen und das Programm funktioniert nicht mehr. Ich denke eine EXE lässt sich besser schützen als die DLL.

      Was mich zu dieser Library jedoch interessiert, jetzt wird ein Badword erkannt, es kommt die Messagebox und was passiert dann? Wird das Badword gecleared? Wenn ich z.B. bei der FireFox suche "Viagra" eingeben würde. Wird Copy & Paste auch analysiert?
      Meinst du mit Überwachung der Browser den Quelltext oder nur Browsereingaben?
      @mike69: es lässt sich der Code wieder sichtbar machen, nur ein problem dabei das die manchen variablen oder sogar vielen variablen name werden mit solchen zeichen versehen "7u?6" oder etc. Man kann trotzdem der Code sehen selbst wenn die meisten Variablen Namen unbekannt sind und stehen solchen namen "?87!uu!.


      PS: Mit Erlaubnis von mike69 habe ich DLL dekompiliert und hier ergebniss gepostet !

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Alex2000“ ()

      Hallo,

      nachdem ich einige Umbauten am Haus zu erledigen hatte.
      Gibt es erst heute ein neues Update.

      Viel getestet hab ich bisher nicht - also viele Fehler sind möglich.

      EDIT:
      Was mich zu dieser Library jedoch interessiert, jetzt wird ein Badword erkannt, es kommt die Messagebox und was passiert dann? Wird das Badword gecleared?

      Die Messagebox ist Teil der TestApp - Sie macht nur deutlich das ein Event (BadWordFound-Event) geraised wurde.
      Sollte aber alles aus dem Quellcode der Test-App hervorgehen.

      Gruss

      mikeb69

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mikeb69“ ()

      Hallo VCJunk,

      wird sie.
      Auf meiner Prio-Liste befindet sie sich aber etwas weiter hinten.

      Da bei uns in 2010 auch Kurzgerabeitet wird hab ich bald wieder genügend Zeit für meine Projekte.

      Gruss

      mikeb69
      Naja Kindersicherung gut
      Aber ich denke die meisten würden dass als eine Art Keylogger bzw. Überwachunsprogramm benutzen (das grenzt ja an der Stasi) xDD
      Spass bei seite hab noch ein Vorschlag
      du könntest eine Bildschirm Kontrolle (immer aktuelles Bildschirmbild anzeigen) Funktion mit einbauen, aber dies sollte dann über stream laufen damit es schnell ist.

      Ironie:
      Noch eine Funktion falls dass kind unerlaubte Seite navigiert PC aus dem Zimmer nehm Funktion :P
      Also ich hab "Penis" in firefox gesucht: Nix passiert
      hab "Penis" kopiert: Msgbox: "illegales wort: Penis gefunden"
      danach kam error:

      Brainfuck-Quellcode

      1. Informationen über das Aufrufen von JIT-Debuggen
      2. anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
      3. [spoiler]************** Ausnahmetext **************
      4. CatchWord.LicenceExpiredException: Eine Ausnahme vom Typ "CatchWord.LicenceExpiredException" wurde ausgelöst.
      5. bei CatchWord.CatchWord.CheckString(Object sender, CheckStringEventArgs e)
      6. bei CatchWord.ClassClipboard.WndProc(Message& m)
      7. bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      8. bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      9. ************** Geladene Assemblys **************
      10. mscorlib
      11. Assembly-Version: 2.0.0.0.
      12. Win32-Version: 2.0.50727.4963 (win7RTMGDR.050727-4900).
      13. CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll.
      14. ----------------------------------------
      15. PowerProgger
      16. Assembly-Version: 1.0.0.0.
      17. Win32-Version: 1.0.0.0.
      18. CodeBase: file:///C:/Users/JONIATOR/AppData/Local/Temp/Rar$EX41.752/PowerProgger.exe.
      19. ----------------------------------------
      20. Microsoft.VisualBasic
      21. Assembly-Version: 8.0.0.0.
      22. Win32-Version: 8.0.50727.4927 (NetFXspW7.050727-4900).
      23. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
      24. ----------------------------------------
      25. System
      26. Assembly-Version: 2.0.0.0.
      27. Win32-Version: 2.0.50727.4962 (win7RTMGDR.050727-4900).
      28. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
      29. ----------------------------------------
      30. System.Windows.Forms
      31. Assembly-Version: 2.0.0.0.
      32. Win32-Version: 2.0.50727.4961 (win7RTMGDR.050727-4900).
      33. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
      34. ----------------------------------------
      35. System.Drawing
      36. Assembly-Version: 2.0.0.0.
      37. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      38. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
      39. ----------------------------------------
      40. System.Runtime.Remoting
      41. Assembly-Version: 2.0.0.0.
      42. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      43. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
      44. ----------------------------------------
      45. CatchWord
      46. Assembly-Version: 1.0.0.1.
      47. Win32-Version: 1.0.0.1.
      48. CodeBase: file:///C:/Users/JONIATOR/AppData/Local/Temp/Rar$EX41.752/CatchWord.DLL.
      49. ----------------------------------------
      50. Accessibility
      51. Assembly-Version: 2.0.0.0.
      52. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      53. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.
      54. ----------------------------------------
      55. mscorlib.resources
      56. Assembly-Version: 2.0.0.0.
      57. Win32-Version: 2.0.50727.4963 (win7RTMGDR.050727-4900).
      58. CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll.
      59. ----------------------------------------
      60. System.resources
      61. Assembly-Version: 2.0.0.0.
      62. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      63. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.resources/2.0.0.0_de_b77a5c561934e089/System.resources.dll.
      64. ----------------------------------------
      65. System.Windows.Forms.resources
      66. Assembly-Version: 2.0.0.0.
      67. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
      68. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
      69. ----------------------------------------
      70. ************** JIT-Debuggen **************
      71. Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
      72. Konfigurationsdatei der Anwendung oder des Computers
      73. (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
      74. Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
      75. Zum Beispiel:
      76. <configuration>
      77. <system.windows.forms jitDebugging="true" />
      78. </configuration>
      79. Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
      80. Ausnahmen an den JIT-Debugger gesendet, der auf dem
      81. Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
      [/spoiler]

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „joniator11“ ()

      1. guck auf das Datum und lass die Toten in Ruhe ihren Frieden finden.
      2.:
      Nochwas2:
      Hab die Dll mal zeitlich begrenzt (31.8.2009)

      Wer lesen kann, ist deutlich im Vorteil.
      Da:
      CatchWord.LicenceExpiredException: Eine Ausnahme vom Typ "CatchWord.LicenceExpiredException" wurde ausgelöst.
      .
      Fehlermeldungen auswerten hat noch keinem geschadet.