Lanchon
b9a725e726
MemoryDataStore: Handle weird arguments values correctly
...
Namely:
- Negative arguments to InputStream::skip(n).
- Large arguments to readAt(offset).
2018-06-13 14:11:46 -07:00
Lanchon
c645b9d546
MemoryDataStore: More efficient overridable growth policy
2018-06-13 14:11:46 -07:00
Lanchon
b0a69fce34
MemoryDataStore: Add a data-trimming getData() method
2018-06-13 14:11:46 -07:00
Lanchon
53cdb13acc
MemoryDataStore: Rename the buffer getter method
2018-06-13 14:11:46 -07:00
Lanchon
6917c1fa14
MemoryDataStore: Keep track of actual size of data
2018-06-13 14:11:46 -07:00
Lanchon
d7b389da39
MemoryDataStore: Fix InputStream::read(byte[] b, int off, int len) bug
2018-06-13 14:11:46 -07:00
Lanchon
387299c6e3
MemoryDataStore: Allow overriding of growth policy
2018-06-13 14:11:46 -07:00
Lanchon
ea7c265d12
MemoryDataStore: Fix growth calculation
2018-06-13 14:11:46 -07:00
Albert Gorski
f10643fa43
Handle Changes in OAT Files for Android 8.1 (OAT 131)
...
- The OAT Header has a new field containing the offset to the
entries for the DEX files.
- The change was made in OAT 127.
- All offsets in the header had to be adjusted to account
for this new field.
- The offset to the entries for the DEX files also had to
be adjusted to use this field as they are no longer
right after the key value store.
- The format of the DEX entries also changed in OAT 127 and
again in OAT 131.
- The field containing the offset to the method bss
mapping was added in OAT 127.
- The field containing the offset to the dex sections
layout was added in OAT 131 right before the method
bss mapping offset.
2018-06-12 13:39:43 -07:00
ale5000
ec31f76206
Simplified mapApiToArtVersion
2018-06-12 00:52:27 -07:00
Ben Gruver
854f117d3d
Bump the version to 2.2.4
2018-06-11 23:34:07 -07:00
Ben Gruver
97fd796213
Bump the gradle version to 4.6
2018-06-11 23:33:49 -07:00
Ben Gruver
5916586f93
Add roundtrip tests for the 2 new opcodes
2018-05-23 13:34:16 -07:00
Ben Gruver
e2cffa23f7
Add support for const-method-handle and const-method-type in the tree walker
2018-05-23 13:34:16 -07:00
Ben Gruver
a387fa8b48
Add support for const-method-handle and const-method-type in the lexer and parser
2018-05-23 13:34:16 -07:00
Ben Gruver
2db1dec703
Add support for dex version 39 in dexlib2
2018-05-23 13:34:16 -07:00
Ben Gruver
69d004cbfd
Add a roundtrip test for invoke-custom
2018-05-23 13:34:16 -07:00
Ben Gruver
a198c85a8e
Add support for dumping the new structures
2018-05-23 13:34:16 -07:00
Ben Gruver
077c5c1b91
Let baksmali infer the api level when possible
2018-05-23 13:34:16 -07:00
Ben Gruver
e6f4475c87
Add full invoke-custom example
2018-05-23 13:34:16 -07:00
Ben Gruver
48d13b297f
Add support for invoke-custom and related structures in baksmali
2018-05-23 13:34:16 -07:00
Ben Gruver
e8760aa46b
Add support for method handle and call site references in ReferenceUtil
2018-05-23 13:34:16 -07:00
Ben Gruver
d82252e4d6
Make sure to close the writer after dumping
2018-05-23 13:34:16 -07:00
Ben Gruver
ba7a653fdf
Add support for invoke-custom and related structures in the tree walker
2018-05-23 13:34:16 -07:00
Ben Gruver
858d264db9
Change the name of the invoke method handle types
...
Change the names to match the name used in the smali grammar
2018-05-23 13:34:16 -07:00
Ben Gruver
9ccda3a1bf
Add support for invoke-custom and related structures in the parser and lexer
2018-05-23 13:34:16 -07:00
Ben Gruver
c7036da909
Make method_prototype rule build and return a MethodProtoReference
2018-05-23 13:34:16 -07:00
Ben Gruver
0a8839663b
"occured" -> "occurred" in SmaliTestUtils
2018-05-23 13:34:16 -07:00
Ben Gruver
5c5e4ae279
Implement support for new structures in DexWriter
2018-05-23 13:34:16 -07:00
Ben Gruver
cc34359691
Create separate section for encoded arrays
2018-05-23 13:34:16 -07:00
Ben Gruver
2d227a7349
Fix nullable issue in annotations rule
2018-05-23 13:34:16 -07:00
Ben Gruver
fa5d0cc73a
Add Immutable implementations of the new structures
2018-05-23 13:34:16 -07:00
Ben Gruver
8bdb50381d
Fix up a few non-immutable members in immutable encoded value implementations
2018-05-23 13:34:16 -07:00
Ben Gruver
dea793447f
Add DexBacked implementations of the new structures
2018-05-23 13:34:16 -07:00
Ben Gruver
ead2e033d0
Add getItemCount method to EncodedArrayItemIterator
2018-05-23 13:34:16 -07:00
Ben Gruver
2215e031bf
Fix typo in DexBackedMethodEncodedValue
2018-05-23 13:34:16 -07:00
Ben Gruver
88ece20f9f
Move the map item related methods from RawDexfile to DexBackedDexFile
2018-05-23 13:34:16 -07:00
Ben Gruver
e3fd1e8115
StaticInitialValueIterator -> EncodedArrayItemIterator
2018-05-23 13:34:16 -07:00
Ben Gruver
6c054e1b44
Minor javadoc fixes in MethodProtoReference
2018-05-23 13:34:16 -07:00
Ben Gruver
b575410a8a
Add the basic structures necessary to support invoke-custom
2018-05-23 13:34:16 -07:00
Ben Gruver
dfdde5ee21
Bump the version to 2.2.3
2018-03-07 16:22:53 -08:00
Ben Gruver
1fed67b820
Don't use java 1.6 for release.
...
It's becoming non-trivial to even get a 1.6 JDK these days.
Releases will be done with 1.8 instead
2018-03-07 16:19:45 -08:00
Ben Gruver
37eb703409
Make smali file iteration more deterministic
...
In some cases, even when running in single threaded mode (-j 1), smali
could produce slightly different results if files are not listed in
a consistent order.
This ensures that we assemble a given set of smali files in a consistent
order when running in single-threaded mode, regardless of the order
they are listed in.
2018-02-28 16:22:47 -08:00
Andreas Gampe
681222d391
Fix NaN comparison
...
Use Float.isNaN/Double.isNaN to correctly detect NaN.
Detected by errorprone.
2018-01-23 11:56:02 -08:00
Ben Gruver
948c0205b8
Bump the version to 2.2.2
2017-10-30 15:34:58 -07:00
Ben Gruver
38f575608f
Fix line_start annotation in debug_info_item
...
line_start can be > 2^31, so we have to use readBigUleb128 instead
of readSmallUleb128
2017-10-02 19:10:31 -07:00
Ben Gruver
20a272dbb9
Fix an issue when writing uleb128 values larger than 2^31
2017-10-02 19:10:31 -07:00
Orion Hodson
b84345935a
Fix out registers for invoke-polymorphic
...
The calculation of the number of output registers for
invoke-polymorphic and invoke-polymorphic-range should be based on the
number of registers provided.
2017-09-12 14:34:56 -07:00
Ben Gruver
93a4373023
Bump the version to 2.2.1
2017-05-17 11:32:05 -07:00
Daniel Bali
d4702a45a7
Add basic support for ODEX instructions
2017-05-17 11:20:30 -07:00