1710 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
81ab1aa726 Add warning about disassembling an odex file without deodexing it
git-svn-id: https://smali.googlecode.com/svn/trunk@533 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 01:24:56 +00:00
JesusFreke@JesusFreke.com
67d43a3c38 Updated version to 1.1 for release
git-svn-id: https://smali.googlecode.com/svn/trunk@531 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-26 00:10:09 +00:00
JesusFreke@JesusFreke.com
7f9cfb3a68 rename "indexed labels" stuff to "sequential labels"
git-svn-id: https://smali.googlecode.com/svn/trunk@530 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-26 00:10:05 +00:00
JesusFreke@JesusFreke.com
f29d8ae0b1 fix spelling of propogateRegisters method
git-svn-id: https://smali.googlecode.com/svn/trunk@529 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:06:09 +00:00
JesusFreke@JesusFreke.com
37885c5f82 Fix possible NPE
git-svn-id: https://smali.googlecode.com/svn/trunk@528 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:06:03 +00:00
JesusFreke@JesusFreke.com
64c389570e Resolve inline methods lazily, to prevent issues when types for unused inline methods aren't present in the odex file
git-svn-id: https://smali.googlecode.com/svn/trunk@527 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:57 +00:00
JesusFreke@JesusFreke.com
f7c84c8c41 return the correct format for Instruction35s
git-svn-id: https://smali.googlecode.com/svn/trunk@526 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:50 +00:00
JesusFreke@JesusFreke.com
6325930f67 read in the field offset for Instruction22cs
git-svn-id: https://smali.googlecode.com/svn/trunk@525 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:43 +00:00
JesusFreke@JesusFreke.com
e6e2ffcced Fix typo in symbol name
git-svn-id: https://smali.googlecode.com/svn/trunk@524 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:35 +00:00
JesusFreke@JesusFreke.com
ba04c98bce Whitespace fixes
git-svn-id: https://smali.googlecode.com/svn/trunk@523 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:28 +00:00
JesusFreke@JesusFreke.com
630f5dc2dc Add support for the -b option for baksmali, to suppress the output of debug info
git-svn-id: https://smali.googlecode.com/svn/trunk@522 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-25 23:05:20 +00:00
JesusFreke@JesusFreke.com
3ce2b6fcee remove unneeded TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@521 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:08:23 +00:00
JesusFreke@JesusFreke.com
5f758b60b4 fix an issue that occurs when a switch statement is the first instruction in a method
git-svn-id: https://smali.googlecode.com/svn/trunk@520 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:08:14 +00:00
JesusFreke@JesusFreke.com
b145895c49 remove an invalid assert
git-svn-id: https://smali.googlecode.com/svn/trunk@519 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:08:02 +00:00
JesusFreke@JesusFreke.com
146fbfd33a Throw an error if a switch data pseudo-instruction is encountered when auto-fixing a method.
git-svn-id: https://smali.googlecode.com/svn/trunk@518 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:07:44 +00:00
JesusFreke@JesusFreke.com
a8ca776c1d Remove unneeded TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@517 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:07:33 +00:00
JesusFreke@JesusFreke.com
2e52e0e6e4 remove unneeded TODO: and added a new one
git-svn-id: https://smali.googlecode.com/svn/trunk@516 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-24 08:07:23 +00:00
JesusFreke@JesusFreke.com
2904f40603 Fix an issue when the current address immediatly after an AdvancePC debug instruction doesn't point to an instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@515 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 23:46:18 +00:00
JesusFreke@JesusFreke.com
2ededb89b9 Don't set the encoded debug info when nothing needed to be changed
git-svn-id: https://smali.googlecode.com/svn/trunk@514 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 23:46:12 +00:00
JesusFreke@JesusFreke.com
e266117407 Add the offset past the end of the last instruction to the sparse arrays that translate between the new and old offsets
git-svn-id: https://smali.googlecode.com/svn/trunk@513 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 23:46:06 +00:00
JesusFreke@JesusFreke.com
01318cded8 use decodeHighUnsignedNibble instead of decodeHighSignedNibble for regB in Instruction22t
git-svn-id: https://smali.googlecode.com/svn/trunk@512 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:28:28 +00:00
JesusFreke@JesusFreke.com
311ee79fab Complete and fix-up the implementation of autofixing instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@511 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:28:21 +00:00
JesusFreke@JesusFreke.com
8d1bb1cc83 change instances of Assert.assertFalse() to Assert.fail()
git-svn-id: https://smali.googlecode.com/svn/trunk@510 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:57 +00:00
JesusFreke@JesusFreke.com
404816815f use out.toByteArray() instead of out.getArray(), so we get a correctly sized array instead of the oversized internal buffer
git-svn-id: https://smali.googlecode.com/svn/trunk@509 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:49 +00:00
JesusFreke@JesusFreke.com
4433deb7dc Use an int to store the 'base' value, when decoding a special debug opcode, to prevent an incorrect negative value
git-svn-id: https://smali.googlecode.com/svn/trunk@508 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:42 +00:00
JesusFreke@JesusFreke.com
91aa1ef2fa Use the correct comparison for the keys, when writing out a sparse switch data pseudo-instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@507 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:36 +00:00
JesusFreke@JesusFreke.com
526d617e05 When writing an Instruction31t opcode, align the offset to the switch/array data
git-svn-id: https://smali.googlecode.com/svn/trunk@506 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:30 +00:00
JesusFreke@JesusFreke.com
7570fe0382 Fix the way offsets are handled in Instruction21t and Instruction22t
Use a short internally for the offset, and validate the value in updateOffset()

