123 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
29f49465ca Use a SparseArray instead of a HashMap, and add get*Count methods to AnnotationDirectoryItem so we can initialize the SparseArrays with the correct capacity
git-svn-id: https://smali.googlecode.com/svn/trunk@478 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-19 03:18:35 +00:00
JesusFreke@JesusFreke.com
3d632a6234 Fixed the template for commented out labels
git-svn-id: https://smali.googlecode.com/svn/trunk@471 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-13 22:06:09 +00:00
JesusFreke@JesusFreke.com
4a0d9d3fa1 Change the sytax for labels from label: to :label
git-svn-id: https://smali.googlecode.com/svn/trunk@467 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-13 02:50:42 +00:00
JesusFreke@JesusFreke.com
04473936a1 remove test println
git-svn-id: https://smali.googlecode.com/svn/trunk@458 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 06:45:15 +00:00
JesusFreke@JesusFreke.com
8e9ceda4f9 expand the test case to test out more stuff
git-svn-id: https://smali.googlecode.com/svn/trunk@457 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 06:43:44 +00:00
JesusFreke@JesusFreke.com
a171922cbd add TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@456 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 06:43:15 +00:00
JesusFreke@JesusFreke.com
c65a8d8b5f Added better support for the case when an optimized instruction can't be resolved due to the object register always being null. It should comment out any dead code following the unresolved instruction (to prevent verification issues, due to the changed method call)
git-svn-id: https://smali.googlecode.com/svn/trunk@455 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 06:40:58 +00:00
JesusFreke@JesusFreke.com
cf4e7ce360 added another deodex test case
git-svn-id: https://smali.googlecode.com/svn/trunk@453 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 01:22:25 +00:00
JesusFreke@JesusFreke.com
c3deed2751 Added a tricky test case for the deodexer
git-svn-id: https://smali.googlecode.com/svn/trunk@450 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 05:15:40 +00:00
JesusFreke@JesusFreke.com
f0e3677538 fix the "null" fixed instructions.. again
git-svn-id: https://smali.googlecode.com/svn/trunk@442 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 20:34:19 +00:00
JesusFreke@JesusFreke.com
285dfd013a Fix the registers in the dummy method calls used to replace null pointer method invokes/field accesses
git-svn-id: https://smali.googlecode.com/svn/trunk@438 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 08:27:52 +00:00
JesusFreke@JesusFreke.com
631326836e Add opcode parameter
git-svn-id: https://smali.googlecode.com/svn/trunk@437 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 07:28:06 +00:00
JesusFreke@JesusFreke.com
5b89857df3 Initial commit of deodex functionality in dexlib and baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@435 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 06:27:32 +00:00
JesusFreke@JesusFreke.com
5f98a29260 Add support for the odex only opcodes
git-svn-id: https://smali.googlecode.com/svn/trunk@432 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-30 04:28:11 +00:00
JesusFreke@JesusFreke.com
aaa11529d4 Check if the method is static to determine if there is an extra "this" register, not if it's a direct method
git-svn-id: https://smali.googlecode.com/svn/trunk@428 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-29 05:03:13 +00:00
JesusFreke@JesusFreke.com
f5f30468ad refactored the options a bit
git-svn-id: https://smali.googlecode.com/svn/trunk@394 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-11 08:12:23 +00:00
JesusFreke@JesusFreke.com
3c23129eec Added support for writing parameter registers with the p<n> syntax
git-svn-id: https://smali.googlecode.com/svn/trunk@376 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-08 23:44:28 +00:00
JesusFreke@JesusFreke.com
149225a27f Set the Bytes attribute multiple times, instead of using an array of bytes
git-svn-id: https://smali.googlecode.com/svn/trunk@373 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-08 21:14:37 +00:00
JesusFreke@JesusFreke.com
fdf48625bb Refactor instruction 35c to set the Registers attribute multiple times, instead of setting it to an array
git-svn-id: https://smali.googlecode.com/svn/trunk@372 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-07 07:06:47 +00:00
JesusFreke@JesusFreke.com
7885a819a0 refactor ClassDefinition to use template attributes instead of object parameters
git-svn-id: https://smali.googlecode.com/svn/trunk@371 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-07 06:48:37 +00:00
JesusFreke@JesusFreke.com
fa7e91bff2 refactor the references to use template attributes instead of object parameters
git-svn-id: https://smali.googlecode.com/svn/trunk@370 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-06 07:15:50 +00:00
JesusFreke@JesusFreke.com
a3cf936fc2 refactor all the encoded value stuff to use template attributes instead of object properties
git-svn-id: https://smali.googlecode.com/svn/trunk@368 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-06 06:47:07 +00:00
JesusFreke@JesusFreke.com
cc32387e75 Fix for filled array pseudo instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@367 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-06 05:22:20 +00:00
JesusFreke@JesusFreke.com
7ab77bc90b Refactoring baksmali so that the template attributes are passed in, instead of relying on reflection to get attributes from an object
git-svn-id: https://smali.googlecode.com/svn/trunk@366 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-06 05:03:52 +00:00
JesusFreke@JesusFreke.com
814580d4cf The stored offset is a relative offset from the position of the instruction, not an absolute offset
git-svn-id: https://smali.googlecode.com/svn/trunk@364 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-05 05:35:11 +00:00
JesusFreke@JesusFreke.com
416b72fc74 StringTemplate does't seem to want to iterate over the byte array returned by the iterator, but it works if you return an object and access the byte array as an attribute
git-svn-id: https://smali.googlecode.com/svn/trunk@363 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-05 05:33:53 +00:00
JesusFreke@JesusFreke.com
9596186473 - Return individual items from the iterator, instead of returning the same object every time
- Simplify PackedSwitchMethodItem, so that it just returns the target as a string, instead of an object

git-svn-id: https://smali.googlecode.com/svn/trunk@362 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-05 05:31:51 +00:00
JesusFreke@JesusFreke.com
866267dfb7 Store the string values, not the objects
git-svn-id: https://smali.googlecode.com/svn/trunk@360 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-05 04:21:38 +00:00
JesusFreke@JesusFreke.com
8140e9fca2 The annotation visibility should be lowercase
git-svn-id: https://smali.googlecode.com/svn/trunk@358 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-05 03:56:34 +00:00
JesusFreke@JesusFreke.com
2700dc281c Add check for null parameterName value
git-svn-id: https://smali.googlecode.com/svn/trunk@353 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-04 06:22:26 +00:00
JesusFreke@JesusFreke.com
630a384c6b Check for null source file
git-svn-id: https://smali.googlecode.com/svn/trunk@344 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-04 03:48:08 +00:00
JesusFreke@JesusFreke.com
0fa2c67bfd Check for null code item
git-svn-id: https://smali.googlecode.com/svn/trunk@343 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-04 03:47:48 +00:00
JesusFreke@JesusFreke.com
cf6729c1ee Lots of misc cleanup/refactoring to work with the new dexlib
git-svn-id: https://smali.googlecode.com/svn/trunk@336 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-03 05:47:16 +00:00
JesusFreke@JesusFreke.com
2062d413eb Fixed an issue with the template that prevented baksmali from working
git-svn-id: https://smali.googlecode.com/svn/trunk@234 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-07-03 18:55:36 +00:00
JesusFreke@JesusFreke.com
a537069854 Improved version handling
git-svn-id: https://smali.googlecode.com/svn/trunk@225 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-27 04:43:53 +00:00
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
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
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
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
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
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
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
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