Skip to content

DanielFi/alpaka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alpaka

PyPI - Version PyPI - Python Version


Alpaka is a command-line tool designed for matching 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 Matching: Generates a JSON matching 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 Matching

Output a JSON matching 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 match 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 match --deobfuscation A.mapping --only-obfuscated A.apk B.apk1 > B.mapping

Advanced Options

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

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

License

Alpaka is distributed under the terms of the MIT license.

About

APK matching tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages