Forum Clubic

Visual Basic 2008 Keylogger

Donc, j’aimerais que le keylogger ‘‘voit’’ seulement ce qui est écrit dans ma textbox et qu’il l’enregistre dans un .txt

J’ai fais plusieurs recherches via google, et la seule chose que je trouve c’est comment faire des keylogger et cela ne m’aide pas vraiment puisque c’est ce qui est écrit sur l’ordinateur en général qui est vu et que c’est dans la form de Visual Basique que ça y est enregistré.

Je débute avec Visual Basic, mais j’apprend assez rapidement avec, a force de chercher sur le web et d’essayer au pif. Donc si vous avez un quelconque tutorial qui pourrait m’aider ce serait apprécié.

Merci de votre aide, s’il y a des questions, posez les, j’y répondrais avec plaisir et dans la mesure de mes connaissances.

(Ce keylogger est a but éducatif et non pour pirater quoi que ce soit.)

Si j’ai bien compris ce que tu veux faire, tu peux définir l’évènement “OnKeyPress” de ta textbox et y ajouter ce code :


    Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        System.IO.File.AppendAllText("C:\log.txt", e.KeyChar())
    End Sub

Edité le 19/01/2010 à 13:06

En fait déjà ça fait le bon truc, mais je voudrais qu’il l’enregistre quand on click le bouton et pas avant donc si on efface et qu’on réécrit, on voit pas ce qui a été écrit tant que le bouton n’est pas clické. (désolé j’avais pas spécifié)
Edité le 20/01/2010 à 04:04

C’est encore plus simple alors. Tu définis l’évènement Click de ton bouton, tu récupères le contenu de “taTextBox.Text”, et tu l’enregistres dans le fichier.
Edité le 20/01/2010 à 07:53

Ouais enfin puisqu’il est à but éducatif, tu devrais pouvoir te débrouiller avec ce que t’a fournit kookiz33.

Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.Click
System.IO.File.AppendAllText(“C:\log.txt”, e.KeyChar())

End Sub

Voilà ce que j’ai écrit, mais maintenant, j’ai une erreur d’exception :

L’exception System.InvalidCastException n’a pas été gérée
Message=“Unable to cast object of type ‘System.Windows.Forms.MouseEventArgs’ to type ‘System.Windows.Forms.KeyPressEventArgs’.”
Source=“Trainer”
StackTrace:
at Trainer.Form1._Lambda$__1(Object a0, EventArgs a1) in C:\Documents and Settings\Simon\My Documents\Trainer\Trainer\Form1.Designer.vb:line 0
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
at Trainer.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
at System.Activator.CreateInstance(ActivationContext activationContext)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:

TaTextBox.Text j’ai dit, pas e.KeyChar() :smiley:

Et pour définir l’évènement (en supposant que tu utilises Visual Studio), utilise l’éditeur graphique, clique sur ton contrôle (le bouton en l’occurrence), va dans la fenêtre de propriétés (touche F4), clic sur le symbole en forme d’éclair, cherche l’évènement que tu veux, et double clic dessus. Il va te définir l’évènement automatiquement avec les paramètres qui conviennent :slight_smile: