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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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