git-svn-id: https://smali.googlecode.com/svn/trunk@505 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:23 +00:00
JesusFreke@JesusFreke.com
f6c7706102 ensure the string index is <= 0xFFFF before writing a string-const instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@504 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:14 +00:00
JesusFreke@JesusFreke.com
d6a7a212e0 Add additional strings, to ensure we get at least one that has an index > 0xFFFF
git-svn-id: https://smali.googlecode.com/svn/trunk@503 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:27:07 +00:00
JesusFreke@JesusFreke.com
fda2e631ac Refactor instructions to store individual pieces of data instead of just using an offset into a buffer
Also included is a partial implementation of the logic needed to automatically fix various types of issues

git-svn-id: https://smali.googlecode.com/svn/trunk@502 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:26:59 +00:00
JesusFreke@JesusFreke.com
9ab2b45ec8 whitespace fixes
git-svn-id: https://smali.googlecode.com/svn/trunk@501 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:26:13 +00:00
JesusFreke@JesusFreke.com
5867263eb5 line ending and trailing whitespace cleanup
git-svn-id: https://smali.googlecode.com/svn/trunk@500 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:25:59 +00:00
JesusFreke@JesusFreke.com
eb78b7fa64 Minor cleanup
git-svn-id: https://smali.googlecode.com/svn/trunk@499 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:24:58 +00:00
JesusFreke@JesusFreke.com
d1dc954863 Remove unused comment parameter for instruction method items
git-svn-id: https://smali.googlecode.com/svn/trunk@498 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:24:50 +00:00
JesusFreke@JesusFreke.com
e24e70f9ad Handle unresolvable instructions in a more intellegent manner
Don't replace an unresolvable instruction with replacement instruction(s) that
are larger, to avoid inserting extra bytes, and possibly moving jump type
instructions too far from their targets.

git-svn-id: https://smali.googlecode.com/svn/trunk@497 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-23 05:24:27 +00:00
JesusFreke@JesusFreke.com
b6ce091ae3 fix an issue reading the string index for indexes >16bits, for the const-string/jumbo opcode
git-svn-id: https://smali.googlecode.com/svn/trunk@495 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-09 09:56:13 +00:00
JesusFreke@JesusFreke.com
8fc44f0bbc updated version number to 1.01
git-svn-id: https://smali.googlecode.com/svn/trunk@494 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-09 09:56:04 +00:00
JesusFreke@JesusFreke.com
e2684fa219 - refactored/simplified the label code
- changed the handler_ label prefix to catch_ and catchall_
- added support for the new -i/--indexed-labels option, which numbers the labels incrementally for each method by type, rather than using the bytecode offset

git-svn-id: https://smali.googlecode.com/svn/trunk@493 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-01 08:14:21 +00:00
JesusFreke@JesusFreke.com
8555ce95d5 converted the labels in the deodex tests to the new label format
git-svn-id: https://smali.googlecode.com/svn/trunk@492 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-01 08:13:57 +00:00
JesusFreke@JesusFreke.com
a5fb30849d minor verbage change for the -l/--use-locals option
git-svn-id: https://smali.googlecode.com/svn/trunk@491 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-23 07:27:19 +00:00
JesusFreke@JesusFreke.com
3ff70dc8da add support for the .locals directive in smali
git-svn-id: https://smali.googlecode.com/svn/trunk@490 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-23 07:19:06 +00:00
JesusFreke@JesusFreke.com
ff80035f43 add support for the .locals directive and the --use-locals/-l option for baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@489 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-23 06:47:33 +00:00
JesusFreke@JesusFreke.com
87e8649095 Added wrapper scripts for baksmali.jar and smali.jar
git-svn-id: https://smali.googlecode.com/svn/trunk@488 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 17:57:53 +00:00
JesusFreke@JesusFreke.com
6de675fc3d Add a possible cause to the error message when one of the classes for superclass lookup cannot be found
git-svn-id: https://smali.googlecode.com/svn/trunk@486 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 06:59:55 +00:00
JesusFreke@JesusFreke.com
3cf2781481 Print version info in usage message
git-svn-id: https://smali.googlecode.com/svn/trunk@485 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 06:26:08 +00:00
JesusFreke@JesusFreke.com
688d1b1295 update integration tests to use new label format
git-svn-id: https://smali.googlecode.com/svn/trunk@484 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 05:34:23 +00:00
JesusFreke@JesusFreke.com
dade116d27 update version to 1.0
git-svn-id: https://smali.googlecode.com/svn/trunk@483 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 05:22:23 +00:00
JesusFreke@JesusFreke.com
6ff845a9c1 open the odex file as read-only
git-svn-id: https://smali.googlecode.com/svn/trunk@482 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-11-08 05:00:55 +00:00
JesusFreke@JesusFreke.com
090e553f34 check if a static final field is set within the static constructor, and if so, add a comment stating such if it makes sense to do so (for primitive types, or reference/array types that have a non-null initializer)
git-svn-id: https://smali.googlecode.com/svn/trunk@481 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-19 04:48:50 +00:00