Commit Graph

933 Commits

Author SHA1 Message Date
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
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
Connor Tumbleson
5a7e7b152d
feat: update internal framework to API 34 (Vanilla Ice Cream) (#3115) 2023-07-02 05:43:04 -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
sv99
168aa1abc0
move AndrolidExceptions to the package brut.androlib.exceptions (renamed from brut.androlib.err) (#3088) 2023-06-10 13:16:31 -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
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
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
sv99
48b71b34b1
refactor: Replace to nio & apply CS inspection skips (#3055) 2023-05-13 06:12:22 -04:00
Connor Tumbleson
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
Connor Tumbleson
d3c5813442
fix: properly read 'XML_TYPE_OVERLAY_POLICY' (#3035) 2023-03-25 07:14:38 -04:00
Connor Tumbleson
9153a272d3
fix: support 10mb apktool.yml parsing (#3015) 2023-03-04 14:51:21 -05:00
Igor Eisberg
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
Connor Tumbleson
0a3c7595eb
feat: support config flags as low as 8 bytes (#2982) 2023-01-21 13:30:13 -05:00
Connor Tumbleson
67a936f1c7
build: include bleeding edge smali from source via jitpack (#2941)
* build: include smali from source

* refactor: adjust build.gradle for repositories
2022-11-24 06:15:41 -05:00
Connor Tumbleson
35ce8fc061
Issue 2943 - Support raw disassembly w/ AndResGuard (#2944)
* fix: allow copying r/R if in raw mode

* test: assert raw files disassembled from AndResGuard
2022-11-20 08:08:45 -05:00
Danealau
8749e2a6c4
fix: support (name removed) res items. (#2940)
* fix:  res/layout/(name removed).xml: Invalid file name: must contain only [a-zA-Z0-9$_.] error

* refactored fix
2022-11-16 19:52:55 -05:00
Connor Tumbleson
22f2e6fb23
fix: support properly mapping r/R/res resources during disassemble (#2936) 2022-11-13 18:06:25 -05:00
Connor Tumbleson
07d15e8200
Squashed commit of the following:
commit 66a7167079caafd2e805dcd9e3dd1a883b92493b
Author: Connor Tumbleson <connor.tumbleson@gmail.com>
Date:   Wed Nov 9 06:02:23 2022 -0500

    refactor: add message when pairing --only-main-classes w/ --no-src

commit 565a4dbe33e69e0da775ad8678a29fd7e117fe3c
Author: surendrajat <surendrajat@protonmail.com>
Date:   Wed Nov 9 12:12:28 2022 +0530

    fix: --no-src should take precedence over --only-main-classes
2022-11-09 06:03:44 -05:00
Connor Tumbleson
ef83dc2f04
fix: don't assume a referent exists on ReferenceValue (#2926) 2022-11-08 06:56:05 -05:00
Connor Tumbleson
273842279a
Merge branch 'stored_obfuscated_files' 2022-11-08 06:24:49 -05:00
Connor Tumbleson
b32be8ca2a
refactor: rename attributes for storing obfuscated filepath 2022-11-08 06:24:41 -05:00
Miepee
6a70be6c26
make default framework detection on linux xdg-compliant (#2924)
On Linux, check first if $XDG_DATA_HOME is set, if not use path as it was before (~/.local/share/apktool)
2022-11-08 05:54:36 -05:00
Kirlif
c4e8f88499
Fix « doNotCompress » in case of obfuscated resources. 2022-11-07 14:08:49 +01:00
Dominic Lemire
f8df056a2c
fix: overlay spec parsing (#2805) (#2917) 2022-11-02 06:56:49 -04:00
Sven Marquardt
9db742618b
Fixes #2900 (#2901)
Fastst way to fix empty key value splitting for styled strings.

Signed-off-by: Sven Marquardt <dev@mail.smarquardt.space>

Signed-off-by: Sven Marquardt <dev@mail.smarquardt.space>
2022-10-12 06:55:29 -04:00
Connor Tumbleson
fc1e21e9ed
fix: correct npe if null is returned from attribute value (#2889) 2022-09-20 07:19:28 -04:00
Connor Tumbleson
dc3667dbd0
Support Spare Flags (#2887)
* support sparse flag

* style: cs changes

Co-authored-by: R0S <41138521+iamr0s@users.noreply.github.com>
2022-09-19 17:18:35 -04:00
Connor Tumbleson
3fff2f128e
Support malformed resource names/namespaces by falling back to resId (#2886)
* Correct falsely-referenced attribute into an entity which is an obfuscated name

* style: correct syntax for custom attributes

* fix: remove unused import

Co-authored-by: MyAnoneNeko <MyAnoneNeko@users.noreply.github.com>
2022-09-19 16:27:43 -04:00
Tvildo
5d6c6c04d2
Fixes Facebook apk deconstruction (#2884) 2022-09-19 12:34:14 -04:00
Connor Tumbleson
7a2c0c8bb8
fix: correct case when application has no ResPackages
- refs: #2701
2022-07-10 07:42:29 -04:00
Connor Tumbleson
f94cdc5cf3
refactor: mark skips as "fine" to not clog output 2022-07-10 07:38:05 -04:00
Connor Tumbleson
287d4a5922
style: fix missing throws statements on javadoc 2022-07-10 07:34:45 -04:00
Connor Tumbleson
dceff41a57
feat: lodge helpful information of built apk location
fixes: #2843
2022-07-10 07:32:40 -04:00
Connor Tumbleson
c3ce154b72
Binaries: aapt/aapt2 updates (July 5, 2022) (#2846)
* feat: new aapt/aapt2 binaries (win/linux)

* feat: new aapt/aapt2 binaries (mac)

* docs: optimization techniques for aosp clone
2022-07-10 07:21:24 -04:00
Connor Tumbleson
057b35fcec
feat: update internal framework to API 33 (Tiramisu Privacy Preview) (#2845) 2022-07-03 13:00:39 -04:00
Connor Tumbleson
b7c56c8928
Tests / Style for #2815 (#2817)
* style: reorg getAttributes (StyledString)

* test: assertion for aapt2 string (#2815)
2022-05-23 07:09:27 -04:00
Igor Eisberg
c1f6dc792a
fix: redesign StyledString decoding (#2816)
* fix: redesign StyledString decoding

* optimize: avoid calling span.getName() twice

* fix: order spans due to aapt1/2 discrepancy
* fixes: #2815
2022-05-23 06:40:48 -04:00
erev0s
8fab4bfb3d
added option to include generic/permissive network security config file durin… (#2791)
* added option to include permissive network security config file during build

* added tests for app with existing network config and for app without

* minor fixes for pull 2791

* refactor: slim down test app for network config

* style: remove extra newlines

* refactor: moved network tests to aapt2

* refactor: remove unused exceptions

* test (aapt2): ensure aapt2 is used for net-sec-conf

* fix (cli): block use of net-sec-conf on aapt1

* fix conflict

Co-authored-by: Connor Tumbleson <connor@sourcetoad.com>
Co-authored-by: Connor Tumbleson <connor.tumbleson@gmail.com>
2022-05-07 06:52:07 -04:00
Connor Tumbleson
d38eceedae
test (aapt/aapt2): ensure ampersand is escaped on android:label (#2802)
* test (aapt/aapt2): ensure ampersand is escaped on android:label

* build (workflow): ensure test changes force ci rebuild
2022-04-24 17:33:11 -04:00