Commit Graph

1847 Commits

Author SHA1 Message Date
IgorEisberg
fad2f99541 style: return DexFile interface from SmaliDecoder 2021-07-04 14:12:38 +03:00
IgorEisberg
6cfa79e456 Determine minSdkVersion with baksmali for JARs + don't compress webp
We take advantage of the fact that baksmali can determine the minimum API version needed for a given collection of opcodes and extract it, then save to mMinSdkVersion, which is only used by smali via buildSourcesSmali.
This change, in addition to my previous change, allows to decompile and recompile JARs without worrying about specifying an API version via -api/--api-level.

As an extra, added webp file extension to NO_COMPRESS_PATTERN, according to AAPT2 standards, and since it's factually never compresses as it's an already compressed format.
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/tools/aapt2/cmd/Link.cpp;l=2328
2021-07-04 02:14:56 +03:00
Connor Tumbleson
d1e4478f82
Merge pull request #2604 from IgorEisberg/master
Fix baksmali without API version and various optimizations
2021-07-03 17:41:22 -04:00
IgorEisberg
1ed1076a84 correction: don't clear resource table if it was already loaded 2021-07-04 00:16:22 +03:00
IgorEisberg
88d3d0038c style: organize some using statements for consistency 2021-07-03 23:24:42 +03:00
IgorEisberg
83f9693633 clean: get rid of useless throws 2021-07-03 23:15:10 +03:00
IgorEisberg
1472b50541 fix: pass opcodes=null for baksmali to auto-determine by dex version
When DexBackedDexFile gets opcodes==null, it calls getDefaultOpcodes(dexVersion) which returns the appropriate opcodes for the given dex version. No hints are required for baksmali, but only needed for smali.
https://github.com/JesusFreke/smali/blob/master/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java#L83
2021-07-03 23:05:04 +03:00
IgorEisberg
204b742cf0 Avoid abuse of getResTable calls and unneeded checks 2021-07-03 22:46:11 +03:00
IgorEisberg
1fd3f52b9d clean: setTargetSdkVersion used before manifest was decoded 2021-07-03 22:35:59 +03:00
IgorEisberg
992de66bac Handle setAnalysisMode properly 2021-07-03 22:17:00 +03:00
IgorEisberg
bb42159880 style: rename vars for consistency 2021-07-03 21:26:16 +03:00
Connor Tumbleson
5599e30206
Merge pull request #2602 from Goooler/gradle7
Bump gradle to 7.1 & update dependencies
2021-07-02 06:14:00 -04:00
Goooler
64a986d752 Update dependencies 2021-07-01 11:21:20 +08:00
Goooler
3ff5588b08 Bump gradle to 7.1 2021-07-01 11:13:44 +08:00
Goooler
d65c88a447 Merge branch 'master' into gradle7
# Conflicts:
#	build.gradle
2021-07-01 11:12:17 +08:00
Connor Tumbleson
a6138f3be4
feat: add helpful message if CantFindFrameworkResException is thrown 2021-06-26 07:02:46 -04:00
Connor Tumbleson
192f9cb627
style: correct name of downloaded asset 2021-06-12 17:31:07 -04:00
Connor Tumbleson
f5885a4763
feat: produce binary per master commit 2021-06-12 17:24:17 -04:00
Connor Tumbleson
9f8ddb1bb0
feat: update internal framework to API 31 (S Beta 4) 2021-06-02 06:21:30 -04:00
Connor Tumbleson
ea3427a3a5
Merge pull request #2577 from iBotPeaches/build-system
build: cache gradle based on java version
2021-05-31 06:55:20 -04:00
Connor Tumbleson
3b31189222
build: cache gradle based on java version 2021-05-31 06:54:26 -04:00
Connor Tumbleson
66b1c30fa0
style: use new form of junit assertions 2021-05-31 06:43:40 -04:00
Connor Tumbleson
de03c8b689
docs: drop freenode, hello libera.chat 2021-05-30 14:34:21 -04:00
Connor Tumbleson
7c2ea3537d
Merge pull request #2561 from Goooler/version
TestImplementation jUnit in depends
2021-04-27 11:43:47 -04:00
Goooler
076ade6a51 TestImplementation jUnit in depends 2021-04-25 22:40:46 +08:00
Connor Tumbleson
f11962024e
Merge pull request #2560 from Goooler/optimize
Optimize gradle
2021-04-25 10:19:21 -04:00
Goooler
caa57b4d55 Use string template 2021-04-24 10:53:30 +08:00
Goooler
8828ab53b7 Optimize gradle 2021-04-24 10:32:50 +08:00
Goooler
8a8cd6eb89 Bump versions 2021-04-22 18:14:18 -04:00
pashamcr
93796fde46 fix: Update gradle to 7.0 2021-04-16 12:13:02 +03:00
pashamcr
c57a731d17 Update gradle to 7.0
Signed-off-by: pashamcr <36408873+pashamcr@users.noreply.github.com>
2021-04-16 11:22:17 +03:00
Goooler
3352088d00 Add proguard rule 2021-04-14 06:33:21 -04:00
Goooler
f9c137009e Update dependencies 2021-04-14 06:33:21 -04:00
Matteo Baccan
b3741409f5
Code smell reduction (#2554)
* Correct use of <> diamond operator

* Correct modifiers order

* Private constructor for utility class

* Correct use of diamond operator

* Corrected naming convention

* Correct modifier order

* Use not synchronized class

* Introduced try/resource in stream copy

* Removed unused private field

* Code reformat

Reformat of IOUtils.copy from to stream

* Add a space

Improved code formatting

* Code reformat

Only a new space

* Code reformat

Removed extra spaces
2021-04-14 06:31:32 -04:00
Connor Tumbleson
baf8bb592a
Merge pull request #2548 from Comnir/2546-create-new-buffer-when-retrying-decoding
Create a new ByteBuffer for decoding when retrying with CESU-8
2021-04-03 08:44:17 -04:00
Comnir
491d18058a test: fix incorrect 3-byte encoding. 2021-04-03 13:47:13 +03:00
Comnir
f10060fe8f fix: when decoding with UTF-8 fails, create a new buffer for the retry with CESU-8.
If the decoding fails and there are UTF-8 decodable bytes before the bytes that couldn't be decoded, then the read index of the original buffer is incremented and those bytes will be missing from the decode result.
Now we create a new buffer and the decoding will start at the original start offset.

issue #2546
2021-04-03 13:28:22 +03:00
Connor Tumbleson
0a7b843786
fix: cleanup StringBlock from unused methods 2021-03-28 17:26:35 -04:00
Connor Tumbleson
d2288ef921
fix: remove unused smali builder methods 2021-03-28 17:26:19 -04:00
Connor Tumbleson
bddf575318
fix: remove no longer used resources on ResPackage 2021-03-28 17:26:08 -04:00
Connor Tumbleson
618d9b23e5
fix: remove unused methods from Res* data classes 2021-03-28 17:25:37 -04:00
Connor Tumbleson
edb4fc86cc
fix: remove unused methods/properties from AXmlParser 2021-03-28 17:25:16 -04:00
Connor Tumbleson
64eda064eb
fix: remove unused util methods/exceptions 2021-03-28 17:10:52 -04:00
Connor Tumbleson
3d3dd07cf2
fix: remove unused exceptions 2021-03-28 17:10:01 -04:00
Connor Tumbleson
8a23d0dbc1
refactor: correct spelling mistake of aapt 2021-03-28 10:54:31 -04:00
Connor Tumbleson
6a7f606410
Merge pull request #2545 from iBotPeaches/issue2543
test: add testcase for static field values
2021-03-28 07:56:59 -04:00
Connor Tumbleson
468ead8f10
test: add testcase for static field values 2021-03-28 07:44:16 -04:00
Connor Tumbleson
280a3d8c01
docs: remove roadmap item (library) - completed (/) 2021-03-12 19:17:27 -05:00
Connor Tumbleson
f4c2f9bc50
fix: remove declared exceptions that aren't thrown 2021-03-12 07:47:19 -05:00
Connor Tumbleson
4d11c13e44
refactor: remove duplicated code 2021-03-12 07:37:47 -05:00