What I'd like to achieve
Decompile AndroidManifest.xml packaged in apk from binary form into normal xml file, edit it and recompile it back into binary file acceptable for apk. Basically I need a driver for AXML files
Short background
I'm working on an APK injection project. My goal is
- Disassemble the dalvik binary
- Read AndroidManifest xml and add modifications to it, like change main activity and add permissions
- rebuild and sign the apk file
I use apktool for assembling and disassembling the apk. However the apk tool works only with --no-res
option, if apk is disassemled with resources it can not be built back. Here's a github issue describing this bug.
The problem
Since I disassemle the apktool d --no-res app-debug.apk
with no res flag the Generated android manifest comes in binary form. I can disassemble the manifest using apktool
but I can not assemnle it back.
What I want to be able to do
I need to either:
- Find a way to disassemble the manifest and then assemble it back into binary form
- Find a way to use
apktool
with resources
What I have tried so far
- Replacing the binary
AndroidManifest.xml
with plain-text version and then build. Theapktool
would build. However the installation of the app to device fails with "Parse error there is a problem while parsing the package". - Using different versions of
apktool
:v2.3.2
,v2.3.1
,v2.3.0
,v2.2.0
,v2.2.1
,v2.2.2
- Compiling axml using following projects: https://github.com/rednaga/axmlprinter ; https://github.com/ZaratustraN/axml-parser ; https://github.com/shazam/axmlparser
Disclaimer
Although stackoverflow is a community for knowledge sharing, and not judging what it's used for - I see a lot of people picking on others in similar questions with accusations for illegal activities.
What I'm doing is absolutely legal and will not be used to exploit anyone.