Skip to main content

soSaver

soSaver banner

PyPI Python 3.10+ License: MIT Frida Version

A utility for extracting and saving native (.so) libraries from the memory of Android applications using Frida.

Description

soSaver is a tool for dynamic analysis of Android applications, enabling extraction of native libraries (.so files) from running applications' memory. Unlike static file system analysis, soSaver can access libraries that are:

  • Encrypted in the APK and decrypted only at runtime
  • Dynamically loaded from the internet or other sources
  • Unpacked or generated during application execution
  • Protected against extraction by standard methods

Features

  • Extraction of native libraries from running Android applications
  • Interception of library loader calls (dlopen, android_dlopen_ext)
  • Periodic memory scanning to detect libraries loaded through non-standard methods
  • Fallback mechanism for extracting libraries from the file system
  • Informative output and statistics on extracted modules
  • Simple CLI interface

Installation

From PyPI

pip install sosaver

Requirements

  • Python 3.10 or higher
  • Android device (physical or emulator) with root access
  • Frida server running on the target device

Usage

Basic Usage

# Extract libraries from an application by package name
sosaver com.example.app

# Extract from an application by PID
sosaver 1234

# Save results to a specified directory
sosaver -o /path/to/output com.example.app

# Enable debug mode
sosaver --debug com.example.app

Usage Examples

# Extract libraries from a game
sosaver com.example.game

# Extract with detailed output
sosaver --debug com.unity.game

Architecture

soSaver consists of two main components:

  1. Python application (sosaver/) — responsible for:

    • Connecting to Android devices
    • Injecting the Frida script into the target process
    • Processing messages from the Frida agent
    • Saving extracted libraries
  2. Frida agent (agent/, written in TypeScript) — responsible for:

    • Intercepting library loaders in the application
    • Scanning memory for ELF headers
    • Reading library data from memory
    • Sending data to the Python application

How It Works

  1. soSaver connects to an Android device via Frida
  2. Injects a JavaScript agent into the target process
  3. The agent performs:
    • Initial scanning of already loaded modules
    • Setting up hooks for library loading functions
    • Periodic memory scanning for new libraries
  4. When a library is detected:
    • Reading content from memory in blocks
    • Transferring data via Frida messages to the host application
    • In case of memory read error, attempting to read from the file system
  5. The Python application saves the extracted libraries to disk
  6. Upon completion, statistics on extracted modules are displayed

Building from Source

The Frida agent is pre-built and included as sosaver/frida/scripts/agent.js. To modify the agent:

# Clone the repository
git clone https://github.com/TheQmaks/sosaver.git
cd sosaver

# Install agent dependencies and build
cd agent && npm install && npm run build

# Install the Python package in development mode
cd .. && pip install -e .

Development and Contribution

This is a monorepo containing both the Python CLI and the TypeScript Frida agent:

  • sosaver/ — Python CLI application
  • agent/ — TypeScript Frida agent source

To set up a development environment:

pip install -e ".[dev]"
cd agent && npm install

License

This project is distributed under the MIT license. See the LICENSE file for details.

Metadata

Release files for soSaver 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for soSaver 1.0.1
File Size Uploaded
sosaver-1.0.1.tar.gz 5.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for soSaver 1.0.1
File Interpreter ABI Platform
sosaver-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.8 MB

Release files / sosaver-1.0.1.tar.gz

Download URL sosaver-1.0.1.tar.gz
Size 5.8 MB
Tags Source
SHA-256 checksum
How to use checksums
a934b7befbad04eeffb89c774d6f3cbec4826fbcc0a9e47f46dbe11fc79ec9c8
BLAKE2b-256 checksum
How to use checksums
9b4d78f9ee755853a0e7814fee30a47144f968de87f87d94ecde1fdd4bf7d159
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.

Transparency log

Release files / sosaver-1.0.1-py3-none-any.whl

Download URL sosaver-1.0.1-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b9cacb004568a27f7bcd2c8c2269d89a78d45609da46589300740b2438eff3c
BLAKE2b-256 checksum
How to use checksums
b62650cbd507b1d132bd8b8b4c559be672b24d9ad45f985db117320e626a8c10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page