Commit Graph

361 Commits

Author SHA1 Message Date
Connor Tumbleson
fc43ec2470 unit test to check image color of 9patch 2016-03-24 08:14:20 -04:00
Chirayu Desai
26b60364fb Replace little endian data input stream implementation
* Drop LEDataInputStream (which had a restrictive license)
  with LittleEndianDataInputStream, which is public domain.

A minor change has been made to the new class, removing
the interitance of InputStream.
This makes it's behaviour indentical to the previous implementation,
and unit tests pass.

Fixes #1166
Source: http://www.peterfranza.com/2008/09/26/little-endian-input-stream/
2016-03-23 19:58:16 +05:30
Connor Tumbleson
ea2c821fa5 Add support for AndResGuard
- fixes #1170
2016-03-10 09:29:49 -05:00
Connor Tumbleson
ee8e9cea3d cleanup from removal of smali-debugging 2016-03-10 09:29:05 -05:00
Dave Nault
2f1326c6ca #1186 Performance: usage of String.format in ARSCDecoder.addMissingResSpecs
Reduces the time it takes to parse the Android framework by ~50%.

The synthesized name now has no leading zeroes, but this doesn't appear to matter since the numeric part of the name isn't used anywhere.
2016-03-07 11:33:07 -08:00
Connor Tumbleson
eabedeb211 remove unused file 2016-02-27 20:56:14 -05:00
Connor Tumbleson
cd852cd658 Removes SmaliDebugging
- fixes #1061
2016-02-27 20:20:53 -05:00
Connor Tumbleson
52e9e8a4d7 fix spacing & change warning message to use LOGGER 2016-02-16 08:18:26 -05:00
Christopher R. Palmer
4a02f5321c decoder: Extend "keep-broken-res" to also ignore duplicate resources 2016-02-15 11:13:49 -05:00
Connor Tumbleson
b29df52b87 Cleanup unclosed streams plus formatting
- run FindBugs to find problems
2016-02-14 20:34:06 -05:00
Connor Tumbleson
f3e21023ac Prefix integers only exceeding 9 digits to treat as string
- This prevents small numbers like "1" to become "\ 1"
 - added unit tests
 - fixes #1130
