-
Notifications
You must be signed in to change notification settings - Fork 2
AnkushAppy/apk_checker
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Purpose of Project: It first gives an upload page where user can uplaod APK files. Once user uplaods an APK file it decompiles and can read different information related to APK file, for now it is reading permission an APK file requires. Another page is dedicated for listing out APK files uploaded and permission required and its size in KBs. Installations required: This project is build on python 2.7 and Django 1.8.5 . Used Androguard (https://github.com/androguard/androguard) to decompile the APK file uploaded by the user. Used sqlite3 database to store information. Utilizing a queueing system ( Django-rq https://github.com/ui/django-rq) to put long processing in a queue for multi-user environment. So one need to install these above to install to run this application :). Redis server can be started using: $ redis-server To start a worker: $ python manage.py rqworker default Now we need to create database and run server for our website running on localhost: $ python manage.py migrate $ python manage.py runserver Above two command should run from myproject (root directory) where manage.py file resides. We can access upload page by running http://127.0.0.1:8000/ on browser. Accessing Website: on /myapp/list page we can upload APK file. On same page there is a link to find APK Info ( http://127.0.0.1:8000/myapp/list/documents/ ) which will listout APK uploaded and information related to it. APK Info page contains a link (Upload a new file) to go back to upload page. Application: /myproject/myapp This application is responsible for upload page and information page. It contains forms.py to create upload form, view.py to tell what to do when a request arrives, urls.py reads the url requested by user and matches it with pattern defined and dispatches to corresponding view or method. Further models.py creates two model or tables namely Document (column: docfile) and FileInfo (column: file_name,permission_info ). /myanotherapp It has no work right now. In settings.py, myproject/myapp and django_rq are included in INCLUDED_APPS setting. Other Information Files uploaded will be saved in media/documents/ folder. Sources I used to build this project: https://github.com/axelpale/minimal-django-file-upload-example The goal with minimal-django-file-upload-example is to demonstrate and teach how file uploading is done with Django. Used code of this project to make upload form. http://blog.k3170makan.com/2014/11/automated-dex-decompilation-using.html This post is about Androguard and how to write a simple python script that dumps decompiled dalvik bytecode from an Android APK. http://blog.ashnab.com/task-queues-and-python-rq/ In this post, we will quickly go through an example of processing some task in the background using python RQ. Django-RQ is a simple app that allows you to configure your queues in django's settings.py and easily use them in your project. many more articles and code i read to understand django, androguard and django-rq.
About
It lets user to upload apk file, it then decompile apk file, reads permissions required by apk file from androidmanifest.xml. Project is built on django and uses androguard.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published