All Projects → SkrewEverything → Swift Keylogger

SkrewEverything / Swift Keylogger

Licence: mit
Keylogger for mac written in Swift using HID

Programming Languages

swift
15916 projects
swift4
162 projects
hack
652 projects

Projects that are alternatives of or similar to Swift Keylogger

Awesome Mac
 Now we have become very big, Different from the original idea. Collect premium software in various categories.
Stars: ✭ 46,674 (+4590.85%)
Mutual labels:  apple, mac, mac-osx
Wifipassword Stealer
Get All Registered Wifi Passwords from Target Computer.
Stars: ✭ 97 (-90.25%)
Mutual labels:  hacking, hacking-tool, keylogger
Keylogger
Get Keyboard,Mouse,ScreenShot,Microphone Inputs from Target Computer and Send to your Mail.
Stars: ✭ 604 (-39.3%)
Mutual labels:  hacking, hacking-tool, keylogger
Keylogger
A simple keylogger for Windows, Linux and Mac
Stars: ✭ 1,007 (+1.21%)
Mutual labels:  mac, hacking, keylogger
Paradoxiarat
ParadoxiaRat : Native Windows Remote access Tool.
Stars: ✭ 395 (-60.3%)
Mutual labels:  hacking, hacking-tool, keylogger
Saint
👁 (s)AINT is a Spyware Generator for Windows systems written in Java. [Discontinued]
Stars: ✭ 522 (-47.54%)
Mutual labels:  hacking, hacking-tool, keylogger
Macvars
command library for scripting osx
Stars: ✭ 34 (-96.58%)
Mutual labels:  apple, mac, mac-osx
Interlace
Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.
Stars: ✭ 760 (-23.62%)
Mutual labels:  hacking, hacking-tool
Vhostscan
A virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, work around wildcards, aliases and dynamic default pages.
Stars: ✭ 767 (-22.91%)
Mutual labels:  hacking, hacking-tool
Swiftui
A collaborative list of awesome SwiftUI resources. Feel free to contribute!
Stars: ✭ 774 (-22.21%)
Mutual labels:  apple, mac
Mac Setup
Installing Development environment on macOS
Stars: ✭ 6,510 (+554.27%)
Mutual labels:  mac, mac-osx
Redteamtools
记录自己编写、修改的部分工具
Stars: ✭ 752 (-24.42%)
Mutual labels:  hacking, hacking-tool
Diamorphine
LKM rootkit for Linux Kernels 2.6.x/3.x/4.x/5.x (x86/x86_64 and ARM64)
Stars: ✭ 725 (-27.14%)
Mutual labels:  hacking, hacking-tool
Evillimiter
Tool that monitors, analyzes and limits the bandwidth of devices on the local network without administrative access.
Stars: ✭ 764 (-23.22%)
Mutual labels:  hacking, hacking-tool
Macapps
个人收集的一些mac使用的不易找到的app,不断更新中。
Stars: ✭ 726 (-27.04%)
Mutual labels:  apple, mac
Trape
People tracker on the Internet: OSINT analysis and research tool by Jose Pino
Stars: ✭ 6,753 (+578.69%)
Mutual labels:  hacking, hacking-tool
Rome
Carthage cache for S3, Minio, Ceph, Google Storage, Artifactory and many others
Stars: ✭ 724 (-27.24%)
Mutual labels:  apple, mac
Dumpsterfire
"Security Incidents In A Box!" A modular, menu-driven, cross-platform tool for building customized, time-delayed, distributed security events. Easily create custom event chains for Blue- & Red Team drills and sensor / alert mapping. Red Teams can create decoy incidents, distractions, and lures to support and scale their operations. Build event sequences ("narratives") to simulate realistic scenarios and generate corresponding network and filesystem artifacts.
Stars: ✭ 775 (-22.11%)
Mutual labels:  hacking, hacking-tool
Badusb botnet
👥😈 Infect a pc with badusb and establish a connection through telegram.
Stars: ✭ 32 (-96.78%)
Mutual labels:  hacking, keylogger
Shuffle
WebShell Backdoor Framework
Stars: ✭ 11 (-98.89%)
Mutual labels:  hacking, hacking-tool

macOS Swift-Keylogger

Backers on Open Collective Sponsors on Open Collective Swift 4.0

It is a simple and easy to use keylogger for macOS. It is not meant to be malicious. There are only few keyloggers available for Mac and none of them are in Swift.

Another problem is with Apple high-level APIs. I don't know the reason but Apple suddenly deprecates and removes the documentation of APIs from its website.

So, I don't want to keep checking about the availability of their APIs and changing my code frequently. That is the reason I went for low-level API which is using HID API.

Most of the keyloggers available only log keystrokes into a file without much information about on which app the keystrokes are generated.

Usage

Clone the repository and open the project in Xcode and build the project and run the executable.

To run it in the background

To be able to close the Terminal when Keylogger is running, use this command while running the executable.

$ nohup ./Keylogger &

And you can quit the Terminal.

To quit/stop the Keylogger

To quit the Keylogger, first, find its PID using ps and use kill to stop the keylogger.

$ ps -e | grep "Keylogger"
$ kill -9 pid_of_keylogger_from_above_command

When it's run, it creates folder Data

|--Keylogger
|--Data
    |--App
    |--Devices
    |--Key

Key folder stores all the keystrokes according to application. App folder stores all the timestamps of applications being active. Devices folder stores the information about the connected keyboards.

By default, it creates a folder where the executable is present. To change the path edit bundlePathURL in Keylogger.swift

All the data is grouped according to day in each folder.

Integrating Swift-Keylogger with Cocoa App

There are 2 ways:

  1. Using the executable(By using Process to call the external binaries from Cocoa App).
  2. Using source code in your App without the need for external binary

Using executable

NOTE: The documentation of Apple has been constantly changing since the release of Swift. So, I just wanted to give the basic idea of this method without providing the code to avoid updating this part of the code frequently.

  1. Clone it and build the project by yourself or download the already built binary from the releases page.
  2. Use Process to run the external binary from your app.
  3. NOTE: Don't use waitUntilExit() or similar methods which can block the execution of the main UI to run the keylogger!

Using Source code

1. Add Keylogger.swift and CallBackFunctions.swift files to your project.

2. Initialize the Keylogger as a static variable and use start() and stop() to start and stop the keylogger.

Example of ViewController.swift

import Cocoa


class ViewController: NSViewController {

    // Initialize the Keylogger
    static var k = Keylogger()

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override var representedObject: Any? {
        didSet {
        // Update the view, if already loaded.
        }
    }

    // A button to start the keylogger
    @IBAction func start(_ sender: Any) {
        ViewController.k.start()
    }
    
    // A button to stop the keylogger
    @IBAction func stop(_ sender: Any) {
        ViewController.k.stop()
    }
}

3. Now, to run it without any problems, turn off the APP SANDBOX. If you want to use APP SANDBOX, then add the following to your entitlements:

com.apple.security.device.usb = YES

Disclaimer

If the use of this product causes the death of your firstborn or anyone, I'm not responsible ( no warranty, no liability, etc.)

For technical people: It is only for educational purpose.

Note: This keylogger doesn't capture secure input fields like passwords due to EnableSecureEventInput

Contributing

Feel free to fork the project and submit a pull request with your changes!

License

MIT

Free Software, Hell Yeah!

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].