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
bf483ac86d
use a character comparison instead of a string comparison for TypeIdItem.getRegisterCount()
...
git-svn-id: https://smali.googlecode.com/svn/trunk@687 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:11 +00:00
JesusFreke@JesusFreke.com
bba8645009
minor optimizations in ByteArrayInput
...
git-svn-id: https://smali.googlecode.com/svn/trunk@686 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:08 +00:00
JesusFreke@JesusFreke.com
1f29ee7351
Change ByteArrayInput.readNullTerminatedBytes() to ByteArrayInput.readNullTerminatedUtf8String()
...
git-svn-id: https://smali.googlecode.com/svn/trunk@685 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:03 +00:00
JesusFreke@JesusFreke.com
89325d96cc
minor line wrap change
...
git-svn-id: https://smali.googlecode.com/svn/trunk@684 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:55 +00:00
JesusFreke@JesusFreke.com
4b82fba3ba
Refactor dexlib so that sections are read in based on the dependency order
...
This allows us to simply the read logic somewhat, getting rid of the concept of a "pre-created" item
git-svn-id: https://smali.googlecode.com/svn/trunk@683 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:41 +00:00
JesusFreke@JesusFreke.com
483ebdf2cc
Use a pre-generated array of all AccessFlag enum values, instead of calling AccessFlags.values(), which always instantiates a new array
...
git-svn-id: https://smali.googlecode.com/svn/trunk@682 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:37 +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
a7139f6586
Fixed the copyright noticed for files that came from dx, and had been mistakenly changed to the smali BSD license
...
git-svn-id: https://smali.googlecode.com/svn/trunk@680 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:01:08 +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
dfb1b8c6c0
Update version to 1.2.2
...
git-svn-id: https://smali.googlecode.com/svn/trunk@678 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:00:55 +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
cbc21d5ece
Don't forget to replace un-deodexable instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@671 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-06 06:12:03 +00:00
JesusFreke@JesusFreke.com
cf52e5cd48
When loading boot class path files, if a jar file doesn't have a classes.dex file, skip it and continue looking
...
git-svn-id: https://smali.googlecode.com/svn/trunk@670 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-04 07:45:01 +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
74eeca35f7
Add additional error context for errors that occur while loading the boot class path files
...
git-svn-id: https://smali.googlecode.com/svn/trunk@668 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-04 07:44:08 +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
7025dfb753
Split the analysis logic into an analysis pass and a verification pass
...
git-svn-id: https://smali.googlecode.com/svn/trunk@663 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 03:26:33 +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
7974e53f15
Use an integer to hold the state of the MethodAnalyzer, in preparation for splitting the analysis logic into an analysis pass and a verification pass.
...
git-svn-id: https://smali.googlecode.com/svn/trunk@661 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 03:25:53 +00:00
JesusFreke@JesusFreke.com
e0ce06f238
Update version to 1.2.1
...
git-svn-id: https://smali.googlecode.com/svn/trunk@660 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-03-03 03:25:30 +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
6d8f776838
Refactor the smali parameters so that the debug options aren't shown unless -? is specified twice (-??)
...
git-svn-id: https://smali.googlecode.com/svn/trunk@643 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:02:22 +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
09ee2ce454
When searching for the boot class path files, try alternate file endings as well
...
git-svn-id: https://smali.googlecode.com/svn/trunk@641 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:01:58 +00:00
JesusFreke@JesusFreke.com
67c0929d67
Updated version to 1.2
...
git-svn-id: https://smali.googlecode.com/svn/trunk@640 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 07:01:47 +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
2ba2d0f16b
Use a pre-allocated buffer in Utf8Utils.utf8BytesToString, to avoid having to allocate a buffer on each call
...
git-svn-id: https://smali.googlecode.com/svn/trunk@636 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:56:36 +00:00
JesusFreke@JesusFreke.com
d79d9ebbe9
Tweak dexlib's "skip instructions" functionality so that it doesn't read in the CodeItems or DebugInfoItems at all
...
git-svn-id: https://smali.googlecode.com/svn/trunk@635 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-22 00:56:26 +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
20cfe7aa0f
After analyzing a method, change any "Unknown" registers to "Uninit"
...
git-svn-id: https://smali.googlecode.com/svn/trunk@627 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:38 +00:00
JesusFreke@JesusFreke.com
eac512ae67
Add support for the "Uninit" register type
...
git-svn-id: https://smali.googlecode.com/svn/trunk@626 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 21:57:27 +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