Commit Graph

2130 Commits

Author SHA1 Message Date
sv99 e3e2a7e1d6
Allows run app from gradle for debugging purposes (#3179)
Co-authored-by: Connor Tumbleson <iBotPeaches@users.noreply.github.com>
2023-07-20 06:03:47 -04:00
Connor Tumbleson ca07a0a56c
Fix regressions towards apktool.yml generation (#3172)
* fix: prevent blowing out minSdkVersion

* fix: correct naming regression with apk name and sdk info

* chore: comment for why we double up minSdkVersion

* fix: deprecate compressionType

* test: assert apktool format isn't regressed
2023-07-20 05:37:46 -04:00
Connor Tumbleson ab4069306c
build: test on JDK 20 (#3177) 2023-07-20 05:19:29 -04:00
Connor Tumbleson 1493d9d357
fix: opt out of stricter java rules for zip64 and dot entries (#3178)
* fix: opt out of stricter java rules for zip64 and dot entries

* test: assert specific system properties for test suite
2023-07-20 05:01:21 -04:00
Connor Tumbleson 3fdc06a46f
fix: skip files if cleaned to empty filename (#3166) 2023-07-18 07:26:30 -04:00
Connor Tumbleson ba2f1283ed
fix: update links for apktool/baksmali/smali on usage 2023-07-17 06:55:08 -04:00
dependabot[bot] 600cbb2a50
build(deps): bump gradle/gradle-build-action from 2.5.1 to 2.6.0 (#3151)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.5.1 to 2.6.0.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.5.1...v2.6.0)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 06:54:17 -04:00
ArjunaKumarMohanta e6089aff95
feat: Upgrade gradle to v8.2.1 (#3141) 2023-07-17 06:29:05 -04:00
Connor Tumbleson e97999c709
chore: remove feature request issue template 2023-07-17 06:15:50 -04:00
Connor Tumbleson 0d87c54213
docs: correct website guide for releases 2023-07-16 15:08:31 -04:00
Connor Tumbleson a632277f50
docs: fix types on INTERNAL guide 2023-07-16 15:03:05 -04:00
Connor Tumbleson 55d2006dfd
build: start new dev cycle (2.8.1-SNAPSHOT) 2023-07-16 10:41:55 -04:00
Connor Tumbleson 9783ac5034
build: version bump (2.8.0) 2023-07-16 10:03:02 -04:00
Connor Tumbleson 5dd8c9fa52
build: rename 2.7.1 to 2.8.0 2023-07-16 09:55:07 -04:00
Connor Tumbleson fa4b7b2eb3
docs: drop gitter and change doc branch 2023-07-16 07:08:51 -04:00
Connor Tumbleson 6a28621fcc
fix: skip parsing if chunk end is reached (#3134) 2023-07-13 07:27:11 -04:00
Connor Tumbleson c46a6a13f9
fix: properly parse localeNumberingSystem (#3133) 2023-07-13 06:50:15 -04:00
Connor Tumbleson bdbe1384bf
ARSC/AXML Parser Rework (#3131)
* Supports ASRC with null renamed package.
* Rework ASRC Chunk parser to a loop to break assumption of order of chunks
* Break out unknown skips for alignment to ResourceTypes.h
* Add verbose information for file skips
* Add test for protected apk sample
* Rework chunk parsing for StringBlock
* Refactor AXML Parser to support proper header reading
* Fix parsing if attribute size reported does not align to actual size
2023-07-12 05:33:28 -04:00
Connor Tumbleson 86340503ac
Patch aapt for ignoring duplicate bag items. (#3130)
* build: update aapt (win/linux) binaries

 - bc4ca278f3

* build: update aapt2 (win/linux) binaries

* build: update aapt/aapt2 (mac) binaries
2023-07-09 21:23:07 -04:00
Connor Tumbleson abb042772f
docs: add workaround for building on mac. 2023-07-09 21:03:59 -04:00
Connor Tumbleson 2b81215846
test: add assertions for unknown files / assets (#3074) 2023-07-04 12:47:26 -04:00
Connor Tumbleson 0e3e165d4e
refactor: extract nextChunk() out of readLibraryType (#3126) 2023-07-04 12:28:49 -04:00
Connor Tumbleson 79cfdd179c
Correct Attribute Resolution (#3123)
* refactor: rename package_ to pkgId

* refactor: ResAttrDecoder takes ResTable

* fix: fallback on attr decoding to proper prefix

* fix: reverse order of processing to trust string pool 2nd

Android prefers the resource map value over what the String block has.
This can be seen quite often in obfuscated apps where values such as:
 <item android:state_enabled="true" app:state_collapsed="false" app:state_collapsible="true">
Are improperly decoded when trusting the String block.
Leveraging the resource map allows us to get the proper value.
 <item android:state_enabled="true" app:d2="false" app:d3="true">

* refactor: set default value if no string/res value
2023-07-04 12:06:53 -04:00
Connor Tumbleson f42ce82f0d
style: cleanup formatting from ApkInvoker introduction 2023-07-03 18:46:47 -04:00
sv99 a7e2e3e5e1
Extract into ApkInvoker and split into data classes. (#3124)
* extract AaptInvoker and rename MetaFile to ApkInfo, all decode methods from AndrolibResources moved to the ApkDecoder

* extract ARSCData and FlagsOffset from ARSCDecoder and remove unused imports

* rebase to master

* move decodeManifest and decodeResources to the ResourceDecoder

* remove commented old code
2023-07-03 18:38:52 -04:00
dependabot[bot] e69b1ed7c0
build(deps): bump gradle/gradle-build-action from 2.4.2 to 2.5.1 (#3119)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.4.2 to 2.5.1.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.4.2...v2.5.1)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 05:47:33 -04:00
Connor Tumbleson ab6f1b416e
refactor: split child classes to own file for decoders (#3116) 2023-07-02 19:44:20 -04:00
Connor Tumbleson e85472fee8
refactor: sparse log should be a notice (debug only) 2023-07-02 06:04:19 -04:00
ArjunaKumarMohanta 7a22af28af
feat: Upgrade gradle to v8.2 (#3111)
* feat: Upgrade gradle to v8.2

* Update Gradle distribution URL to include 'all' package
2023-07-02 05:55:28 -04:00
Connor Tumbleson 5a7e7b152d
feat: update internal framework to API 34 (Vanilla Ice Cream) (#3115) 2023-07-02 05:43:04 -04:00
Connor Tumbleson 9f71a78f10
refactor: put gradle wrapper on its own workflow (#3114) 2023-07-02 05:36:00 -04:00
Connor Tumbleson 70d941d18d
feat: support upside-down-cake/vanilla-ice-cream sdk shorthand (#3113) 2023-07-02 05:35:45 -04:00
sv99 5cd94d6aa0
refactor Apkecoder - streamline decode procedure (#3109) 2023-06-28 21:02:46 +00:00
Connor Tumbleson 1e400aa995
fix: handle invalid string id during namespace resolution (#3107) 2023-06-28 11:24:50 -04:00
Connor Tumbleson 6ed458a428
refactor: add missing license header 2023-06-28 06:16:10 -04:00
sv99 85a710f77a
refactor class ApkDecoder (#3106) 2023-06-28 06:13:22 -04:00
sv99 40d427e5bd
Extract class Framework from AndrolibResources (#3105) 2023-06-27 10:51:26 -04:00
sv99 9c495cae29
Move build functions from Androlib to the ApkBuilder (#3103) 2023-06-27 08:25:27 -04:00
Connor Tumbleson 10495cbe96
Refactor into common config object. (#3100)
* extract Config

* extract Config

* style: linting

---------

Co-authored-by: Slava Volkov <sv99@inbox.ru>
2023-06-25 15:07:23 -04:00
dependabot[bot] 25509a7498
build(deps): bump com.google.guava:guava from 32.0.0-jre to 32.0.1-jre (#3092)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.0.0-jre to 32.0.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 06:18:45 -04:00
dependabot[bot] e2db3b93bc
build(deps): bump commons-io:commons-io from 2.12.0 to 2.13.0 (#3093)
Bumps commons-io:commons-io from 2.12.0 to 2.13.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 05:52:15 -04:00
sv99 168aa1abc0
move AndrolidExceptions to the package brut.androlib.exceptions (renamed from brut.androlib.err) (#3088) 2023-06-10 13:16:31 -04:00
dependabot[bot] 92f70bbd0b
build(deps): bump com.google.guava:guava from 31.1-jre to 32.0.0-jre (#3085)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-29 07:44:07 -04:00
Marc Miltenberger 636b1a128e
Deprecated SnakeYAML methods (#3079)
I replaced the deprecated methods in SnakeYAML 1.33 with the respective non-deprecated constructor calls.
These are equivalent:
The deprecated non-arg constructor of Constructor https://bitbucket.org/snakeyaml/snakeyaml/src/snakeyaml-1.33/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
calls 7f5106920d/src/main/java/org/yaml/snakeyaml/constructor/SafeConstructor.java (lines-52), which uses a new empty LoaderOptions()

Similarly, SafeRepresenter 7f5106920d/src/main/java/org/yaml/snakeyaml/representer/SafeRepresenter.java (lines-54) uses a new empty DumperOptions.
2023-05-27 13:20:57 -04:00
Connor Tumbleson e53869ceba
build: lock gradle actions to specific versions (#3073) 2023-05-22 06:41:03 -04:00
dependabot[bot] 56b07d284b
build(deps): bump commons-io:commons-io from 2.11.0 to 2.12.0 (#3072)
Bumps commons-io:commons-io from 2.11.0 to 2.12.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-22 06:14:15 -04:00
Connor Tumbleson deb9dcf089
fix: support `0_resource_name_obfuscated` (#3067)
* fix: support `0_resource_name_obfuscated`

* refactor: drop jdk9 for jdk8 logic
2023-05-20 15:06:36 -04:00
sv99 b83b58e8e8
Correct aapt/aapt2 waiting too long on execution output (#3071)
Co-authored-by: Connor Tumbleson <iBotPeaches@users.noreply.github.com>
2023-05-20 14:01:03 -04:00
sv99 80dcdd1d34
add application plugin to the apktool-cli (#3070) 2023-05-20 13:53:29 -04:00
Connor Tumbleson fb4889f432
feat: update internal framework to API 34 (Upside Down Cake Preview) (#3063)
* feat: update internal framework to API 34 (Upside Down Cake Preview)

* test: add assertion for API34 property
2023-05-13 06:43:31 -04:00