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