Code Monkey home page Code Monkey logo

blemon's Introduction

blemon

Universal BLE Monitoring with Frida (or Objection)

The standalone script can be used directly with Frida in order to monitor basic BLE traffic between a mobile device (central) and a BLE peripheral. Characteristic reads, writes and notifications are supported for both Android and iOS.

Screenshots

android_plugin BLE Monitor script being run on Android as an Objection Plugin while monitoring a BLE enabled garage door opener app.

ios_frida BLE Monitor script being run directly in Frida on iOS while monitoring a BLE enabled padlock app.

Features

  • Automatically detects target operating system (iOS or Android) and runs appropriate hooks
  • Designed to be universal so that BLE events can be monitored regardless of the application code
  • Monitors characteristic reads, writes and notifications
  • Colorized output and chararcteristic UUID tagging for easier event monitoring
  • Data is always displayed in hexadecimal format to support binary payloads

How it Works

Once loaded, the script will automatically detect which operating system it is running in and perform the relevant hooks. For Android, this is done by hooking any overriden instance methods of the android.bluetooth.BluetoothGattCallback class. On iOS, the script will attach to the writeValue method of any instances of the CBPeripheral class as well as the value property of any CBCharacteristic class instances. These two hooking strategies should allow the script to work regardless of any custom code or BLE wrappers being used.

Objection plugin

This repository also contains an Objection plugin folder which uses a slightly modifed version of the same script. Ensure you have the __init__.py and script.js files inside a plugin folder of your choice. After using either the REPL plugin command or specifying the plugin folder from the command line, the plugin can then be activated using:

plugin ble monitor

blemon's People

Contributors

roadfork avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.