AndroSpecter

Open-source Android analysis

Look inside
Android apps.

Inspect APKs, explore call graphs, and trace potential data flows with one Java library and command-line tool.

Developed by Jordan Samhi

Inside the call graphTest APK
demo.taintMainActivity

Select a method to explore

onCreate(Bundle)

This entry method calls source() and sink(String) in the test app. Select either method to inspect its connection.

Connected methods from a real test-fixture exportOpen full report

Built on established
analysis foundations

Soot FlowDroid Java 17+ LGPL 2.1
From a first look to a deeper analysis

Start with your question.

Choose the view you need.
Keep the results for your next step.

Get to know an APK.

Read package information, SDK versions, requested permissions, and declared components directly from the Android manifest.

  • No Android SDK required
  • No device or app execution
  • Text or JSON output
Read the guide
Command line
bin/androspecter metadata \
  --apk app.apk \
  --format text
A quick first look at what an app declares.

Query offline

Find callers, reachable methods, and shortest paths in saved graphs.

Compare graphs

Use the Java API to identify changes between graph snapshots.

Build your own analysis

Compose inspection callbacks, logging probes, and transformations.

See the output for yourself

A graph you can explore.
A file you can keep.

This report was generated by AndroSpecter from its small repository test APK. Open it to search methods, inspect calls, and explore the graph.

Open example report
callgraph.htmlStandalone HTML reportHTML
Input
Repository test fixture
Package
demo.taint
Graph
CHA ยท package-filtered
Export
5 methods ยท 2 calls

Interactive. Works offline. Yours to explore.

The graph shows static call relationships, not proof of runtime behaviour. This small test fixture illustrates the output format.

Your next analysis starts here

Use it your way.

Run a command, or make AndroSpecter
part of your Java application.

A small setup.
A flexible toolkit.

You will need Java 17+ and Maven 3.6.3+. For APK code and data-flow analysis, also provide an Android SDK platforms directory.

Build from source. The commands shown here use the current development version, 1.2.0-SNAPSHOT, which is not published to Maven Central.

Full installation guide
Build & run
git clone https://github.com/JordanSamhi/AndroSpecter.git
cd AndroSpecter
mvn -B install
mvn -B -f cli/pom.xml package
bin/androspecter --help

The CLI is a separate executable JAR. After building, use bin/androspecter from the repository.

All commands and options