Ben Gruver
06bc17a75e
Correctly handle duplicate (except case) reserved file names on windows
2012-09-04 21:04:13 -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
ee54115485
Refactor the instruction rule in the tree walker
2012-08-24 17:22:03 -07:00
Ben Gruver
4af666e4a6
Remove support for the extended opcodes
2012-08-24 16:54:05 -07:00
Ben Gruver
47873da1c5
Refactor the instruction rule in the parser
2012-08-24 15:17:33 -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
5b4073a85c
Add the findbugs library to baksmali explicitly, rather than transitively through dexlib
2012-07-05 21:54:03 -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
9069177bff
Bump version number to 1.3.4-dev
2012-06-20 22:45:14 -07:00
Ben Gruver
5f2ad8bd13
Suppress some warnings when doing the proguard thing
2012-06-20 22:22:11 -07:00
Ben Gruver
0534f304b6
Use proguard on the assembled smali/baksmali jars
...
This is primarily to remove any unused classes, to reduce the jar size
2012-06-20 16:32:28 -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
7bb622e0b1
Set the default local to en-US, to avoid locale specific weirdness
2012-06-19 18:03:44 -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
Ben Gruver
1ffc028a3b
Add a check to Item.getOffset() and getIndex() to ensure the item has been placed
2012-06-05 17:59:55 -07:00
Ben Gruver
b71c12967b
Refactor the interface of AnnotationDirectoryItem
...
This makes it easier to use, and fixes a few null safeness issues.
2012-06-05 17:59:45 -07:00
Ben Gruver
2bfc114146
Clean up the maven configuration
...
This allows everything to be built with a simple "mvn package" from the root
2012-05-23 14:31:11 -07:00
Ben Gruver
36c2f08ba0
Clean up how the usage messages are printed
...
This also fixes an OOM issue when trying to print the usage message
on a terminal that doesn't report its width.
2012-05-13 11:57:50 -07:00
Ben Gruver
0044afa4c3
Don't let later entries in the classpath override classes from earlier entries
2012-03-23 01:53:16 -07:00
Ben Gruver
1acfb0ef18
Instruction3rmi should use Format3rmi, not Format3rms
2012-03-10 20:18:42 -08:00
Ben Gruver
8ca89226fa
Bump the version number to 1.3.3-dev
2012-01-12 00:46:32 -08:00
Ben Gruver
0d57d42794
Fix stupid infinite loop problem
2012-01-12 00:45:22 -08:00
Ben Gruver
b7cd134fd3
Bump the version number to 1.3.2-dev
2012-01-11 22:12:46 -08:00
Ben Gruver
a9f36cda13
Fix idiotic "this" alias
2012-01-11 22:11:31 -08:00
Ben Gruver
96b803c882
Add support for version 36 dex files
2012-01-11 22:11:27 -08:00
Ben Gruver
d89375a663
Fix-up InlineMethodResolver_version35 to use the new OdexedInvokeInline interface
2011-12-20 20:27:55 -08:00
Ben Gruver
a4b5f66e4c
Fix an issue with missing parameter annotations in methods without a body
2011-12-20 20:27:55 -08:00
Ben Gruver
c94ca5ff8d
Bump the version number to 1.3.1-dev
2011-12-20 20:27:55 -08:00
Ben Gruver
0da8e11d11
Make sure the api level is set before reading in the dex file
2011-11-20 23:13:55 -08:00
Ben Gruver
4d3b3311e1
Fix a few issues with Format 35mi
2011-11-20 20:21:30 -08:00
Ben Gruver
9e78b6b021
Add CAN_INITIALIZE_REFERENCE flag for Opcodes
2011-11-20 20:09:48 -08:00