Giter VIP home page Giter VIP logo

snoopsnitch's Introduction

SnoopSnitch

This is the SnoopSnitch source repository. SnoopSnitch collects and analyzes mobile radio data to make you aware of your mobile network security and to warn you about threats like fake base stations (IMSI catchers), user tracking and over-the-air updates.

License

Copyright (C) 2014 - 2022 Security Research Labs

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See COPYING for details.

Resources

Building from source

SnoopSnitch - including helper binaries - is known to build sucessfully on Linux and OS X. When using the prebuilt helper binaries contained in the repository, the app may also build on Windows.

To build SnoopSnitch you need the Android SDK [1] for building the actual app and the Android NDK [2] (version 14.1) to build the native components like the Qualcomm DIAG wrapper or the GSM parser. Download SDK and NDK and install it somewhere in your file system. Set the environment variable NDK and SDK to the respective paths:

$ export ANDROID_HOME=<your_sdk_dir>
$ export NDK_DIR=<your_ndk_dir>

IMPORTANT NOTE: contrib/prebuilt/ contains binaries to allow e.g. windows users to build and deploy the SnoopSnitch app easily. However, you can rebuild everything contained in contrib/prebuilt - including the libasn1c and libosmocore projects we depend on - from source using the contrib/compile.sh script. The source of those projects is pulled in by the build scripts through sub-modules.

As SnoopSnitch ships with the prebuilt binaries, the following step is optional. To build the parser binary from source, first install:

$ sudo apt-get install default-jdk

In the SnoopSnitch source directory do the following (make sure you are using the version 14.1 of the NDK, as newer version of the NDK build tools are not supported yet):

$ cd contrib/
$ ./compile.sh -a -g -u

To build the app, in the SnoopSnitch source directory, run the gradle wrapper like this:

$ cd SnoopSnitch

If you want to build the Google Play version (which e.g. has a dependency to the Google SafetyNet API and the active mobile network security test feature is disabled due to Google Play sensitive permission policy changes) you need to run

$ ./gradlew assembleSafetynet

If you want to build the F-Droid or website version, which comes without the Google SafetyNet API dependency and comes with the active mobile network security test feature, then you need to run:

$ ./gradlew assembleNobuildcheck

gradlew build will not work anymore, as the sources for our internal testing build flavor stage are not included in the public git repository.

The compiled apk files can be found under: SnoopSnitch/app/build/outputs/apk/

Please consult the Android documentation on how to set up the tools and perform a release build.

[1] https://developer.android.com/sdk/

[2] https://developer.android.com/tools/sdk/ndk/

snoopsnitch's People

Contributors

1mansh0w avatar senier avatar stze avatar andfod avatar karsten-nohl avatar dola-shuvi 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.