Skip to main content

Scanning APK file for URIs, endpoints & secrets.

Project description

APKLeaks

version contributions

Scanning APK file for URIs, endpoints & secrets.

APKLeaks

Installation

It's fairly simple to install APKLeaks:

from PyPi

$ pip3 install apkleaks

from Source

Clone repository and install requirements:

$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt

from Docker

Pull the Docker image by running:

$ docker pull dwisiswant0/apkleaks:latest

Dependencies

The APKLeaks utilizes the jadx disassembler to decompile APK files. If jadx is not present in your system, it will prompt you to download it.

Usage

Simply,

$ apkleaks -f ~/path/to/file.apk
# from Source
$ python3 apkleaks.py -f ~/path/to/file.apk
# or with Docker
$ docker run -it --rm -v /tmp:/tmp dwisiswant0/apkleaks:latest -f /tmp/file.apk

Options

Here are all the options it supports.

Argument Description Example
-f, --file APK file to scanning apkleaks -f file.apk
-o, --output Write to file results (random if not set) apkleaks -f file.apk -o results.txt
-p, --pattern Path to custom patterns JSON apkleaks -f file.apk -p custom-rules.json
-a, --args Disassembler arguments apkleaks -f file.apk --args="--deobf --log-level DEBUG"
--json Save as JSON format apkleaks -f file.apk -o results.json --json

Output

In general, if you don't provide -o argument, then it will generate results file automatically.

[!TIP] By default it will also save the results in text format, use --json argument if you want JSON output format.

Pattern

Custom patterns can be added with the following argument to provide sensitive search rules in the JSON file format: --pattern /path/to/custom-rules.json. If no file is set, the tool will use the default patterns found in regexes.json file.

Here's an example of what a custom pattern file could look like:

// custom-rules.json
{
  "Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
  // ...
}

To run the tool using these custom rules, use the following command:

$ apkleaks -f /path/to/file.apk -p rules.json -o ~/Documents/apkleaks-results.txt

Arguments (disassembler)

We give user complete discretion to pass the disassembler arguments. For example, if you want to activate threads in jadx decompilation process, you can add it with -a/--args argument, example: --args="--threads-count 5".

$ apkleaks -f /path/to/file.apk -a "--deobf --log-level DEBUG"

[!WARNING] Please pay attention to the default disassembler arguments we use to prevent collisions.

License

apkleaks is distributed under Apache 2.

Acknowledments

Since this tool includes some contributions, and I'm not an asshole, I'll publically thank the following users for their helps and resources:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apkleaks-2.6.3.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

apkleaks-2.6.3-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file apkleaks-2.6.3.tar.gz.

File metadata

  • Download URL: apkleaks-2.6.3.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for apkleaks-2.6.3.tar.gz
Algorithm Hash digest
SHA256 e247b59acf4448f3c2e45449bc7564bc5b7a216ebfb166236baf602d625b1df5
MD5 29d3e85e1016369b5edc3f21b68fddd0
BLAKE2b-256 1ee6203661abe151dbc59096de65d6f0cf392d1aad3acba32f4e9f3f389acad0

See more details on using hashes here.

File details

Details for the file apkleaks-2.6.3-py3-none-any.whl.

File metadata

  • Download URL: apkleaks-2.6.3-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for apkleaks-2.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7bdc02e65f98ca13a17c8fc83709d7f78dc451e36b7895e581d0254bb9c6f17d
MD5 79bdf177d5d1863288cb037b3b402e60
BLAKE2b-256 0c200eb37ed2d4adab6eaff10ab0a531112fc3bf3e49efb29a3db310d6b01737

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page