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
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
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
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
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
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
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
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
1ed567427b
Add support for unresolved types. This isn't fatal in all cases
...
git-svn-id: https://smali.googlecode.com/svn/trunk@622 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-14 20:04:03 +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
caea37a7d2
Implemented verification for the literal binary operation instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@619 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:24 +00:00
JesusFreke@JesusFreke.com
122eba5cec
Implemented verification for the 2-register binary operation instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@618 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:18 +00:00
JesusFreke@JesusFreke.com
195e1a1071
Implemented verification for binary operation instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@617 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:12 +00:00
JesusFreke@JesusFreke.com
1483cc8e68
Implemented verification for unary operation instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@616 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:07 +00:00
JesusFreke@JesusFreke.com
85e17ca30a
refactor the validation for source register types
...
git-svn-id: https://smali.googlecode.com/svn/trunk@615 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:28:01 +00:00
JesusFreke@JesusFreke.com
ee7ca05c81
Change the return value of analyzeInstruction and all the handle* methods from bool to void
...
git-svn-id: https://smali.googlecode.com/svn/trunk@614 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:55 +00:00
JesusFreke@JesusFreke.com
89e1413ef3
Implemented verification for invoke instructions
...
git-svn-id: https://smali.googlecode.com/svn/trunk@613 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:49 +00:00
JesusFreke@JesusFreke.com
300ad56aa3
Add the logic to iterate over all the instructions as the register information for them is updated
...
git-svn-id: https://smali.googlecode.com/svn/trunk@612 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:42 +00:00
JesusFreke@JesusFreke.com
fa323d30a0
When merging register types, an Unknown type and a known type should merge to the known type
...
git-svn-id: https://smali.googlecode.com/svn/trunk@611 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:36 +00:00
JesusFreke@JesusFreke.com
a0314c265e
Handle uninitialized referenced appropriately
...
git-svn-id: https://smali.googlecode.com/svn/trunk@610 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:30 +00:00
JesusFreke@JesusFreke.com
b615ba6f51
Add concrete implementations of RegisterIterator for Format35c and Format3rc
...
git-svn-id: https://smali.googlecode.com/svn/trunk@609 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:23 +00:00
JesusFreke@JesusFreke.com
6192896f88
Add pastEnd() method to RegisterIterator
...
git-svn-id: https://smali.googlecode.com/svn/trunk@608 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:18 +00:00
JesusFreke@JesusFreke.com
06d1aacf61
Add getCount() method to RegisterIterator
...
git-svn-id: https://smali.googlecode.com/svn/trunk@607 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-02-08 02:27:12 +00:00
JesusFreke@JesusFreke.com
6d11e9062d
Fix the register check for the source register in handleIputObject, and add misc TODO
...
git-svn-id: https://smali.googlecode.com/svn/trunk@606 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:38 +00:00
JesusFreke@JesusFreke.com
51cec00885
Implemented verification for sput-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@605 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:32 +00:00
JesusFreke@JesusFreke.com
f08a9e1c2c
Implemented verification for sput-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@604 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 07:09:26 +00:00
JesusFreke@JesusFreke.com
9d45d563fe
Implemented verification for sput/sput-boolean/sput-byte/sput-char/sput-short
...
git-svn-id: https://smali.googlecode.com/svn/trunk@603 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 06:22:11 +00:00
JesusFreke@JesusFreke.com
2d6d6eb22c
Implemented verification for sget-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@602 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:56:23 +00:00
JesusFreke@JesusFreke.com
2f233fefd9
Implemented verification for sget-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@601 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:54:00 +00:00
JesusFreke@JesusFreke.com
bd215cd95b
Clean up handle32BitPrimitiveSget a bit
...
git-svn-id: https://smali.googlecode.com/svn/trunk@600 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:53:53 +00:00
JesusFreke@JesusFreke.com
052f4890ab
Implemented verification for sget/sget-boolean/sget-byte/sget-char/sget-short
...
git-svn-id: https://smali.googlecode.com/svn/trunk@599 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 04:37:16 +00:00
JesusFreke@JesusFreke.com
50ff624741
Implemented verification for iput-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@598 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 03:14:25 +00:00
JesusFreke@JesusFreke.com
92616c9f60
Implemented verification for iput-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@597 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:44:59 +00:00
JesusFreke@JesusFreke.com
9971346f4c
Implemented verification for iput/iput-boolean/iput-byte/iput-char/iput-short
...
git-svn-id: https://smali.googlecode.com/svn/trunk@596 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:16:59 +00:00
JesusFreke@JesusFreke.com
7a58f2434a
Implemented verification for iget-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@595 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 02:16:52 +00:00
JesusFreke@JesusFreke.com
9d92fd3748
Implemented verification for iget-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@594 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-27 01:53:53 +00:00
JesusFreke@JesusFreke.com
4f84e8f9e9
Implemented verification for iget/iget-boolean/iget-byte/iget-char/iget-short
...
git-svn-id: https://smali.googlecode.com/svn/trunk@593 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-26 03:17:42 +00:00
JesusFreke@JesusFreke.com
898e750048
Implemented verification for aput-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@592 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 02:18:24 +00:00
JesusFreke@JesusFreke.com
55d43e36eb
Implemented verification for aput-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@591 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:55:07 +00:00
JesusFreke@JesusFreke.com
c849236be2
Implemented verification for aput/aput-boolean/aput-byte/aput-char/aput-short
...
git-svn-id: https://smali.googlecode.com/svn/trunk@590 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:42:45 +00:00
JesusFreke@JesusFreke.com
461a797324
Implemented verification for aget-object
...
git-svn-id: https://smali.googlecode.com/svn/trunk@589 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 01:05:15 +00:00
JesusFreke@JesusFreke.com
c308b24b62
Implemented verification for aget-wide
...
git-svn-id: https://smali.googlecode.com/svn/trunk@588 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-01-25 00:36:52 +00:00