A tool for reverse engineering Android apk files
Go to file
huangweijie 5197e21d75 there files should not be compressed:
1.base on AOSP's frameworks/base/tools/aapt/Package.cpp: NO_COMPRESS_PATTERN = Pattern.compile("(jpg|jpeg|png|gif|wav|mp2|mp3|ogg|aac|mpg|mpeg|mid|midi|smf|jet|rtttl|imy|xmf|mp4|" +
            "m4a|m4v|3gp|3gpp|3g2|3gpp2|amr|awb|wma|wmv|webm|mkv)$"); specifically this rule include 9patch files.
2.file has not ext
3.the compressive type is store

warning:
even if there are the same type of files, they are compressive type may different, just like this example:
-rw----     1.0 fat     8343 b-  0% stor 80-Jan-01 08:00 assets/resources/assets/effect/common/ctp_trail15_1_tex.unity3d
-rw----     1.0 fat    11526 b-  0% stor 80-Jan-01 08:00 assets/resources/assets/effect/common/ctp_trail15_tex.unity3d
-rw----     2.0 fat     2483 bl 19% defN 80-Jan-01 08:00 assets/resources/assets/effect/common/cw_310300_cylq_ql01_mat.unity3d
-rw----     2.0 fat     9467 bl 17% defN 80-Jan-01 08:00 assets/resources/assets/effect/common/cw_310300_cylq_ql03_fbx.unity3d
ctp_trail15_1_tex.unity3d and ctp_trail15_tex.unity3d are uncompressed, but cw_310300_cylq_ql01_mat.unity3d and cw_310300_cylq_ql03_fbx.unity3d are compressed.

That is why I modified recordUncompressedFiles Method.
2019-11-14 12:02:49 +08:00
.github smaller image 2017-09-15 08:07:20 -04:00
brut.apktool there files should not be compressed: 2019-11-14 12:02:49 +08:00
brut.j.common fix: License 2019 update 2019-07-13 12:19:41 -04:00
brut.j.dir fix: experimental fix to prevent path traversal with copied folders 2019-07-18 07:42:34 -04:00
brut.j.util fix: License 2019 update 2019-07-13 12:19:41 -04:00
gradle Update Gradle wrapper to 5.6.2 2019-09-05 15:32:54 -07:00
scripts build: update jdk8 to 221 from 211 2019-08-17 10:32:44 -04:00
.gitignore bug: reproduce the bug were array resources are decoded as style bag 2019-01-29 10:06:32 +01:00
.travis.yml fix: remove jdk9 (no success) 2019-07-13 07:52:37 -04:00
build.gradle build: update to smali/baksmali 2.3.4 2019-10-18 04:03:53 +03:00
CONTRIBUTORS.md update url of Google Code to GitHub 2015-10-24 15:36:00 +08:00
gradlew Update Gradle wrapper to 5.6.2 2019-09-05 15:32:54 -07:00
gradlew.bat Update Gradle wrapper to 5.6.2 2019-09-05 15:32:54 -07:00
INTERNAL.md docs: add information about generating author/commit count 2019-03-03 06:57:33 -05:00
LICENSE Removes SmaliDebugging 2016-02-27 20:20:53 -05:00
README.md attach link to previous intelliJ button 2017-09-19 14:34:39 -04:00
ROADMAP.md feat: add ROADMAP.md for long-term ideas 2018-04-06 12:07:30 -04:00
SECURITY.md build: add SECURITY.md 2019-07-14 08:09:21 -04:00
settings.gradle Removes SmaliDebugging 2016-02-27 20:20:53 -05:00

Apktool

This is the repository for Apktool. If you are looking for the Apktool website. Click here.

Join the chat at https://gitter.im/iBotPeaches/Apktool Build Status Software License

It is a tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications; it makes possible to debug smali code step by step. Also it makes working with app easier because of project-like files structure and automation of some repetitive tasks like building apk, etc.

It is NOT intended for piracy and other non-legal uses. It could be used for localizing, adding some features or support for custom platforms and other GOOD purposes. Just try to be fair with authors of an app, that you use and probably like.

Support

Sponsored by

  • Sourcetoad - helping with a weekly sponsorship for continued improvement and maintenance of the project.

IDE of Choice

JetBrains IntelliJ

Security Vulnerabilities

If you discover a security vulnerability within Apktool, please send an e-mail to Connor Tumbleson at connor.tumbleson(at)gmail.com. All security vulnerabilities will be promptly addressed.