272 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
9293a116b3 Added an option to only read the dex file then exit (mostly for profiling)
git-svn-id: https://smali.googlecode.com/svn/trunk@224 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-27 02:10:07 +00:00
JesusFreke@JesusFreke.com
dd5fc67202 Added support for the V type as a literal in annotations
git-svn-id: https://smali.googlecode.com/svn/trunk@223 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-25 07:14:58 +00:00
JesusFreke@JesusFreke.com
87f4a1a35e Added support for NaNd, NaNf, InfinityD, InfinityF, -InfinityD and -InfinityF constants
git-svn-id: https://smali.googlecode.com/svn/trunk@222 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-25 07:07:05 +00:00
JesusFreke@JesusFreke.com
69c3abb483 - fixed an issue where java.lang.Object from core.jar couldn't be re-assembled, because it has no superclass
git-svn-id: https://smali.googlecode.com/svn/trunk@221 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-25 04:38:00 +00:00
JesusFreke@JesusFreke.com
3249b724ea - fixed an issue where -D didn't use the specified file
git-svn-id: https://smali.googlecode.com/svn/trunk@219 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 06:29:07 +00:00
JesusFreke@JesusFreke.com
c894b9658c - removed the ability to dump to stdout (issues with the CLI recognizing '-' as a value instead of an option)
- tweaked the version and usage info

git-svn-id: https://smali.googlecode.com/svn/trunk@218 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 06:21:29 +00:00
JesusFreke@JesusFreke.com
60188336df Updated the mojo to match the new interface for smali
git-svn-id: https://smali.googlecode.com/svn/trunk@217 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 06:20:29 +00:00
JesusFreke@JesusFreke.com
2cd9246976 Significant rewrite of the command line interface, using apache commons CLI
git-svn-id: https://smali.googlecode.com/svn/trunk@216 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 06:19:50 +00:00
JesusFreke@JesusFreke.com
44682fe235 Fixed an issue where the parent references were not being populated when interning an item
git-svn-id: https://smali.googlecode.com/svn/trunk@215 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 06:15:43 +00:00
JesusFreke@JesusFreke.com
24b394bc43 cleaned up comment
git-svn-id: https://smali.googlecode.com/svn/trunk@214 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 03:59:14 +00:00
JesusFreke@JesusFreke.com
fdef6422d2 - Fixed an issue when trying to set a null AnnotationDirectoryItem to a ClassDefItem
- Fixed an issue when interning a CodeItem with no debug info
- Fixed an issue where the MapItem wasn't getting added to the dex file  correctly when creating a dex file from scratch

git-svn-id: https://smali.googlecode.com/svn/trunk@213 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 02:37:34 +00:00
JesusFreke@JesusFreke.com
81014659d9 Significant rewrite of the command line interface
git-svn-id: https://smali.googlecode.com/svn/trunk@212 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 01:45:47 +00:00
JesusFreke@JesusFreke.com
281b510a9c - started writing javadoc documentation
- cleanup of DexFile, and related refactoring


git-svn-id: https://smali.googlecode.com/svn/trunk@211 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-23 01:44:36 +00:00
JesusFreke@JesusFreke.com
d166b746b9 - Redid the option parsing logic to use the apache commons cli library
- Added options to the dump command, to help with dumping and comparing 2 dex files


git-svn-id: https://smali.googlecode.com/svn/trunk@210 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-22 08:03:46 +00:00
JesusFreke@JesusFreke.com
ec857fcecd - Added the ability to sort the offsetted sections in a way that guarantees a unique order for a given set of items (helpful when trying to compare dex files)
- Fixed an issue with decodeLong in NumberUtils


