1462 Commits

Author SHA1 Message Date
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
JesusFreke@JesusFreke.com
57b919fdf2 Fixed issue when reading an array-data pseudo instruction whose data ended in the middle of a 2-byte word
git-svn-id: https://smali.googlecode.com/svn/trunk@173 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 19:57:29 +00:00
JesusFreke@JesusFreke.com
3c9013f9c0 Added support for parameter names and annotations
git-svn-id: https://smali.googlecode.com/svn/trunk@172 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 05:40:35 +00:00
JesusFreke@JesusFreke.com
b6547e8fd5 Added support for field annotations
Added support for try blocks
Added support for most types of debug info (no parameter names yet)

git-svn-id: https://smali.googlecode.com/svn/trunk@171 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:55:27 +00:00
JesusFreke@JesusFreke.com
a0850c8d2a Added a utility class to decode debug information
git-svn-id: https://smali.googlecode.com/svn/trunk@170 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:52:08 +00:00
JesusFreke@JesusFreke.com
b3fde8be30 Added various acccessors
git-svn-id: https://smali.googlecode.com/svn/trunk@169 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:42:12 +00:00
JesusFreke@JesusFreke.com
45b5a1d0e3 Added support for the .catchall directive
git-svn-id: https://smali.googlecode.com/svn/trunk@168 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:14:06 +00:00
JesusFreke@JesusFreke.com
dc4bcbe0c0 Fixed issue decoding signed ints and shorts
git-svn-id: https://smali.googlecode.com/svn/trunk@167 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 00:38:14 +00:00
JesusFreke@JesusFreke.com
fa07a1972e Implemented class and method annotations
git-svn-id: https://smali.googlecode.com/svn/trunk@166 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 06:52:02 +00:00
JesusFreke@JesusFreke.com
1080561460 Implemented annotation encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@165 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 04:19:05 +00:00
JesusFreke@JesusFreke.com
8c8cec655d Implemented enum encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@164 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 03:48:44 +00:00