apkInspector is a tool designed to provide detailed insights into the central directory and local headers of APK files, offering the capability to extract content and decode the AndroidManifest.xml file.
Project description
apkInspector
apkInspector is a tool designed to provide detailed insights into the central directory and local headers of APK files, offering the capability to extract content and decode the AndroidManifest.xml file. What sets APKInspector apart is its adherence to the zip specification during APK parsing, eliminating the need for reliance on external libraries. This independence, allows APKInspector to be highly adaptable, effectively emulating Android's installation process for APKs that cannot be parsed using standard libraries. The main goal is to enable users to conduct static analysis on APKs that employ evasion techniques, especially when conventional methods prove ineffective.
CLI
apkInspector offers a command line tool with the same name, with the following options;
$ apkInspector -h
usage: apkInspector [-h] [-apk APK] [-f FILENAME] [-ll] [-lc] [-la] [-e] [-x] [-xa] [-m] [-v]
APK Inspector
options:
-h, --help show this help message and exit
-apk APK APK to inspect
-f FILENAME, --filename FILENAME
Filename to provide info for
-ll, --list-local List all files by name from local headers
-lc, --list-central List all files by name from central directory header
-la, --list-all List all files from both central directory and local headers
-e, --export Export to JSON. What you list from the other flags, will be exported
-x, --extract Attempt to extract the file specified by the -f flag
-xa, --extract-all Attempt to extract all files detected in the central directory header
-m, --manifest Extract and decode the AndroidManifest.xml
-v, --version Retrieves version information
Library
The library component of apkInspector is designed with extensibility in mind, allowing other tools to seamlessly integrate its functionality. This flexibility empowers developers to leverage the capabilities of apkInspector within their own applications and workflows. To facilitate clear comprehension and ease of use, comprehensive docstrings accompany all primary methods, providing valuable insights into their functionality, expected arguments, and return values. These detailed explanations serve as invaluable guides, ensuring that developers can quickly grasp the inner workings of apkInspector's core features and smoothly incorporate them into their projects.
The command-line interface (CLI) serves as a practical illustration of how the methods provided by the library have been employed.
Planned todo
- Return indicators of what was detected to be tampered.
- Improve code coverage
Disclaimer
It should be kept in mind that apkInspector is an evolving project, a work in progress. As such, users should anticipate occasional bugs and anticipate updates and upgrades as the tool continues to mature and enhance its functionality. Your feedback and contributions to apkInspector are highly appreciated as we work together to improve and refine its capabilities.
How to Contribute
We welcome contributions from the open-source community to help improve and enhance apkInspector. Whether you're a developer, tester, or documentation enthusiast, your contributions are valuable. Here's how you can get started:
Reporting Issues
If you encounter a bug, have a feature request, or have a suggestion for improvement, please open an issue on our GitHub issue tracker. When reporting issues, please provide as much detail as possible, including:
- A clear and descriptive title
- A detailed description of the problem or enhancement request
- Steps to reproduce the issue (if applicable)
- Any relevant error messages or screenshots
Pull Requests
If you'd like to contribute code or documentation changes, follow these steps:
- Fork the repository on GitHub.
- Create a new branch with a descriptive name for your feature or bug fix.
- Make your changes and ensure that your code adheres to our coding standards.
- Write tests to cover your changes (if applicable).
- Commit your changes with clear and concise commit messages.
- Push your branch to your fork on GitHub.
- Create a pull request (PR) against the main repository's
main
branch. - Clearly describe your changes in the PR, including the problem you're addressing and how you've tested your changes.
- Be prepared to address feedback and make necessary revisions to your PR.
Code Style
Please adhere to our code style guidelines to maintain consistency within the project. We follow PEP 8 for Python code and provide configuration files for linters.
Thank you for considering contributing to apkInspector! Your contributions help make this project better for everyone.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for apkinspector-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5e89e9f6393b6673870b810b55521e0613fd65115f1bcf62441eaafe6314765 |
|
MD5 | 8475bbcc4930b7dc4fc7c142f3f12f91 |
|
BLAKE2b-256 | 6cf7ef33f61c44b0fd358ae4a260641528e156b0e46bcb7251abef5e9a9dfe82 |