git-svn-id: https://smali.googlecode.com/svn/trunk@209 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-22 07:57:13 +00:00
JesusFreke@JesusFreke.com
6ccb8b3d2b Added a hashCode and equals method, so that interning annotations that reference items works correctly
git-svn-id: https://smali.googlecode.com/svn/trunk@208 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 23:43:34 +00:00
JesusFreke@JesusFreke.com
9f8be06898 Fixed an issue where baksmali didn't output the optional signature info on local debug directives, when available
git-svn-id: https://smali.googlecode.com/svn/trunk@207 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 22:02:53 +00:00
JesusFreke@JesusFreke.com
0871036088 Misc cleanup/refactoring
git-svn-id: https://smali.googlecode.com/svn/trunk@206 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 20:38:03 +00:00
JesusFreke@JesusFreke.com
56d16a23f6 Misc cleanup/refactoring
git-svn-id: https://smali.googlecode.com/svn/trunk@205 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 20:12:57 +00:00
JesusFreke@JesusFreke.com
bf4ca730cc Misc cleanup/refactoring
git-svn-id: https://smali.googlecode.com/svn/trunk@204 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 20:07:36 +00:00
JesusFreke@JesusFreke.com
cb83d271e5 Misc cleanup/refactoring
git-svn-id: https://smali.googlecode.com/svn/trunk@203 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 20:06:46 +00:00
JesusFreke@JesusFreke.com
f730ada982 Misc cleanup
git-svn-id: https://smali.googlecode.com/svn/trunk@202 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 08:22:27 +00:00
JesusFreke@JesusFreke.com
ed91584410 Misc cleanup
git-svn-id: https://smali.googlecode.com/svn/trunk@201 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 08:03:39 +00:00
JesusFreke@JesusFreke.com
b797aa581a Removed TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@200 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 07:58:47 +00:00
JesusFreke@JesusFreke.com
64a2d18b6f Tidied up the place method
git-svn-id: https://smali.googlecode.com/svn/trunk@199 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 06:40:02 +00:00
JesusFreke@JesusFreke.com
b1a620218e Fixed some issues regarding how the header and map section were being writter
git-svn-id: https://smali.googlecode.com/svn/trunk@198 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 06:21:45 +00:00
JesusFreke@JesusFreke.com
87160fc91d Fixed an issue with the 35c format, where it returned the wrong value for the 4th register
git-svn-id: https://smali.googlecode.com/svn/trunk@197 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 06:19:27 +00:00
JesusFreke@JesusFreke.com
8ff7f345ae Fixed the unsigned byte format, so that it includes the training 't'
git-svn-id: https://smali.googlecode.com/svn/trunk@196 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 06:18:28 +00:00
JesusFreke@JesusFreke.com
103dd1612d Added support for specifying a dump file
git-svn-id: https://smali.googlecode.com/svn/trunk@195 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 06:17:55 +00:00
JesusFreke@JesusFreke.com
9685e92ac0 Fixed an issue where all catch items in a method were using the same set of handlers, instead of using the correct set of handlers for each region
git-svn-id: https://smali.googlecode.com/svn/trunk@194 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-21 02:43:03 +00:00
JesusFreke@JesusFreke.com
cae10ef11f Fixed an issue with the the --dump-to option, where it would always dump to classes.dump, regardless of the filename provided on the commandline
git-svn-id: https://smali.googlecode.com/svn/trunk@193 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 23:45:20 +00:00
JesusFreke@JesusFreke.com
2b7d3ebb66 Added a --dump command
git-svn-id: https://smali.googlecode.com/svn/trunk@192 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:40:27 +00:00
JesusFreke@JesusFreke.com
2065bf9602 Added the "assembly" plugin to the pom
git-svn-id: https://smali.googlecode.com/svn/trunk@191 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:27:34 +00:00
JesusFreke@JesusFreke.com
c49127449f Added support for the null encoded literal
git-svn-id: https://smali.googlecode.com/svn/trunk@190 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:27:05 +00:00
JesusFreke@JesusFreke.com
3a4eafc4d9 Added support for the case when the end/restart local directives don't have the name/type/signature information (i.e. when ending a register that contained a parameter, instead of a local defined with a previous .local directive)
git-svn-id: https://smali.googlecode.com/svn/trunk@189 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:25:35 +00:00
JesusFreke@JesusFreke.com
280fc21738 Added support for the null encoded literal
git-svn-id: https://smali.googlecode.com/svn/trunk@188 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:23:44 +00:00
JesusFreke@JesusFreke.com
1f610d0c9b - Changed the format for access flags so that it only outputs a single space when there are no access flags
- Fixed a label format issue with format 22t
- Added a template for the sparse-switch directive

