Commit Graph

1961 Commits

Author SHA1 Message Date
abb042772f docs: add workaround for building on mac. 2023-07-09 21:03:59 -04:00
2b81215846 test: add assertions for unknown files / assets (#3074) 2023-07-04 12:47:26 -04:00
0e3e165d4e refactor: extract nextChunk() out of readLibraryType (#3126) 2023-07-04 12:28:49 -04:00
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
f42ce82f0d style: cleanup formatting from ApkInvoker introduction 2023-07-03 18:46:47 -04:00
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
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
ab6f1b416e refactor: split child classes to own file for decoders (#3116) 2023-07-02 19:44:20 -04:00
e85472fee8 refactor: sparse log should be a notice (debug only) 2023-07-02 06:04:19 -04:00
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
5a7e7b152d feat: update internal framework to API 34 (Vanilla Ice Cream) (#3115) 2023-07-02 05:43:04 -04:00
9f71a78f10 refactor: put gradle wrapper on its own workflow (#3114) 2023-07-02 05:36:00 -04:00
70d941d18d feat: support upside-down-cake/vanilla-ice-cream sdk shorthand (#3113) 2023-07-02 05:35:45 -04:00
5cd94d6aa0 refactor Apkecoder - streamline decode procedure (#3109) 2023-06-28 21:02:46 +00:00
1e400aa995 fix: handle invalid string id during namespace resolution (#3107) 2023-06-28 11:24:50 -04:00
6ed458a428 refactor: add missing license header 2023-06-28 06:16:10 -04:00
85a710f77a refactor class ApkDecoder (#3106) 2023-06-28 06:13:22 -04:00
40d427e5bd Extract class Framework from AndrolibResources (#3105) 2023-06-27 10:51:26 -04:00
9c495cae29 Move build functions from Androlib to the ApkBuilder (#3103) 2023-06-27 08:25:27 -04:00
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
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
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
168aa1abc0 move AndrolidExceptions to the package brut.androlib.exceptions (renamed from brut.androlib.err) (#3088) 2023-06-10 13:16:31 -04:00
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
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
e53869ceba build: lock gradle actions to specific versions (#3073) 2023-05-22 06:41:03 -04:00
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
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
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
80dcdd1d34 add application plugin to the apktool-cli (#3070) 2023-05-20 13:53:29 -04:00
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
48b71b34b1 refactor: Replace to nio & apply CS inspection skips (#3055) 2023-05-13 06:12:22 -04:00
8d222d7f58 feat: Upgrade gradle to v8.1.1 (#3054) 2023-05-01 07:56:33 -04:00
a079fe74fc Move to official Google smali fork (#3051)
* refactor: swap to google smali 3.0.3

* docs: update docs for smali change
2023-04-28 19:30:06 -04:00
775f1dbff3 feat: add java version to bug report
- fixes: #3049
2023-04-28 07:03:15 -04:00
8572a97f43 feat: Upgrade gradle to v8.1 (#3043) 2023-04-14 14:29:00 -04:00
d3c5813442 fix: properly read 'XML_TYPE_OVERLAY_POLICY' (#3035) 2023-03-25 07:14:38 -04:00
603e52d1f8 build(deps): bump com.guardsquare:proguard-gradle from 7.3.1 to 7.3.2 (#3032)
Bumps [com.guardsquare:proguard-gradle](https://github.com/Guardsquare/proguard) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/Guardsquare/proguard/releases)
- [Commits](https://github.com/Guardsquare/proguard/compare/v7.3.1...v7.3.2)

---
updated-dependencies:
- dependency-name: com.guardsquare:proguard-gradle
  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-03-20 05:36:14 -04:00
7a15c7b13c build: add dependabot updates (#3023) 2023-03-07 05:52:01 -05:00
1fc7c0f8ca build: Update guava, shadow and proguard dependencies (#3020)
* Upgrade `guava` to `31.1-jre` from `31.0.1-jre`
 * Upgrade `proguard_gradle` to `7.3.1` from `7.3.0`
 * Upgrade `shadow` to `8.0.0` from `7.1.0`
2023-03-07 05:43:21 -05:00
a02c8c82a0 Upgrade Gradle version to 8.0.2 (#3016)
* Upgrade  gradle  version  to 8.0.2

* Fix
2023-03-05 10:55:09 -05:00
9153a272d3 fix: support 10mb apktool.yml parsing (#3015) 2023-03-04 14:51:21 -05:00
1d60523cae build: run validations against gradle binary 2023-03-04 13:51:16 -05:00
56ea1cb35e fix: allow workflow to run if gradle updates 2023-03-04 13:50:14 -05:00
120611879c fix: accept empty resources.arsc (#2998)
* fix: accept empty resources.arsc

* fix: accept empty resources.arsc (fix isFrameworkApk=true)
2023-02-19 06:57:03 -05:00
0a3c7595eb feat: support config flags as low as 8 bytes (#2982) 2023-01-21 13:30:13 -05:00
a73ace23ff build: move build step to jdk17 2023-01-14 08:09:39 -05:00
875fea4d9b Restructure Testable Java versions. (#2977)
* build: drop non-lts older Java versions

* build: upgrade to gradle 7.6
2023-01-14 07:46:13 -05:00
cca94b5d5a build: start new dev cycle (2.7.1-SNAPSHOT) 2022-11-24 11:07:51 -05:00
fedae0b6de build: version bump (2.7.0) 2022-11-24 07:16:52 -05:00