Ryan Welton
4ab8df84b0
Add alternative constructor
...
Add constructor that can use a bytestream so we can parse a DexFile
completely in memory
2013-09-20 00:00:31 -04:00
Ben Gruver
a0c24f1c9f
Fix issue with how the set of interfaces a class implements is calculated
2013-04-08 23:16:22 -07:00
Ben Gruver
541b934948
Fix an issue when merging two interface types
2013-04-08 22:17:56 -07:00
Ben Gruver
de7afc64ca
Improve register merging in the case of an unresolved type
2013-04-08 18:43:33 -07:00
Ben Gruver
2a206e6f85
Allow arbitrary method names in <>
...
Kotlin is known to use <anonymous>
2013-04-07 13:23:47 -07:00
Ben Gruver
cf45978c6a
Fix an NPE when trying to resolve a non-existent synthetic accessor
2013-04-01 23:14:56 -07:00
Patrick McLaughlin
9993130b74
Make Utf8Utils thread-safe
2013-01-11 18:25:58 -05:00
Ben Gruver
b34b329f1d
Use guava rather than google-collections
2012-12-25 20:26:03 -08:00
Ben Gruver
c1023018d9
Use java.lang.Object as the superclass of an unresolvable class while deodexing
2012-12-25 20:05:51 -08:00
Ben Gruver
ebd1b0e9c1
Ensure class permissions are valid when resolving a field while deodexing
2012-12-25 18:04:28 -08:00
Ben Gruver
650d426c12
Ensure class permissions are valid when resolving a virtual method while deodexing
2012-12-09 16:18:19 -08:00
Ben Gruver
9a9a664af2
Add support back for jumbo instructions
...
Support for these is no longer controlled by the api, but rather
by the -J option.
2012-11-19 01:06:42 -08:00
Ben Gruver
03a89d0ac1
Fix the javadoc for ClassDataItem.getParentType
2012-10-11 20:00:15 -07:00
Ben Gruver
1176b75123
Add support for new virtual table generation
...
This adds support for a fix in dalvik that changes the way
virtual tables are generated.
This new logic can be turned on with the -K option. This option
will be removed once the new functionality can be tied to a released
api level, at which point, it will be triggered when using an
appropriate api level with the -a option.
2012-10-11 19:59:49 -07:00
Ben Gruver
ff05a416c5
Add the new StrictMath inlines
2012-10-08 21:12:21 -07:00
Ben Gruver
92a9aa2aa5
Minor cleanup of synthetic access related stuff
2012-10-08 19:18:06 -07:00
Ben Gruver
9a12fbef99
Fix an issue related to synthetic access methods in an unexpected format
2012-10-08 19:17:08 -07:00
Ben Gruver
f4dd5319e9
Removed deleted argument from InitializeClassPath javadoc
2012-10-06 13:56:21 -07:00
Ben Gruver
598dcde6c9
Fix a deodex issue when merging an unresolved array type
2012-10-04 20:38:18 -07:00
Ben Gruver
60bb8c675c
Simply the generic-ity around Instruction, OffsetInstruction and InstructionMethodItem
2012-09-25 20:18:42 -07:00
Ben Gruver
a59fe7e523
Change how the parent is determined for AnnotationDirectoryItem and ClassDataItem
2012-09-25 19:52:04 -07:00
Ben Gruver
15ecbaa9f0
Remove unneeded .gitignore files
2012-09-16 01:01:31 -07:00
Ben Gruver
1f1f012292
Fix BIG_ENDIAN constant in HeaderItem
2012-09-16 00:18:16 -07:00
Ben Gruver
181c04c839
Add copyright/license for build scripts
2012-09-16 00:03:44 -07:00
Ben Gruver
4c1774eb41
gradleize dexlib project
2012-09-15 15:58:43 -07:00
Ben Gruver
b58433a074
Allow multiple ClassDefItems to share a single empty ClassDataItem
2012-09-03 17:00:45 -07:00
Ben Gruver
ed33c426e7
Properly deodex instructions that come after an unresolvable odex instruction
2012-09-03 16:41:10 -07:00
Ben Gruver
4af666e4a6
Remove support for the extended opcodes
2012-08-24 16:54:05 -07:00
Ben Gruver
3cf9e0c1e5
Allow non-standard header sizes
2012-08-24 14:58:30 -07:00
Ben Gruver
5934004fe3
Allow try end addresses that fall in the middle of an instruction
2012-08-24 14:52:55 -07:00
Ben Gruver
7d37656282
Add getters for inWords and outWords in CodeItem
2012-07-13 18:31:13 -07:00
Ben Gruver
66b89545a4
Fix bug in Utf8Utils
2012-07-13 18:27:27 -07:00
Ben Gruver
343df2f456
Simplify deodexing
...
This makes it possible to deodex an odex file using only the dependencies
listed in the odex file itself. Adding extra dependencies via the -c
option should no longer be needed.
2012-07-05 21:55:54 -07:00
Ben Gruver
30ab0c266a
Remove obsolete TODO regarding duplicate classes in the class path
2012-07-03 22:43:11 -07:00
Ben Gruver
a9ce1cf3ec
For unknown opcodes, mention the original opcode value in a comment
2012-07-03 22:36:29 -07:00
Ben Gruver
2f81aec886
Treat unknown opcodes as nops
2012-06-28 23:13:45 -07:00
Ben Gruver
0aa30d93f8
Don't compare encoded values with item references by item index
2012-06-20 16:29:54 -07:00
Ben Gruver
3f70d08442
Gracefully handle duplicate methods and fields in baksmali
...
baksmali will emit duplicate methods and fields as commented blocks, when it
is safe to do so.
2012-06-19 16:03:20 -07:00
Ben Gruver
9c7c421f51
Check for duplicate field/method definitions in ClassDataItem
2012-06-19 12:04:58 -07:00
Ben Gruver
0d2ce20ee4
Fix up makeDefaultValueForType method
...
1. Remove the unused DexFile parameter
2. Add a convenience wrapper that accepts a TypeIdItem
2012-06-18 15:28:55 -07:00
Ben Gruver
662e425150
Rename MethodIdItem.getVirtualMethodString to getShortMethodString
2012-06-18 15:25:33 -07:00
Ben Gruver
94abcd3332
Add the ability to retrieve the checksum and signature from the header_item
2012-06-12 13:34:49 -07:00
Ben Gruver
4de8efcc31
Don't pre-sort ClassDefItems
2012-06-11 16:01:10 -07:00
Ben Gruver
9a295c54e1
Add EncodedLiteralInstruction interface
2012-06-06 18:16:49 -07:00
Ben Gruver
58e4b792b8
Add static utility methods to StringIdItem and TypeIdItem for getting their string representations
2012-06-06 11:09:46 -07:00
Ben Gruver
f7dfb272f3
Don't modify the staticFieldInitializers list passed in to ClassDefItem.intern...
2012-06-05 18:59:40 -07:00
Ben Gruver
cf01f5db09
Refactor ClassDefItem
...
This primarily adds nullable/nonnull annotations, and fixes a few related issues
2012-06-05 18:34:09 -07:00
Ben Gruver
10ebad1205
Refactor the ClassDataItem interface
...
This improves the usability and makes the nullness (or nonnullness) for
various things explicit.
2012-06-05 18:09:38 -07:00
Ben Gruver
d320d6ce8c
Add Item.isPlaced() method and replace getOffset() != -1 with !isPlaced() in ClassDefItem
2012-06-05 18:09:38 -07:00
Ben Gruver
e5466fee23
Add annotation lookup functionality to AnnotationDirectoryItem
2012-06-05 18:09:33 -07:00