Skip to content

Script to recompile APK that was decompiled by apktool

Notifications You must be signed in to change notification settings

mon231/buildapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

buildapp

Cross-Platform script used to recompile APK that was decompiled by apktool
That way, you can decompile an application, patch it's smali-source / resources / manifest / libs / ...
And rebuild it into a new apk you may install in your devices

NOTE that you should use this tool for debugging / educational purposes only!
NOTE that you must accept the LICENSE of the tools listed in the requirements section

Installation

Simply run:

pip install buildapp --upgrade && buildapp_fetch_tools

Make sure to have python scripts folder in your path,
And use the correct version of pip for python3

Decompilation process

Use apktool to decompile your application.

Apktool decompilation syntax:

apktool d <apk_path> -o <output_folder>

Patching process

Just change anything you want, native-elfs in /lib folder, smali-code from smali folders, manifest file AndroidManifest.xml, resources, assets and whatever's out there

Recompilation process

Simply use our tool, the syntax is:

buildapp -d <sources_folder> -o <outout_apk>

For additional flags, ran buildapp -h

  • apktool build
    • Use apktool to rebuild the apk from the sources folder
    • apktool b <sources_folder> -o <output_apk>

  • zip-alignment
    • apk is implemented as a zip file which should have the correct alignment in order to be installed
    • implemented using zipalign
  • obtain keystore
    • our tool will use a default keystore if you won't provide one
    • you may use keytool to generate your own keystores
  • apk signing
    • our tool will sign the apk using the keystore mentioned above
    • implemented using apksigner
  • apk installation
    • if asked to, buildapp will install the signed apk on connected adb device (if there's only one)
      NOTE that if you won't provide the same keystore as the original app already installed on your device, you may not be able to install the apk you built by this script unless you'll uninstall the original app first.
    • implemented using adb

And that's it! Now you have a new apk, waiting to be installed it on your android devices!

Requirements

The project uses these tools (can be fetched using buildapp_fetch_tools after pip install buildapp):

About

Script to recompile APK that was decompiled by apktool

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages