JesusFreke@JesusFreke.com
2feb05f645
Rewrite smali's lexer, and modify the parser and tree walker accordingly
...
The lexer is now much more like a normal lexer, instead of having the long multi-token rules
git-svn-id: https://smali.googlecode.com/svn/trunk@707 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:25:57 +00:00
JesusFreke@JesusFreke.com
3e4c1193cf
Update dump option to use -D instead of -d
...
git-svn-id: https://smali.googlecode.com/svn/trunk@706 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:25:54 +00:00
JesusFreke@JesusFreke.com
6a7f2e2d24
Move to ANTLR v3.2
...
git-svn-id: https://smali.googlecode.com/svn/trunk@705 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:25:47 +00:00
JesusFreke@JesusFreke.com
b3abca4c90
cleaned up imports
...
git-svn-id: https://smali.googlecode.com/svn/trunk@704 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:25:29 +00:00
JesusFreke@JesusFreke.com
cf01189c7f
Update version to 1.2.3
...
git-svn-id: https://smali.googlecode.com/svn/trunk@703 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-16 07:25:24 +00:00
JesusFreke@JesusFreke.com
2371e35aae
Exit on the first error by default, but add the -I option for ignoring errors and continuing with disassembly
...
git-svn-id: https://smali.googlecode.com/svn/trunk@701 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:25 +00:00
JesusFreke@JesusFreke.com
0808ee81c6
use Array.clone instead of Arrays.copyOf, to be compliant with java 5
...
git-svn-id: https://smali.googlecode.com/svn/trunk@700 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:17 +00:00
JesusFreke@JesusFreke.com
bde73b303c
minor changes to option usage info
...
git-svn-id: https://smali.googlecode.com/svn/trunk@699 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:13 +00:00
JesusFreke@JesusFreke.com
db806b1261
minor reformatting - reorder the options
...
git-svn-id: https://smali.googlecode.com/svn/trunk@698 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:03:09 +00:00
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
51cf2f54d5
Add support in smali for the invoke-direct-quick opcode
...
git-svn-id: https://smali.googlecode.com/svn/trunk@695 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-04-03 23:02:56 +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
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