git-svn-id: https://smali.googlecode.com/svn/trunk@187 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:22:28 +00:00
JesusFreke@JesusFreke.com
e9ee92dc4c Added the logic to generate smali files in the proper directory structure for every class in the dex file
git-svn-id: https://smali.googlecode.com/svn/trunk@186 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 22:20:22 +00:00
JesusFreke@JesusFreke.com
d7df5938b1 Fixed an issue when generating try items at the very end of a method
git-svn-id: https://smali.googlecode.com/svn/trunk@185 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 21:59:12 +00:00
JesusFreke@JesusFreke.com
d58edc94c0 Fixed the rendering of longs
git-svn-id: https://smali.googlecode.com/svn/trunk@184 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 21:36:43 +00:00
JesusFreke@JesusFreke.com
a68e8c8d4b Fixed an issue with the getRegister method in the 21t class
git-svn-id: https://smali.googlecode.com/svn/trunk@183 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 21:36:02 +00:00
JesusFreke@JesusFreke.com
a950eddc2a Added a flag and logic to preserve the signed leb128 encoded registers in the debug info, for dumping purposes
git-svn-id: https://smali.googlecode.com/svn/trunk@182 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 21:34:51 +00:00
JesusFreke@JesusFreke.com
4517100574 removed unneeded values in the ItemType enumeration
git-svn-id: https://smali.googlecode.com/svn/trunk@181 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:30:57 +00:00
JesusFreke@JesusFreke.com
8c568e2b37 - added logic to set the offset and index of items when reading them in, in order to support an immediate write without having to call place (for dumping)
- moved the logic in MapItem that sorts the items for the various sections from writeTo() to place(), so that the order of items aren't changed when doing a read then immediate write (for dumping)
- changed the logic in makeBlankMapItem to get the map values from the MapValue enum, instead of hard coded values
- added logic to the OffsettedSection so that it sorts the item list by offset after reading it in, so that they items are in the same order as in the file it just read in (for dumping)

git-svn-id: https://smali.googlecode.com/svn/trunk@180 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:30:12 +00:00
JesusFreke@JesusFreke.com
1401347994 removed superfluous methods
git-svn-id: https://smali.googlecode.com/svn/trunk@179 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:24:21 +00:00
JesusFreke@JesusFreke.com
1af01ba107 changed the logic that reads in the sections to read them in a specific order, because some sections depend on others being read in first (i.e. several things depend on the string data)
git-svn-id: https://smali.googlecode.com/svn/trunk@178 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:23:12 +00:00
JesusFreke@JesusFreke.com
4ec387882d changed the logic that generates escaped strings to always use the /uxxxx format, instead of the 3 digital octal escape
git-svn-id: https://smali.googlecode.com/svn/trunk@177 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:14:15 +00:00
JesusFreke@JesusFreke.com
78314beef2 - Fixed an issue with debug info decoding, when it encountered an "end local" instruction for a register/local that hadn't been declared previously by a .local directive. This assumably happens when "ending" a parameter, in order to reuse that register for something else
git-svn-id: https://smali.googlecode.com/svn/trunk@176 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:13:10 +00:00
JesusFreke@JesusFreke.com
8bb1d77b66 - Fixed an issue when decoding the index for instructions that contain an indexed item references
git-svn-id: https://smali.googlecode.com/svn/trunk@175 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:02:58 +00:00
JesusFreke@JesusFreke.com
1c9fcdee6d - Fixed an issue where smali didn't support class, method or field declarations with no access flags
- Added support for "null" encoded value literals

git-svn-id: https://smali.googlecode.com/svn/trunk@174 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:00:29 +00:00