Commit Graph

2053 Commits

Author SHA1 Message Date
Connor Tumbleson
77b4229d10
refactor: suppress last unused method return (#3349) 2023-09-30 07:33:06 -04:00
Connor Tumbleson
9c465321f1
refactor: use static inner classes for AbstractDirectory (#3348) 2023-09-30 07:27:20 -04:00
Connor Tumbleson
f63bbc0be2
fix: handle duplicate res entries during a complex resource (#3347) 2023-09-30 07:21:58 -04:00
Connor Tumbleson
aea1d68dbc
refactor: adjust line to fit 120 length line endings in /value (#3338) 2023-09-18 06:18:44 -04:00
Connor Tumbleson
f3936cbd22
fix: enforce java 1.8 compatibility with built artifacts (#3330) 2023-09-13 06:25:47 -04:00
Connor Tumbleson
515af4faf8
Reworks Attr/Array Handler (#3326)
* test: add example pkcs key

* fix: rework towards ResScalarValue instead of ResIntValue

* fix: prefer res name instead of "guessing" based on ids
2023-09-11 19:01:09 -04:00
Connor Tumbleson
c07e4a92e6
fix: load type spec if no TYPE_SPEC chunks (#3325) 2023-09-11 06:24:23 -04:00
dependabot[bot]
dd32a3c301
build(deps): bump actions/checkout from 3 to 4 (#3327)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 06:19:27 -04:00
Connor Tumbleson
6e3fac2414
refactor: make _options lowercase (#3324) 2023-09-09 09:47:41 -04:00
Connor Tumbleson
a117132e39
Feat: Introduce "res-mode" options. (#3318)
* Revert "Remove Apktool Dummys. (#3258)"

This reverts commit 0e226928ce.

* feat: properly add dummys

* refactor: shorten ResTypeSpec

* style: remove extra space

* refactor: extract FlagItem into own class

* refactor: notate which type is null

* fix: only add dummys if enabled

* feat: skip unknown (if enabled)

* feat: introduce "res-mode"

* feat: expose config on res table

* feat: add method to base attr for res skips

* fix: ensure autobuild doesn't choke

* refactor: remove java17 enhanced switch

* refactor: rename methods

* refactor: cleanup res-mode param

* test: introduction of test/sample apk

* refactor: make ResXmlPatcher public for loading XML

* test: assertions for dummy|leave|retain

* fix: prevent using `@null` as a name

* refactor: shorten long param for 'resm'

* refactor: leave for preserve
2023-09-09 07:29:39 -04:00
dependabot[bot]
f0ca6d11f9
build(deps): bump gradle/gradle-build-action from 2.7.1 to 2.8.0 (#3316)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.7.1...v2.8.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-09-04 11:30:18 -04:00
Connor Tumbleson
dcb6788243
refactor: verbose doesn't adapt handler (#3310) 2023-09-03 07:06:44 -04:00
Connor Tumbleson
c7915cd6cb
feat: add sponsors to readme (#3301) 2023-08-29 06:18:18 -04:00
Connor Tumbleson
81a7e1e434
fix: only mark as sparse if intended application (#3299) 2023-08-27 15:06:58 -04:00
Connor Tumbleson
06c5f462e0
refactor: use proper enum (0 on both) for setMethod() (#3297) 2023-08-26 21:39:42 -04:00
Connor Tumbleson
b6e283ee62
fix: obtain git history for proper "git describe" (#3291) 2023-08-23 19:03:22 -04:00
Connor Tumbleson
7d76829ad9
feat: shorten archive name to apktool-{version}.jar (#3289) 2023-08-23 07:26:21 -04:00
Connor Tumbleson
4862131a68
fix: correct path to archive during ci (#3287) 2023-08-21 06:49:31 -04:00
dependabot[bot]
4bdf0b6a75
build(deps): bump gradle/gradle-build-action from 2.7.0 to 2.7.1 (#3285)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  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-08-21 06:27:39 -04:00
ArjunaKumarMohanta
7235dda029
feat: Upgrade gradle to v8.3 (#3275) 2023-08-21 06:27:10 -04:00
Connor Tumbleson
8477d996db
fix: bump heap size to 1g max (#3286) 2023-08-21 06:26:46 -04:00
Connor Tumbleson
fedc754a78
refactor: remove unneeded blocks/semicolons (#3273) 2023-08-17 07:35:23 -04:00
Connor Tumbleson
225c9089d9
refactor: remove deprecations from test suite (#3269) 2023-08-13 14:25:32 -04:00
Connor Tumbleson
e99ed1ccbb
refactor: remove unused decodeManifest function (#3268) 2023-08-13 14:07:45 -04:00
Connor Tumbleson
fb6cd883c0
refactor: split out string block vs res table string (#3267) 2023-08-13 13:46:47 -04:00
Connor Tumbleson
1243dd5546
Refactor logging for chunks and sparse flags. (#3260)
* refactor: log each chunk in verbose mode

* refactor: drop unneeded ":" from log output

* refactor: spit out sparse message once
2023-08-09 08:38:34 -04:00
Connor Tumbleson
0d7a1bc3a8
build: upgrade to shadow build 8.1.1 (#3259) 2023-08-09 06:33:22 -04:00
Connor Tumbleson
0e226928ce
Remove Apktool Dummys. (#3258)
* refactor: properly parse dummy resources

* feat: remove dummys
2023-08-09 06:15:57 -04:00
Connor Tumbleson
bb9519a2d0
refactor: change naming pattern of class variables in StringBlock (#3256) 2023-08-08 07:11:11 -04:00
Connor Tumbleson
2549fe983b
build: run suite if any kotlin dsl file changes 2023-08-08 06:16:10 -04:00
Connor Tumbleson
22d792e328
fix: support encode styled string if length larger than offset (#3254) 2023-08-07 19:52:34 -04:00
Connor Tumbleson
50226e50c1
fix: support decoding application with duplicate res entries (#3252) 2023-08-05 12:21:42 -04:00
Connor Tumbleson
342ff67a4c
Migrate to Gradle Kotlin DSL (#3249)
* feat: initial migration to kotlin

* feat: initial migration to kotlin

* fix: wire up dependencies

* fix: Deprecated tag for kotlin detection

* refactor: put all modules into sub-projects

* fix: include jar file (android framework)

* fix: add version message/info

* fix: wire up version/gitrev to properties

* fix: wire up proguard on cli

* fix: wire up proguard

* fix: wire up output cleaning command

* fix: drop license header on gradle files

 - fully rewritten from scratch by myself
 - no longer including license header on build files

* fix: add compile utf8/flags for java8

* refactor: remove unneeded curly braces

* feat: progress towards maven-publish

* build: publish to maven

* docs: update documentation

* refactor: prevent implicit order by removal of afterEvaluate

* build: remove unused license plugin
2023-08-05 06:28:31 -04:00
sv99
0a354a9d97
Merge ResAttrDecoder into the AXmlResourceParser (#3243) 2023-08-01 18:43:15 -04:00
sv99
9d7d58016e
ApkDecoder use apkFile and unknownFiles from ApkInfo (#3242) 2023-08-01 06:57:22 -04:00
dependabot[bot]
e52c3b0f56
build(deps): bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 (#3240)
Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  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-08-01 06:44:05 -04:00
Connor Tumbleson
7c2cb5b30a
Hardened String Block Parser (#3239)
* fix: add headerSize to stringBlock to detect larger headers

* fix: handle app with style offset, but 0 styles

* refactor: split counting stream into CountingDataInput

* fix: read strings till end of string pool chunk

* fix: support out of bound string reading

* fix: don't read string/style offset out of bounds

* refactor: cleanup comments for string parser

* style: comment on 4 byte alignment

* fix: only warn if utf16 string
2023-08-01 06:23:14 -04:00
dependabot[bot]
9f8c1b3711
build(deps): bump gradle/gradle-build-action from 2.6.1 to 2.7.0 (#3241)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2.6.1...v2.7.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-31 05:46:21 -04:00
Connor Tumbleson
81d6040beb
fix: skip files that attempt to break filesystem (#3238) 2023-07-30 17:32:54 -04:00
Connor Tumbleson
663088890b
fix: skip unknown chunks in AXML (#3237) 2023-07-30 16:20:07 -04:00
Connor Tumbleson
445da0e658
Move to XMLUnit Legacy (#3235)
* build: migrate to xmlunit 2.9.1

* feat: opt into xxe protection for test suite
2023-07-30 13:48:26 -04:00
Connor Tumbleson
e19c44b1b1
refactor: drop unused method 2023-07-30 13:16:34 -04:00
Connor Tumbleson
cd275ff48b
fix: resolve missing namespace on system resources (#3234)
* fix: resolve missing namespace on system resources

* refactor: align pkdId check to 2nd of if
2023-07-30 07:18:06 -04:00
Connor Tumbleson
57ef8a205a
fix: support duplicated namespaces (#3233) 2023-07-30 05:52:35 -04:00
Igor Eisberg
33ca2929c9
refactor: clean up style and redundancy (#3232)
* refactor: clean up redundancy

* refactor: no need for both setApkFile and setApkFileName
2023-07-29 18:56:27 -04:00
Connor Tumbleson
ce180dce87
fix: un-deprecate --copy-original
-- fixes: #2129
2023-07-29 06:51:29 -04:00
Connor Tumbleson
486fb20084
Support empty resource table. (#3230)
* test: assertions for empty arsc table

* fix: don't crash if no pkgs found
2023-07-29 06:49:13 -04:00
Connor Tumbleson
fe93fd21d1
refactor: manual YAML Cleanup (#3229)
* refactor: add missing license headers

* fix: remove unused exceptions

* refactor: remove unused single quote / slash param
2023-07-29 06:14:40 -04:00
ArjunaKumarMohanta
6e5d49bd66
fix: Gradle wrapper validation trigger issue (#3228)
Resolved the Gradle wrapper validation triggering problem by implementing a more precise check. Now, the validation process will only be triggered when there are actual changes in the gradle/wrapper/gradle-wrapper.jar file, preventing unnecessary validations.
2023-07-29 06:02:19 -04:00
sv99
62b9eedb9e
Remove SnakeYAML for manual YAML Parser (#3191)
* Simple straitforward yaml serialization with minimal needed functionality

* Consolidate ApkInfo tests in the package brut.androlib.apk, unify interface YamlReader and add ApkInfoSerializationTest read -> write -> read test

* remove dependencies from snakeyaml

* remove unused methods

* correct indent test value

* correct style with curly braces

* add test item with hieroglyph
2023-07-29 05:59:15 -04:00