/Android-Malware-Detector

A machine learning based Android malware detection model.

Primary LanguageOpenEdge ABL

Project Title

Android Malware Detection using Support Vector Machine Classifier

Prerequisites

  • androguard - Reverse Engineering tool for android applications
  • sklearn - Machine Learning library for python
  • mongodb - A No-SQL database
  • pymongo - Python driver for MongoDB

Instructions

  1. Navigate to 'files' folder and place malware and benign apps into their respective folder.
  2. Run 'python add_db.py' to save all the features extracted from all apks.
  3. Run 'create_data.py' to get data from mongodb and save it to a csv file.
  4. Once the 'data.csv' file is created, Run 'python feature_selection.py ' to perform feature selection, this will create two files namely 'final_data.csv' with optimal features and 'final_selected_features.txt' which contains the selected features along with their value.
  5. Run 'python model_train.py <train_test/k-fold>' to train the model, a dump of the trained model is created.
  6. Finally run 'python predict.py ' to perform the classification of that given apk.

Happy Coding.