JesusFreke@JesusFreke.com
c6734e8a60
Fix a typo in the commented out format for a packed-switch structure
...
git-svn-id: https://smali.googlecode.com/svn/trunk@697 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:06 +00:00
JesusFreke@JesusFreke.com
d293bc1eb3
Always read and write files using UTF8
...
git-svn-id: https://smali.googlecode.com/svn/trunk@696 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:01 +00:00
JesusFreke@JesusFreke.com
e861da1285
Fix the output format for the .parameter directive
...
git-svn-id: https://smali.googlecode.com/svn/trunk@694 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:52 +00:00
JesusFreke@JesusFreke.com
c1cc0e0934
Add better support for the case when an odex file has missing classes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@693 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:48 +00:00
JesusFreke@JesusFreke.com
19b601436a
Fix the formatting of the instruction offset comment
...
git-svn-id: https://smali.googlecode.com/svn/trunk@692 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:39 +00:00
JesusFreke@JesusFreke.com
baec3bc450
Fix the workaround for the ext.jar BCP special case
...
git-svn-id: https://smali.googlecode.com/svn/trunk@691 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:35 +00:00
JesusFreke@JesusFreke.com
306fe8753a
Use the platform specific newline character/string
...
git-svn-id: https://smali.googlecode.com/svn/trunk@690 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:31 +00:00
JesusFreke@JesusFreke.com
adb1511f4e
minor linewrap change
...
git-svn-id: https://smali.googlecode.com/svn/trunk@689 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:27 +00:00
JesusFreke@JesusFreke.com
0b2f7d6a57
delete IndentingPrintWriter and refactor everything to use IndentingWriter directly
...
git-svn-id: https://smali.googlecode.com/svn/trunk@688 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:16 +00:00
JesusFreke@JesusFreke.com
6eae34831f
Refactor dexlib so that the output is generated directly, instead of using the StringTemplate library
...
git-svn-id: https://smali.googlecode.com/svn/trunk@681 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:17 +00:00
JesusFreke@JesusFreke.com
78bde01ad4
Add the ability to read the dependency information from an odex file, and use those dependencies as the BOOTCLASSPATH by default for odex files
...
git-svn-id: https://smali.googlecode.com/svn/trunk@679 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:03 +00:00
JesusFreke@JesusFreke.com
db26b663aa
Change the way the "dead" instructions are handled, so that loops within the dead code are handled properly
...
git-svn-id: https://smali.googlecode.com/svn/trunk@674 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-06 06:12:30 +00:00
JesusFreke@JesusFreke.com
650725bbd3
Check for unreachable instructions and comment them out
...
git-svn-id: https://smali.googlecode.com/svn/trunk@673 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-06 06:12:16 +00:00
JesusFreke@JesusFreke.com
10a9518111
Add additional context information to exceptions when building a MethodDefinition object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@672 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-06 06:12:09 +00:00
JesusFreke@JesusFreke.com
8eaecd53d3
Load all the class path classes using TempClassInfo, before starting to creating the ClassDefs for them
...
This fixes an issue when a class in a boot class path jar has a superclass that is in a later boot class path jar
git-svn-id: https://smali.googlecode.com/svn/trunk@669 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-04 07:44:35 +00:00
JesusFreke@JesusFreke.com
6786055f35
Move the HelpFormatter subclass to the util project and use it for both smali and baksmali
...
git-svn-id: https://smali.googlecode.com/svn/trunk@667 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 07:12:06 +00:00
JesusFreke@JesusFreke.com
c616a0dadc
Add support for detecting the console width in unix and windows environments, and printing the usage info accordingly
...
git-svn-id: https://smali.googlecode.com/svn/trunk@666 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 07:11:32 +00:00
JesusFreke@JesusFreke.com
7bb8ace93b
add -V option for baksmali to verify the bytecode
...
git-svn-id: https://smali.googlecode.com/svn/trunk@664 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 03:26:53 +00:00
JesusFreke@JesusFreke.com
ef24b31c98
Refactor the MethodAnalyzer API so that the instructions are returned as a read-only list
...
git-svn-id: https://smali.googlecode.com/svn/trunk@662 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 03:26:17 +00:00
JesusFreke@JesusFreke.com
00fc68adf2
Update copyright notices
...
git-svn-id: https://smali.googlecode.com/svn/trunk@644 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:04:58 +00:00
JesusFreke@JesusFreke.com
f25f713426
change the default value for the -r parameter to ARGS|DEST
...
git-svn-id: https://smali.googlecode.com/svn/trunk@642 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:02:09 +00:00
JesusFreke@JesusFreke.com
819e8b92a0
Allow multiple class path directories to be specified
...
git-svn-id: https://smali.googlecode.com/svn/trunk@639 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:01:40 +00:00
JesusFreke@JesusFreke.com
e9b722eab0
Misc cleanup
...
git-svn-id: https://smali.googlecode.com/svn/trunk@638 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:01:23 +00:00
JesusFreke@JesusFreke.com
0c65e0f4f5
Implemented deodex functionality
...
git-svn-id: https://smali.googlecode.com/svn/trunk@637 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:57:15 +00:00
JesusFreke@JesusFreke.com
2bdbf739bf
Add a new option to add a comment line with the code offset for each instruction
...
git-svn-id: https://smali.googlecode.com/svn/trunk@634 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:56:14 +00:00
JesusFreke@JesusFreke.com
5b908115c0
Refactor options for baksmali
...
- Identified a set of options that are really only useful for debugging baksmali, and changed the short option character for them to be uppercase'
- Change the option letters for various options
- Don't display the debug options in the main usage info, but only if -? is specified twice (i.e. -??)
git-svn-id: https://smali.googlecode.com/svn/trunk@633 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:56:02 +00:00
JesusFreke@JesusFreke.com
928790f293
remove the "disable interning" functionality in dexlib
...
- rename the getInterned* methods to intern*
- add a lookup* method to a few item types that performs the same function, except that
it returns null if the item isn't found, instead of interning it
git-svn-id: https://smali.googlecode.com/svn/trunk@632 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:55:50 +00:00
JesusFreke@JesusFreke.com
f5defb97c0
Allow additional bootclasspath files to be added to the default, by prepending the bootclasspath value with a :
...
git-svn-id: https://smali.googlecode.com/svn/trunk@630 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-15 02:01:08 +00:00
JesusFreke@JesusFreke.com
3f7739cd09
Add support for specifying a base dir for the BOOTCLASSPATH files
...
git-svn-id: https://smali.googlecode.com/svn/trunk@629 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-15 02:00:58 +00:00
JesusFreke@JesusFreke.com
2e2a187734
Don't output register information on switch/array data structures
...
git-svn-id: https://smali.googlecode.com/svn/trunk@628 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:48 +00:00
JesusFreke@JesusFreke.com
1c56c7e750
Add finer grained control of what register information is printed out
...
git-svn-id: https://smali.googlecode.com/svn/trunk@625 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:59 +00:00
JesusFreke@JesusFreke.com
da69b22d6f
Use a double instead of an int as the sort value for method items
...
git-svn-id: https://smali.googlecode.com/svn/trunk@624 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:39 +00:00
JesusFreke@JesusFreke.com
db385ec3fd
Don't load the instructions in a code item when loading the BOOTCLASSPATH dex files
...
git-svn-id: https://smali.googlecode.com/svn/trunk@623 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:20 +00:00
JesusFreke@JesusFreke.com
c9be5e1303
Tons of fixes related to getting "verbose register info"/type analysis to work
...
git-svn-id: https://smali.googlecode.com/svn/trunk@621 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-11 00:58:02 +00:00
JesusFreke@JesusFreke.com
7e24a9f010
Preliminary implementation of "verbose register info" functionality
...
git-svn-id: https://smali.googlecode.com/svn/trunk@620 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:37 +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
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
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
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
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
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
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
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