Yesterday I wrote about me working on a keylogger in Go. I published it on github.com as a module you can import in your application.
The reason I created this keylogger is because I couldn't find one that didn't hard-code the keyboard layout. All the other keyloggers I could find limit their characters to A-Za-z0-9 because of their hard-coded keymap, and they fail to recognize any special characters like $^£¨ø.
My keylogger design is flawed as well, but not on the key parsing design. Like most other keyloggers, I use the GetAsyncKeyState Windows user32.dll method to query the state of the keyboard every few milliseconds. This isn't the best option performance-wise because Windows exposes hooks for the keyboard, but it is easier to build.
You know, in my last post I said I was going to install Solus on my computer, getting rid of Windows. I ended up not installing Solus but installing Kubuntu instead. Don't get me wrong, Solus is amazing, but it lacks some packages and personalisation through the system settings.
I'm now running a full disk-encrypted setup, including all non-primary hard drives I have in my computer. A VPN is yet to come.
Having setup all that, I can now get to why I did all that: because I'm a programmer and Windows gets old really fast. I'm now working on a PoC virus written in Go, made to report to a CoC server (hopefully over the Tor network). I'll open-source it if it gets anywhere, and do some write-ups.