Commit Graph

853 Commits

Author SHA1 Message Date
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
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
Connor Tumbleson
420406b553
test (aapt2): add assertion for "usesPermissionFlags" (#2790) 2022-03-28 07:07:20 -04:00
Connor Tumbleson
b910df79dd
New aapt/aapt2 binaries (#2787)
* feat: new aapt1/aap2 binaries for mac (static)

* feat: new aapt1/aapt2 binaries for unix/mac (static)

* feat (aapt2): allow reserved pkgIds
2022-03-28 06:53:42 -04:00
Connor Tumbleson
fc28ac56ef
Merge pull request #2785 from iBotPeaches/revert-2650-fix-private-reference
Revert "fix: decoding references to private resources"
2022-03-21 07:44:22 -04:00
Connor Tumbleson
49071d0fb0
feat: update internal framework to API 31 (12 Release) (#2743)
* feat: update internal framework to API 31 (12 Release)

* refactor: rename enums for new overlays/stagedAliases

* fix: introduce basic staged alias support

* feat: update internal framework to API 32 (12L Release)

* fix: add support for overlay spec skipping
2022-03-21 07:20:04 -04:00
Connor Tumbleson
c300184780
fix: add support for overlay spec skipping 2022-03-21 07:03:14 -04:00
Connor Tumbleson
26f39ee736
feat: update internal framework to API 32 (12L Release) 2022-03-21 07:02:54 -04:00
auermich93
e105768592
fixes issue #2473 (#2783) 2022-03-21 06:51:15 -04:00
Connor Tumbleson
df3b9f7c56
fix: introduce basic staged alias support 2022-03-13 08:34:45 -04:00
Connor Tumbleson
e9a3993da8
refactor: rename enums for new overlays/stagedAliases 2022-03-13 08:34:31 -04:00