Code Monkey home page Code Monkey logo

dronextract's Introduction

DroneXtract logo

About

DroneXtract is a comprehensive digital forensics suite for DJI drones made with Golang. It can be used to analyze drone sensor values and telemetry data, visualize drone flight maps, audit for criminal activity, and extract pertinent data within multiple file formats.

Preview

DroneXtract logo

Features

DroneXtract features four main suites for drone forensics and auditing. They include the following:

DJI File Parsing

You can visualize and extract information from DJI file formats such as CSV, KML, and GPX using the parsing tool. The parsed information can be saved into an alternative file format when inputted an output file path. The image below includes an example of a parsed file output and the type of data extracted from the file.

DroneXtract logo

Steganography

Steganography refers to the process of revealing information stored within files. The DroneXtract steganography suite allows you to extract telemetry and valuable data from image and video formats. Additionally, the extracted data can be exported to four different file formats.

DroneXtract logo

Telemetry Visualization

The telemetry visualization suite contains a flight path mapping generator and a telemetry graph visualizer. The flight path mapping generator creates an image of a map indicating the locations the drone traveled to enroute and the path it took. The telemetry graph visualizer plots a graph for each of the relevant telemetry or sensor values to be used for auditing purposes.

DroneXtract logo

Flight and Integrity Analysis

The flight and integrity analysis tool iterates through all the telemetry values the drone logged during its flight. Once the values are collected, it calculates the maximum variance assumed by the value and checks for suspicious data gaps. This tool can be used to check for anomalous data or any file corruption that may have taken place.

DroneXtract logo

Usage

To build from source, you will need Go installed.

$ export GO111MODULE=on
$ go get ./...
$ go run main.go

Airdata Usage

In order to parse out DJI flight .TXT logs, please use Airdata's Flight Data Analysis tool.

  • Airdata CSV output file can be used for the CSV parser, flight path map, and telemetry visualizations
  • Airdata KML output file can be used for the KML parser
  • Airdata GPX output file can be used for GPX parser

Configuration

There are a set of environment variables utilized in DroneXtract. In order to tailor the values to your specific drone / investigation scenario, you can go to the .env file and adjust the following values:

TELEMETRY_VIS_DOWNSAMPLE downsampling number for values to be used for telemetry visualization

FLIGHT_MAP_DOWNSAMPLE downsampling number for values to be used for flight path mapping

ANALYSIS_DOWNSAMPLE downsampling number for values to be used for integrity analysis

ANALYSIS_MAX_VARIANCE maximum variance allowed between max and min value for analysis values

Learning and Resources

To learn more about DJI drone digital forensics and the features of DroneXtract, refer to this article.

Contributing

DroneXtract is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to be implemented.

Testing

DroneXtract contains testing files for all four suites. An example command set for testing the steganography suite

$ cd steganography
$ go test

Example files for testing are included in the test-data directory. If a specific test case includes an output such as a file or image, it will be stored within the output directory. There are already some files contained in the output for reference purposes.

Upcoming

  • DUML parser for firmware integrity checking
  • DJI Flight Log TXT parsing for the parsing suite
  • GEOJSON parsing output for SRT files in the steganography suite

Support

If you enjoyed DroneXtract, please consider becoming a sponsor in order to fund my future projects.

To check out my other works, visit my GitHub profile.

dronextract's People

Contributors

ang13t 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.