Permissions

This is an autogenerated documentation file for the script: Permissions

Run it

$ ./androanalyze scripts_builtin/Permissions.py --package-names com.spotify.music

View the results

Non-Binary

$ ./androquery result -sn Permissions -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Permissions",
         "sha256": "84a794c66096f83a4b96673974de5990d21cc1d1af66db9f14810c80ed959237",
         "analysis date": "2015-06-22T20:29:33.912000",
         "version": "0.1"
     },
     "permissions": [
         "android.permission.ACCESS_NETWORK_STATE",
         "android.permission.ACCESS_WIFI_STATE",
         "android.permission.BLUETOOTH",
         "android.permission.BLUETOOTH_ADMIN",
         "android.permission.BROADCAST_STICKY",
         "android.permission.GET_ACCOUNTS",
         "android.permission.INTERNET",
         "android.permission.MANAGE_ACCOUNTS",
         "android.permission.MODIFY_AUDIO_SETTINGS",
         "android.permission.NFC",
         "android.permission.READ_PHONE_STATE",
         "android.permission.USE_CREDENTIALS",
         "android.permission.WAKE_LOCK",
         "android.permission.WRITE_EXTERNAL_STORAGE",
         "com.android.vending.BILLING",
         "com.google.android.c2dm.permission.RECEIVE",
         "com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER",
         "com.spotify.music.permission.C2D_MESSAGE"
     ]
 }

Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Permissions -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Permissions -pn com.spotify.music -nd -r

 Empty

Source


# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript


class Permissions(AndroScript):
    ''' List the permissions '''    
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        #categories
        CAT_PERMISSIONS = "permissions"
        
        res = self.res
        
        res.register_keys([CAT_PERMISSIONS])
        
        # permissions
        res.log(CAT_PERMISSIONS, sorted(apk.get_permissions()))