331 Commits

Author SHA1 Message Date
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
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
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
e5466fee23 Add annotation lookup functionality to AnnotationDirectoryItem 2012-06-05 18:09:33 -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
a4b5f66e4c Fix an issue with missing parameter annotations in methods without a body 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
c8de336727 Use Format 35c for invoke-direct-empty, and get rid of Format 35s 2011-11-20 15:46:40 -08:00
Ben Gruver
5967598d01 Add support for specifying a custom inline method table to use while deodexing 2011-11-20 15:46:40 -08:00
Ben Gruver
e00d96c438 Fix an issue with the handling of sparse-switch-data blocks 2011-11-20 15:46:40 -08:00
Ben Gruver
c2f08d5123 Add support for an --api-level parameter 2011-11-20 15:46:40 -08:00
Ben Gruver
c4db7e2473 Add support for Format5rc 2011-11-20 15:46:39 -08:00
Ben Gruver
1efc2c0388 Add support for Format52c (type references) 2011-11-20 15:46:39 -08:00
Ben Gruver
d863324ffb Add support for Format41c (field references) 2011-11-20 15:46:39 -08:00
Ben Gruver
d12c769276 Add support for Format41c (type references) 2011-11-20 15:46:38 -08:00
Ben Gruver
f40b4e9a1e Delete the old, unused string template 2011-11-19 11:39:49 -08:00
Ben Gruver
b0c62b9781 Seperate out execute-inline and execute-inline/range into seperate 35mi and 3rmi formats 2011-11-19 11:39:49 -08:00
Ben Gruver
3bfd77dff0 Use the term VtableIndex rather than MethodIndex for invoke-*-quick instructions/formats 2011-11-19 11:39:49 -08:00
Ben Gruver
225535b1c9 Add .gitignore files to exclude the target directory for the various modules 2011-11-19 11:39:45 -08:00
Ben Gruver
bbe539f2d2 Add support for the throw-verification-error opcode 2011-10-09 22:51:39 -04:00
Ben Gruver
cb3e0ea38a Improve the way sparse/packed switch data blocks are found and processed 2011-10-09 01:19:25 -04:00
Ben Gruver
3c4f8094a2 Fix possible issue(?) in IntegerRenderer.writeUnsignedTo 2011-07-15 13:32:36 -04:00
Ben Gruver
74c14ffcca Rename the printLongAsHex and printIntAsHex methods in IndentingWriter for clarity 2011-07-15 13:32:36 -04:00
jesusfreke@jesusfreke.com
baa030c201 Correctly escape any special characters in the value of the .source directive
git-svn-id: https://smali.googlecode.com/svn/trunk@811 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-06-03 01:40:23 +00:00
jesusfreke@jesusfreke.com
a564a1733b Don't forget to check if synthetic accessor comments are disabled
git-svn-id: https://smali.googlecode.com/svn/trunk@810 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-05-20 06:37:17 +00:00
jesusfreke@jesusfreke.com
2f376953b4 Add helper comments for synthetic member accessors
This adds a comment before a synthetic member accessor is called, which
mentions what member in the parent is being accessed

Kudos to jasta for suggesting this feature!

git-svn-id: https://smali.googlecode.com/svn/trunk@809 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-05-20 06:16:22 +00:00
JesusFreke@JesusFreke.com
b9a19bf3f1 Remove deodexerant and related functionality
git-svn-id: https://smali.googlecode.com/svn/trunk@797 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-21 17:33:20 +00:00
JesusFreke@JesusFreke.com
4b72225e9d Move the IndentingWriter class to the util project
git-svn-id: https://smali.googlecode.com/svn/trunk@788 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-08-17 13:27:58 +00:00
JesusFreke@JesusFreke.com
bbf4dbba61 Rename fileNameHandler to ClassFileNameHandler and move it to the utils project
git-svn-id: https://smali.googlecode.com/svn/trunk@787 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-08-17 13:27:25 +00:00
JesusFreke@JesusFreke.com
a6e5671a62 Add support for class names that differ only by case on case insensitive file systems
git-svn-id: https://smali.googlecode.com/svn/trunk@784 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-08-02 00:58:12 +00:00
JesusFreke@JesusFreke.com
8913c59363 Fixed issue 37, where the -b option to baksmali wasn't disabling all debug directives
git-svn-id: https://smali.googlecode.com/svn/trunk@764 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-06-26 11:18:41 +00:00
JesusFreke@JesusFreke.com
9c79173818 Incorporate the null check from the previous commit into the containing if statement
git-svn-id: https://smali.googlecode.com/svn/trunk@763 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-06-23 13:31:57 +00:00
JesusFreke@JesusFreke.com
ecc73ab3f5 Fix an NPE when there is a <clinit> with no codeItem
git-svn-id: https://smali.googlecode.com/svn/trunk@762 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-06-23 13:29:50 +00:00
JesusFreke@JesusFreke.com
e01409c11f Change the way unresolvable odex instructions are handled, so that it doesn't cause problems with try/catch blocks
git-svn-id: https://smali.googlecode.com/svn/trunk@737 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-06-12 15:55:44 +00:00
JesusFreke@JesusFreke.com
f7344d33d0 Split the logic for generating the instruction method items depending on whether we need to use the MethodAnalyzer or not
git-svn-id: https://smali.googlecode.com/svn/trunk@736 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-06-12 15:55:36 +00:00
JesusFreke@JesusFreke.com
fbea4e751f Cleaned up imports
git-svn-id: https://smali.googlecode.com/svn/trunk@709 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:26:08 +00:00
JesusFreke@JesusFreke.com
2371e35aae Exit on the first error by default, but add the -I option for ignoring errors and continuing with disassembly
git-svn-id: https://smali.googlecode.com/svn/trunk@701 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:25 +00:00
JesusFreke@JesusFreke.com
bde73b303c minor changes to option usage info
git-svn-id: https://smali.googlecode.com/svn/trunk@699 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:13 +00:00
JesusFreke@JesusFreke.com
db806b1261 minor reformatting - reorder the options
git-svn-id: https://smali.googlecode.com/svn/trunk@698 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:09 +00:00
JesusFreke@JesusFreke.com
c6734e8a60 Fix a typo in the commented out format for a packed-switch structure
git-svn-id: https://smali.googlecode.com/svn/trunk@697 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:06 +00:00
JesusFreke@JesusFreke.com
d293bc1eb3 Always read and write files using UTF8
git-svn-id: https://smali.googlecode.com/svn/trunk@696 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:01 +00:00
JesusFreke@JesusFreke.com
e861da1285 Fix the output format for the .parameter directive
git-svn-id: https://smali.googlecode.com/svn/trunk@694 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:52 +00:00
JesusFreke@JesusFreke.com
c1cc0e0934 Add better support for the case when an odex file has missing classes
git-svn-id: https://smali.googlecode.com/svn/trunk@693 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:48 +00:00
JesusFreke@JesusFreke.com
19b601436a Fix the formatting of the instruction offset comment
git-svn-id: https://smali.googlecode.com/svn/trunk@692 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:39 +00:00
JesusFreke@JesusFreke.com
baec3bc450 Fix the workaround for the ext.jar BCP special case
git-svn-id: https://smali.googlecode.com/svn/trunk@691 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:35 +00:00