Skip to main content

A tool for mapping classes between different versions of the same APK.

Project description

Alpaka

PyPI - Version PyPI - Python Version


Alpaka is a command-line tool designed for mapping classes across different versions of the same APK. This is particularly useful for reverse engineering, allowing you to track class renames and changes across different builds, and preserving manual deobfuscation efforts.

Features

  • Class Mapping: Generates a JSON mapping of classes from one APK version to another.

  • Deobfuscation Migration: Migrate existing Enigma deobfuscation mapping files to new APK versions, helping maintain your renaming efforts in tools like Jadx.

Installation

git clone https://github.com/DanielFi/alpaka
pip install ./alpaka

Usage

Basic Class Mapping

Output a JSON mapping from A.apk (older version) to B.apk (newer version). This will show how classes in A.apk correspond to classes in B.apk.

> alpaka map A.apk B.apk1
{
    "LX/003;": "LX/003;",
    "LX/004;": "LX/004;",
    "LX/005;": "LX/005;",
    "LX/006;": "LX/006;",
...

Migrating Deobfuscation Mappings Across Versions

If you have an Enigma mapping file (e.g., A.mapping) for A.apk, you can use Alpaka to generate a new mapping file (B.mapping) that applies your existing renames to B.apk. This is incredibly useful for maintaining your manual deobfuscation work when a new version of the APK is released.

The generated B.mapping file can then be imported into tools like Jadx to preserve your manual renamings!

> alpaka map --deobfuscation A.mapping --only-obfuscated A.apk B.apk1 > B.mapping

Advanced Options

The map command supports several options to fine-tune its behavior:

  • --only-obfuscated: Prevents Alpaka from creating unnecessary mappings between unobfuscated classes.
  • --no-propagation: Only run the first analysis stage. Usually leads to more accurate results but fewer mappings overall.

License

Alpaka is distributed under the terms of the MIT license.

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

alpaka_re-0.2.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alpaka_re-0.2.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file alpaka_re-0.2.0.tar.gz.

File metadata

  • Download URL: alpaka_re-0.2.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for alpaka_re-0.2.0.tar.gz
Algorithm Hash digest
SHA256 35da9a8a3f7dde14a61aefebe6201863d0582a19def1729380fa016beba22fa4
MD5 eb481d5db58d4d08ecf7046e14a16024
BLAKE2b-256 9ed51900c376e4941432bfc28c67aad64ddb9da1cf0a1f9bf59f8d6289ab6f9b

See more details on using hashes here.

File details

Details for the file alpaka_re-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: alpaka_re-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for alpaka_re-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2296f81062e6df1e52582cceaf5e6c6a632a82b316baf61c5415b45d71892e41
MD5 aa0a3e5af09bc2eee2d7bb14470de816
BLAKE2b-256 1f26f4067a4fe7f569c448e28cc7e0ee6b92b3475cbace37b0e51f27542a29b9

See more details on using hashes here.

Supported by

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