# libchecker/libchecker

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/libchecker-libchecker).**

6,944 stars · 427 forks · Kotlin · Apache-2.0

## Links

- GitHub: https://github.com/LibChecker/LibChecker
- awesome-repositories: https://awesome-repositories.com/repository/libchecker-libchecker.md

## Topics

`android` `f-droid` `fdroid` `kotlin`

## Description

LibChecker is an Android application library analyzer used to identify third-party libraries and classify software components within installed applications. It functions as a software component classifier and a native library ABI inspector to determine if an application is 32-bit or 64-bit.

The tool utilizes a rules repository and a local database to match detected libraries against known software signatures. It employs regex-based pattern detection and rule-based matching to identify components, even when files have been renamed or obfuscated.

The project provides capabilities for Android package forensics and software dependency auditing. These operations include scanning application packages to extract embedded shared libraries and inspecting compiled binary headers to determine target processor architectures.

## Tags

### Mobile Development

- [Android App Analysis](https://awesome-repositories.com/f/mobile-development/android-app-analysis.md) — Scans installed mobile applications to identify and list the third party libraries used within them.
- [Android App Library Analyzers](https://awesome-repositories.com/f/mobile-development/android-app-library-analyzers.md) — Provides a tool for scanning installed Android applications to identify and list the third-party libraries they use.
- [Software Component Categorizations](https://awesome-repositories.com/f/mobile-development/software-component-categorizations.md) — Matches detected libraries against a rules repository to identify and sort well-known software components. ([source](https://cdn.jsdelivr.net/gh/libchecker/libchecker@master/README.md))
- [Application Package Scanning](https://awesome-repositories.com/f/mobile-development/application-package-management/application-package-scanning.md) — Parses installed application directories to extract and list embedded shared libraries and assets.

### Development Tools & Productivity

- [Software Dependency Catalogs](https://awesome-repositories.com/f/development-tools-productivity/software-dependency-catalogs.md) — Checks which external libraries and software components are bundled inside an application for transparency or security.
- [Regex Pattern Matching](https://awesome-repositories.com/f/development-tools-productivity/file-search-utilities/regex-pattern-matching.md) — Uses regular expressions to map obfuscated or renamed files to their original library identities.

### Operating Systems & Systems Programming

- [Android Package Forensics](https://awesome-repositories.com/f/operating-systems-systems-programming/android-package-forensics.md) — Analyzes the internal structure of Android application packages to categorize known software components and dependencies.
- [Cross-Architecture Binary Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/cross-architecture-binary-analysis.md) — Inspects compiled library headers to determine the target processor architecture and instruction set.
- [Native Library ABI Inspectors](https://awesome-repositories.com/f/operating-systems-systems-programming/native-library-abi-inspectors.md) — Provides a utility that checks the native library architecture of an application to determine if it is 32-bit or 64-bit.

### Programming Languages & Runtimes

- [ABI Architecture Detection](https://awesome-repositories.com/f/programming-languages-runtimes/architecture-and-abi-configuration/abi-architecture-detection.md) — Provides native library architecture analysis to identify if an application is 32-bit or 64-bit. ([source](https://cdn.jsdelivr.net/gh/libchecker/libchecker@master/README.md))
- [Native Library Inspection](https://awesome-repositories.com/f/programming-languages-runtimes/webassembly-binary-manipulators/64-bit-memory-support/32-64-bit-architecture-support/native-library-inspection.md) — Determines the ABI architecture of native libraries to see if an application supports 32-bit or 64-bit systems.

### Security & Cryptography

- [Software Component Classifiers](https://awesome-repositories.com/f/security-cryptography/component-identity-matching/software-component-classifiers.md) — Matches detected libraries against a rules repository to categorize known software components.

### Software Engineering & Architecture

- [Rule-Based Library Matching](https://awesome-repositories.com/f/software-engineering-architecture/pattern-matching-libraries/rule-based-library-matching.md) — Identifies software components by comparing detected file patterns against a curated repository of known library signatures.

### Web Development

- [Third-Party Module Inventories](https://awesome-repositories.com/f/web-development/third-party-api-clients/third-party-platform-interfaces/third-party-distribution-platforms/third-party-module-inventories.md) — Scans installed applications to detect and list the third-party libraries used within them. ([source](https://cdn.jsdelivr.net/gh/libchecker/libchecker@master/README.md))

### Part of an Awesome List

- [Development Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/development-utilities.md) — Analyzes app libraries and installation sources.
