Skip to content
Using deep learning to trace system calls in an android device and use the system calls on different deep learning models to detect benign and malicious apks.
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Resources
Sample
Screenshots
Files.md
README.md
ROC-Graph.png
ROC-prob2.png
ROC.png
apks
benign-features-ranks
benign-vectors.csv
bitstring.py
col2
columns
dataset.py
deeplearning-graph.py
deeplearninglinear.py
emulate.sh
extractxml.py
features_preprocess1.py
freq-vectors.py
ga-selected-features
ga.py
graphing.py
malicious-vectors.csv
nb.py
plotROC.py
preprocess.sh
prob-ROC.png
project.sh
rankfeatures.py
ranking-features.csv
select2.py
syscalls.py
vectorize.py

README.md

Notox

Using deep learning to trace system calls in an android device and use the system calls on different deep learning models to detect benign and malicious apks.

Resources

APKParser.jar

This Java library helps extract the Manifest file from an APK.

java -jar APKParser.jar

Prints out the Manifest.xml file.

Tools and Scripts

  1. bitstring.py: A Python (Python2) script that prints the bitstring of selected system calls.
  2. dataset.py: A Python library to read and handle the dataset files.
  3. emulate.sh: A BASH script to reset and start the Android Emulator.
  4. extractxml.py: A Python script to extract the necessary activities and services from the manifest file.
  5. features_preprocess1.py: A Python script to perform pre-processing to obtain the features.
  6. freq-vectors.py: A Python script to generate a frequency vector.
  7. ga.py: A Python library implementing Genetic Algorithm.
  8. graphing.py: A Python Graphing Library.
  9. nb.py: A Python library implementing Naive Bayes Classifier.
  10. plotROC.py: A Python library to plot the ROC curve.
  11. preprocess.sh: A BASH script to preprocess the raw files.
  12. project.sh: A BASH script which takes APKs and runs them on the emulator and collects the necessary logs.
  13. rankfeatures.py: A Python library used to rank the features.
  14. select2.py: A Python library used to select the features.
  15. syscalls.py: A Python library containing the selected system calls.
  16. vectorize.py: A python library to vectorize

Usage Information

  1. Download Android SDK from the offical website.
  2. Set the SDK variables in the script to the SDK folders.
  3. Create an Android Virtual Device and use the same name in the scripts.
  4. Run project.sh

NOTE:

The scripts use BASH and Python2.

You can’t perform that action at this time.