So what we need to do is add spaces, and a hell lot of em. If we finished up now our logs would be one big pile of letters, pretty much unreadable. To start writing to a timer either choose "timer1" in the scrollbar in the top-left corner ofthe source page, or double-click the timer icon on the form design Do this again and again with all keys from a-z, and numbers 0-9 (also in numpad) Now it records letters and numbers, not bad, but we are far from done yet. you can change the interval in the properties of the timer If you have less interval, it might double record the keystroke, if you have more, it might miss it. You must change the interval from 0 to 50-150, else it will not work.
Which means that the code is executed 8 times a second. I find that it works best when the interval is set to around 125. Code 65-90 is a-z To check if a key is pressed more than one time we put the code in a timer. So that if "a" key is pressed an "a" is added to our label. If GetAsyncKeyState(65) 0 then label1.caption = label1.caption + "a" end if
Now a full example of the letter "a" would be this: There are many ways to do so, i will be using a label.
Now that we know how to check for a keypress we want it to write it down somewheres temporary. You can decide yourself what you want to do.I will show you the easy method too later on tho. But i want it done properly so I am going to check One key at a time. But it appears that doing it causes alot of weird symbols and capital letters only. Now, theres an easy way of checking all of the keys at the same time. (1 and 2 being mouse buttons)įull list of Ke圜ode values Thats alot of keycode. Now you might be wondering what the "number" means, actually, the number we type here is a keyboard key, you see, every key has a number (Ke圜ode), from around 1 to 200. To find out what key is pressed we need to use getasynckeystate as so: With this code placed we can start using GetAsyncKeyState commands. ^ tells what Lib we need for GetAsyncKeyState. We will be using GetAsyncKeyState, which checks if a key is being pressed when executedīut before we can start using GetAsyncKeyState we must declare it in the general section There are 2 effective methods to keylog with VB6 General section can be found by using (General) in the top left scrollbar Now lets go to the General Section of our source and declare some API functions in order to start writing. Which means that if its already running and opened again, it will not start another keylogger (2 keyloggers running would cause errors), and it will not show in the taskmanagers Program list (but still in process list) Go back to the source and write the following in the "Form_Load" sub This should make it invisible from the user. Set the form name to a few random letters (title doesnt matter) Go back to the design and set properties for the form Reading this guide its not "Necessary" to have vb6 knowledge (highly recommended)ĭouble-click your form (design) and you see the source of our keylogger, almost empty at this point. If you do not know/have this, dont leave just yet. In this guide we will be using Microsoft Visual Basic 6.0 (vb6 for short) Setting it up to be un-suspicious and trustworthyīefore we begin I want to point out that this keylogger is NOT perfect.It will be unable to recordsome symbols It will occasionally rearrange a letter with one another if the user types fast But the passwords should easily get through. You will be able to keylog just about anyone.ġ Writing your own undetectable keyloggerĢ. After this tutorial you will be able to Make and Use a keylogger that is close to fully undetectable, without the victim getting suspicious.