551 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
472d3ea584 Implemented verification for fill-array-data
git-svn-id: https://smali.googlecode.com/svn/trunk@577 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 07:52:55 +00:00
JesusFreke@JesusFreke.com
ac8785e5d5 Implemented verification for filled-new-array/range
git-svn-id: https://smali.googlecode.com/svn/trunk@576 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 03:40:43 +00:00
JesusFreke@JesusFreke.com
9e5dd85d83 Implemented verification for filled-new-array
git-svn-id: https://smali.googlecode.com/svn/trunk@575 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 03:06:38 +00:00
JesusFreke@JesusFreke.com
fffb29fd9d Implement ClassPath class, refactor analysis code to use new ClassPath functionality, start adding verification for individual opcodes
git-svn-id: https://smali.googlecode.com/svn/trunk@574 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 00:55:17 +00:00
JesusFreke@JesusFreke.com
2d5d83efca whitespace changes
git-svn-id: https://smali.googlecode.com/svn/trunk@573 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 00:55:05 +00:00
JesusFreke@JesusFreke.com
baabf9a11b Add the SETS_REGISTER flag to Opcode
git-svn-id: https://smali.googlecode.com/svn/trunk@572 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 00:54:59 +00:00
JesusFreke@JesusFreke.com
2a0192cec1 Use a consistent error message for common superclass lookup
git-svn-id: https://smali.googlecode.com/svn/trunk@571 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 00:54:53 +00:00
JesusFreke@JesusFreke.com
41d8cd7df2 use spaces instead of tabs in deodexerant
git-svn-id: https://smali.googlecode.com/svn/trunk@570 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-24 00:54:48 +00:00
JesusFreke@JesusFreke.com
d27ca7f7a6 Initial commit of analysis stuff.
So far, it only builds the AnalyzedInstruction list, and populates the
predecessors/successors of each instruction

git-svn-id: https://smali.googlecode.com/svn/trunk@566 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:11:00 +00:00
JesusFreke@JesusFreke.com
f3a83f9e4c Minor comment change
git-svn-id: https://smali.googlecode.com/svn/trunk@565 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:10:50 +00:00
JesusFreke@JesusFreke.com
8fcc31d5f2 Add new CAN_CONTINUE flag to Opcode
git-svn-id: https://smali.googlecode.com/svn/trunk@564 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:10:43 +00:00
JesusFreke@JesusFreke.com
7eef1e37e7 Add addition "FirstInstrucitonTest" method to the deodex_test1 baksmali test
git-svn-id: https://smali.googlecode.com/svn/trunk@563 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:10:37 +00:00
JesusFreke@JesusFreke.com
daa8cef392 Add new RecursiveExceptionHandler example
git-svn-id: https://smali.googlecode.com/svn/trunk@562 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:10:30 +00:00
JesusFreke@JesusFreke.com
b2e1e2067d deodex refactoring part 1
Significantly simplified how instructions are handled in baksmali. Normal
disassembly seems to be working, deodexing definitely not.

git-svn-id: https://smali.googlecode.com/svn/trunk@561 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:10:23 +00:00
JesusFreke@JesusFreke.com
575bd4ce54 Remove unused 'fixed' field from DeodexUtil.insn
git-svn-id: https://smali.googlecode.com/svn/trunk@560 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:09:51 +00:00
JesusFreke@JesusFreke.com
563bc66041 whitespace change
git-svn-id: https://smali.googlecode.com/svn/trunk@559 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:09:43 +00:00
JesusFreke@JesusFreke.com
42e4ef4892 Refactor the opcode enum to have a flags field, to store the odexOnly and canThrow flags
And get rid of the instructionThrowTable in DeodexUtil

git-svn-id: https://smali.googlecode.com/svn/trunk@558 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:09:35 +00:00
JesusFreke@JesusFreke.com
1f478c3228 Added comment for Deodexerant class
git-svn-id: https://smali.googlecode.com/svn/trunk@557 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:09:26 +00:00
JesusFreke@JesusFreke.com
f568b80d16 Moved DeodexUtil and Deodexerant classes to baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@556 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 08:09:19 +00:00
JesusFreke@JesusFreke.com
8a8b2a988b Minor cleanup in DeodexUtil
git-svn-id: https://smali.googlecode.com/svn/trunk@555 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:56:38 +00:00
JesusFreke@JesusFreke.com
6512a81a11 whitespace and comment changes
git-svn-id: https://smali.googlecode.com/svn/trunk@554 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:56:31 +00:00
JesusFreke@JesusFreke.com
096d4ec5ca Use getMethodString() instead of combining separate parts in DeodexUtil.deodexerizeCode()
git-svn-id: https://smali.googlecode.com/svn/trunk@553 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:56:25 +00:00
JesusFreke@JesusFreke.com
16a911620c General cleanup/refactoring/maintentance
- Added some additional context information for exceptions in various locations
- Refactored all code offsets so that they use 2-byte code block address, instead of a byte offset.
- Additionally changed all "offset" terminology refering to code offsets to "address" instead
- Changed the way the getItemByIndex and getOffsettedItemByOffset work, so that they throw an
exception if the index/offset is -1/0.
- Added additional getOptionalItemByIndex and getOptionalOffsettedItemByOffset methods, to be used
in the cases where an index/offset of -1/0 is valid, to indicate the absence of an item
- Other misc cleanup/maintentance

