LibRadar

by pkumza

pkumza / LibRadar

LibRadar - A detecting tool for 3rd-party libraries in Android apps.

139 Stars 35 Forks Last release: over 3 years ago (1.5.0) Apache License 2.0 190 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

LibRadar

LibRadar is an automatic tool for Android library detection.

Upload your apk file and LibRadar can detect third-party libraries in Android apps accurately and instantly.

Features

Fast

LibRadar takes just several seconds to scan an app and report the list of third-party libraries used in it.

Accurate

LibRadar is trained with more than 1 million apps from Google Play, so it can identify virtually all popular libraries in any given Android app.

Anti-Obfuscation

Many Android apps are obfuscated with tools such as ProGuard, which makes it difficult to recognize a library by its package names or class names. LibRadar is obfuscation-resilient since we use features that cannot be obfuscated, such as statistics on Android APIs.

Usage

$ python LibRadar/libradar.py someapp.apk

View docs/QuickStart.md for more information.

If you want an online trial, just click http://radar.pkuos.org/. (Updated to version 2)

Description for output

|V2|V1|Stands for|Description| |---|---|---|---| |Library|lib|Library|Library Name| |Package|cpn|Current Package Name|The package name from your given APK that seems match this library. 'Current' means what you just uploaded.| |Permissions|p|Permission|The permissions that the library used. It is specified by the API it used.| |Popularity|dn|Repetitions|The number of the library (of just the same version!)| |Match Ratio|Not Implemented|Similarity|Matched Parts/Total Parts| |Standard Package|pn|Package Name|The package name from the database that seems matched.| |Type|tp|Type|The type that the library belongs to.| |Website|ch|Link| Link for the official SDK developer guide website. I forget why I used 'ch' at the very beginning.| |Not Implemented|bh|B_Hash|The hash value of the package.| |Not Implemented|btc|B_Total_Count|The total count of API.| |Not Implemented|btn|B_Total_Number|The total types of API.| |Not Implemented|csp|Current Specified Package Name|The sub-package (a part of the whole package) from your given APK that finally, exactly matched with what in the database.| |Not Implemented|sp|Specified Package Name|The sub-package(a part of the whole package) that exactly matched with that in your APK.|

Dev Environment

  • PyPy Version(Optional):

    Python 2.7.12 (aff251e54385, Nov 09 2016, 17:25:49)
    [PyPy 5.6.0 with GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    
  • Python Version:

    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39)
    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    
  • redis Version :

    Redis server v=3.2.5 sha=00000000:0 malloc=libc bits=64 build=d73d39f287fb87a1
    
  • IDE :

    PyCharm 2016.3.2
    Build #PY-163.10154.50, built on December 29, 2016
    Licensed to Ziang Ma
    Subscription is active until September 15, 2017
    For educational use only.
    JRE: 1.8.0_112-release-408-b6 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.