2016-02-10 08:05:54 -05:00
Connor Tumbleson
e82ef1034a actually run issue 1063 unit test 2016-02-10 07:54:58 -05:00
Connor Tumbleson
fd579747a8 license additions and reverting non-needed changes 2016-01-22 07:17:07 -06:00
Rover12421
123912d226 Apktool.yml file (MetaInfo) using object serialization
non-printable character more intuitive, does not affect printable
character view
2016-01-22 06:28:03 -06:00
Connor Tumbleson
81404c8904 close streams that needed closing (fixes #1143) 2016-01-22 06:27:23 -06:00
Connor Tumbleson
d5ca4c12a1 fix #1123
- correctly handles @null in xml
 - added unit test
2016-01-22 06:07:49 -06:00
Connor Tumbleson
0011498b52 [skip] rename var to match extension or file without extension 2016-01-06 12:49:55 -06:00
Andrei Zhukouski
22bd5b0acc Fixes issue #1122 2016-01-04 13:15:54 +03:00
Ira Hanson
09525bf657 Change non-printable character for Windows compatibility 2016-01-03 16:51:29 -06:00
Ira Hanson
719553aef0 Test APKs with non-printable characters in filenames 2016-01-03 13:35:54 -06:00
Ira Hanson
8232ee0ea8 Consistently encode unknown filenames to prevent cast error 2016-01-02 21:40:15 -06:00
Connor Tumbleson
13b39903d2 empty or null values should not be matched 2015-12-26 06:59:57 -05:00
Connor Tumbleson
f9323943db Handle Dexguard key names
- Temporarily replace with dummy value names till research is completed
 - allows decode
2015-12-26 06:59:43 -05:00
Connor Tumbleson
a8a9c40a7b add ResBoolValue to Style check 2015-12-26 06:58:39 -05:00
Connor Tumbleson
9618ce9759 [skip] code spacing, right margin is 120 chars 2015-12-18 11:31:43 -06:00
Connor Tumbleson
ba7393d705 Fixes #767
Handles large int values in AndroidManifest.xml, by prefixing
with `\ ` which aapt treats a string. This prevents truncation
from overflow.

Superseeds PR#1007 - thanks to gio73 for initial research &
MarchMil for continued investigation.
2015-12-18 11:30:28 -06:00
Connor Tumbleson
e5ac340cab [ci skip] minor spacing change 2015-12-18 09:46:28 -06:00
Connor Tumbleson
831765665f Handling empty (null) values again 2015-12-14 11:35:15 -06:00
Connor Tumbleson
b2d50bec5f [skip] code style cleanup 2015-12-14 07:10:14 -06:00
Connor Tumbleson
eabb7d819b Correctly read sparse ResourceTables.
Prior to this change, APKs usually went Package -> TypeSpec -> Config (all) -> Entries.
Reading all configs under that TypeSpec. Now we have packages that go
Package -> TypeSpec -> Config (single) -> Entries.

So we have to read this correctly to make sure we can correctly decode sparse and packed
Resource tables.
2015-12-14 07:03:09 -06:00
Connor Tumbleson
7e803aeac9 Gracefully handle null values 2015-12-14 07:00:46 -06:00
Connor Tumbleson
be4bdf1d75 Adds support for DATA_NULL_EMPTY 2015-12-14 07:00:12 -06:00
Connor Tumbleson
6c4167fba4 Fixes #1099
- Moves Config --> Type
 - Moves Type -> TypeSpec
 - ResType -> ResTypeSpec
 - ResConfig -> ResType

 This is to match AOSP and ease the transitions/updates of new AOSP drops
2015-12-07 20:48:57 -06:00
Connor Tumbleson
1e5dc3006e Add headerSize & chunkSize to Header class 2015-12-07 07:34:56 -06:00
Connor Tumbleson
af2f54245b [skip] remove confusing logic 2015-12-03 07:57:12 -06:00
Connor Tumbleson
8374839427 MNC, noticed recently in API 23, is no longer 0 padded. So mnc001 is now mnc1
- Frameworks between froyo and honeycomb have mnc001, etc
 - A size check of ResConfig header for less than 32 (honeycomb) uses old decode method
 - Greater than 32 bytes moves to new decode method of mnc# vs mnc###
2015-12-01 08:48:31 -06:00
Rover12421
6f617db53f set readConfigFlags read default value to 28
fix if size == 28, remainingSize error.
2015-11-17 14:31:17 +08:00
Connor Tumbleson
5f5f50f6fd Fixes edge case where mnc = 1, with no mcc field. Fixes #1072 2015-11-01 06:17:29 -06:00
Connor Tumbleson
83f3273a48 Merge branch 'master' of github.com:iBotPeaches/Apktool 2015-10-20 06:27:09 -05:00
Connor Tumbleson
3cc141025f Add deprecation notice for SmaliDebugging - #1061 2015-10-20 06:19:50 -05:00
zoujunhua
c30261bd15 add "flyme" to list of ignored renamed packages 2015-10-16 16:02:02 +08:00
Connor Tumbleson
8fee3499e3 add unit-test for #1063 2015-10-15 10:52:01 -05:00
Connor Tumbleson
3dea579f66 Prevent casting Strings/Styles to Attrs
- refs #957, #1060
2015-10-15 08:58:19 -05:00
Connor Tumbleson
76a940628f greedy .dex finder is finding dex files in unknown folders
- which android can't load unless its in /root of apk
2015-10-15 08:57:20 -05:00
Connor Tumbleson
5e4bae0526 Only stores extension(s) of uncompressed files
- fixes #1053
2015-10-13 07:28:43 -05:00
Connor Tumbleson
0fb21a3758 update internal aapt to API 23 2015-10-12 06:21:25 -05:00
Connor Tumbleson
b54e40ad21 update internal framework to API 23 (marshmallow) 2015-10-08 06:59:05 -05:00
Connor Tumbleson
26b883ac3b Updated unit-tests to include API 23 tests 2015-10-08 06:58:32 -05:00
Connor Tumbleson
a29839bab2 Added API 23 qualifier "roundness" 2015-10-08 06:58:11 -05:00
Connor Tumbleson
0d53923e24 Merge branch 'fix-flag-ref' of https://github.com/phhusson/Apktool into phhusson-fix-flag-ref 2015-09-12 15:07:49 -05:00