- Download Code from lite version repo.
- Github
$ git clone https://github.com/pkumza/LiteRadar
- Download Feature File
Download lite_datasetfile, then move it into LiteRadar/LiteRadar/Data directory.
- Use LibRadar to detect libraries.
$ python literadar.py someapp.apk
-
Install dependencies. build-essential, python2, pip, git, redis
Recommend to use pypy, install pypy and pypy-pip to boost LibRadar
- Install redis>=3.2
$ wget http://download.redis.io/releases/redis-3.2.7.tar.gz
$ tar xzf redis-3.2.7.tar.gz
$ cd redis-3.2.7
$ make
$ apt-get install tcl
$ make test
$ make install
- Install modules
$ pip install requirements.txt
- Download code
- Github Release (Recommanded)
Click [https://github.com/pkumza/LibRadar/releases](https://github.com/pkumza/LibRadar/releases)
Download zip or tar.gz, then extract code from it.
-
Github
$ git clone https://github.com/pkumza/LibRadar
-
Pypi
Download tar.gz code from https://pypi.python.org/pypi/LibRadar/ and extract the file into your work directory. Do not use pip install because I didn't include data file into the code, as libradar will get error that it could not find data file.
- Download LibRadarData.rdb and run redis-server
$ vi LibRadar/tool/redis.conf.
(
find "dir /Users/marchon/Projects/Databases" and change it into your rdb path.
find "dbfilename" and change it into your rdb filename.
)
$ redis-server tool/redis.conf
- Use LibRadar to detect libraries.
$ python libradar.py someapp.apk
$ python LibRadar/LibRadar/libradar.py happy.apk
[
{
"Library": "Android Support v4",
"Match Ratio": "6777/6777",
"Package": "Landroid/support/v4",
"Permission": [
"android.permission.BACKUP",
"android.permission.BLUETOOTH_ADMIN",
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.INTERNET",
"android.permission.WAKE_LOCK",
"android.permission.WRITE_SECURE_SETTINGS"
],
"Popularity": 1610,
"Standard Package": "Landroid/support/v4",
"Type": "Development Aid",
"Website": "http://developer.android.com/reference/android/support/v4/app/package-summary.html"
},
{
"Library": "Android Support v7",
"Match Ratio": "3111/3111",
"Package": "Landroid/support/v7",
"Permission": [
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.INTERNET",
"android.permission.MANAGE_APP_TOKENS"
],
"Popularity": 2,
"Standard Package": "Landroid/support/v7",
"Type": "Development Aid",
"Website": "https://developer.android.com/reference/android/support/v7/app/package-summary.html"
},
{
"Library": "Bolts Base Library",
"Match Ratio": "325/325",
"Package": "Lbolts",
"Permission": [
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.INTERNET"
],
"Popularity": 3378,
"Standard Package": "Lbolts",
"Type": "Development Aid",
"Website": "https://github.com/BoltsFramework/Bolts-Android"
},
{
"Library": "Amazon AWS",
"Match Ratio": "3673/3673",
"Package": "Lcom/amazonaws",
"Permission": [
"android.permission.DUMP"
],
"Popularity": 3,
"Standard Package": "Lcom/amazonaws",
"Type": "Development Aid",
"Website": "http://mvnrepository.com/artifact/com.amazonaws"
},
{
"Library": "Google Mobile Services",
"Match Ratio": "26342/26344",
"Package": "Lcom/google/android/gms",
"Permission": [
"android.permission.BACKUP",
"android.permission.BLUETOOTH_ADMIN",
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.INTERNET",
"android.permission.WAKE_LOCK",
"android.permission.WRITE_SECURE_SETTINGS"
],
"Popularity": "8619",
"Standard Package": "Lcom/google/android/gms",
"Type": "Development Aid",
"Website": "https://developers.google.com/android/reference/com/google/android/gms/package-summary"
},
{
"Library": "Google Gson",
"Match Ratio": "390/390",
"Package": "Lcom/google/gson",
"Permission": [],
"Popularity": 7366,
"Standard Package": "Lcom/google/gson",
"Type": "Development Aid",
"Website": "https://github.com/google/gson"
},
{
"Library": "Google Ads",
"Match Ratio": "47/47",
"Package": "Lcom/google/ads",
"Permission": [
"android.permission.DUMP"
],
"Popularity": 23586,
"Standard Package": "Lcom/google/ads",
"Type": "Advertisement",
"Website": "https://www.google.com/ads/"
},
{
"Library": "Firebase",
"Match Ratio": "554/554",
"Package": "Lcom/google/firebase",
"Permission": [
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.WRITE_SECURE_SETTINGS"
],
"Popularity": 14,
"Standard Package": "Lcom/google/firebase",
"Type": "Development Aid",
"Website": "http://firebase.com"
},
{
"Library": "Facebook",
"Match Ratio": "3758/3758",
"Package": "Lcom/facebook",
"Permission": [
"android.permission.DUMP",
"android.permission.INTERACT_ACROSS_USERS",
"android.permission.INTERACT_ACROSS_USERS_FULL",
"android.permission.INTERNET"
],
"Popularity": 54,
"Standard Package": "Lcom/facebook",
"Type": "Social Network",
"Website": "https://developers.facebook.com"
},
{
"Library": "Google Play",
"Match Ratio": "119/119",
"Package": "Lcom/android/vending",
"Permission": [
"android.permission.DUMP"
],
"Popularity": 44625,
"Standard Package": "Lcom/android/vending",
"Type": "App Market",
"Website": "https://play.google.com"
},
{
"Library": "Unknown",
"Package": "Landroid/support/graphics",
"Popularity": 1525,
"Standard Package": "Landroid/support/graphics",
"Weight": 299
},
{
"Library": "Unknown",
"Package": "Landroid/support/customtabs",
"Popularity": 1805,
"Standard Package": "Landroid/support/customtabs",
"Weight": 221
},
{
"Library": "Unknown",
"Package": "Lcom/adcolony",
"Popularity": 221,
"Standard Package": "Lcom/adcolony",
"Weight": 3602
}
]
- Install Java Runtime Environment. If you already installed jre, ignore this.
- Install JAD.
- Install Redis.
-
Get android.jar from Android SDK and place them into
$Project_HOME$ /Data/RawData, Run APIDict.py -
Change the apk folder name and run job_dispatching.py
PS: Change variables in _settings.py if you need.