git-svn-id: https://smali.googlecode.com/svn/trunk@552 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:56:16 +00:00
JesusFreke@JesusFreke.com
3ae5a27b60 Remove unused InstructionWriter class
git-svn-id: https://smali.googlecode.com/svn/trunk@551 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:55:08 +00:00
JesusFreke@JesusFreke.com
25df744c31 Delete unused InstructionReader class
git-svn-id: https://smali.googlecode.com/svn/trunk@550 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:55:02 +00:00
JesusFreke@JesusFreke.com
4610bfd7a9 Add FiveRegisterInstruction and RegisterRangeInstruction interfaces
Implement new interfaces on appropriate Instruction classes

git-svn-id: https://smali.googlecode.com/svn/trunk@549 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:13:09 +00:00
JesusFreke@JesusFreke.com
4238ac2dd1 Add missing interfaces to a couple of Instruction classes
git-svn-id: https://smali.googlecode.com/svn/trunk@548 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-12 07:12:55 +00:00
JesusFreke@JesusFreke.com
a3a9f0fe82 Wording change in the error message that smali outputs when it encounters an odexed instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@547 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:38:49 +00:00
JesusFreke@JesusFreke.com
0f78b15cd7 Change the enum name of the execute-inline instruction from INVOKE_EXECUTE_INLINE to EXECUTE_INLINE
git-svn-id: https://smali.googlecode.com/svn/trunk@546 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:36:09 +00:00
JesusFreke@JesusFreke.com
1c6b6d7591 whitespace change
git-svn-id: https://smali.googlecode.com/svn/trunk@545 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:36:01 +00:00
JesusFreke@JesusFreke.com
be2472d6d7 Add support for the upcoming execute-inline/range odexed instruction
git-svn-id: https://smali.googlecode.com/svn/trunk@544 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:35:54 +00:00
JesusFreke@JesusFreke.com
c043c35800 Add execute-inline to the list of instructions that can throw an exception
git-svn-id: https://smali.googlecode.com/svn/trunk@543 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:35:42 +00:00
JesusFreke@JesusFreke.com
c9c2ec3d48 Add "support" for odexed instructions using Format3rms
Also, change the name of the invoke-*-range-quick opcodes to invoke-*-quick/range,
to be consistent with the naming scheme of non-odexed opcodes

git-svn-id: https://smali.googlecode.com/svn/trunk@542 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:35:35 +00:00
JesusFreke@JesusFreke.com
f322260c22 Add "support" for odexed instructions using Format22cs
git-svn-id: https://smali.googlecode.com/svn/trunk@541 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:35:21 +00:00
JesusFreke@JesusFreke.com
823aa76923 Add "support" for odexed instructions using Format35ms
"Support", in the sense that it will successfully parse them and print out an appropriate error message

git-svn-id: https://smali.googlecode.com/svn/trunk@540 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-01 22:35:13 +00:00
JesusFreke@JesusFreke.com
b471d5d91f Remove the "rewrite labels" functionality.
If anyone still needs to rewrite labels from the old format to the new format, they can grab an older version of smali to use

git-svn-id: https://smali.googlecode.com/svn/trunk@539 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 22:34:50 +00:00
JesusFreke@JesusFreke.com
da3b7b1150 change execute_inline to execute-inline, for consistency
git-svn-id: https://smali.googlecode.com/svn/trunk@538 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 22:34:37 +00:00
JesusFreke@JesusFreke.com
f5ba5fa361 Update version to 1.1.1
git-svn-id: https://smali.googlecode.com/svn/trunk@537 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 22:34:30 +00:00
JesusFreke@JesusFreke.com
22296e7f83 Added assertion+comment, to clarify a misleading null check
git-svn-id: https://smali.googlecode.com/svn/trunk@536 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 01:25:32 +00:00
JesusFreke@JesusFreke.com
d1ada679cc whitespace
git-svn-id: https://smali.googlecode.com/svn/trunk@535 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 01:25:26 +00:00
JesusFreke@JesusFreke.com
7d9b1b10f0 use createTemplate and createReference instead of makeTemplate and makeReference
git-svn-id: https://smali.googlecode.com/svn/trunk@534 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-12-31 01:25:19 +00:00
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