769 Commits

Author SHA1 Message Date
Ben Gruver
95cd71c2d0 Lay the groundwork for expanded (16-bit) opcodes 2011-11-20 15:46:32 -08:00
Ben Gruver
166fc9296e Refactor out the getRegCount method into a seperate InvokeInstruction interface 2011-11-19 11:39:49 -08:00
Ben Gruver
f40b4e9a1e Delete the old, unused string template 2011-11-19 11:39:49 -08:00
Ben Gruver
b0c62b9781 Seperate out execute-inline and execute-inline/range into seperate 35mi and 3rmi formats 2011-11-19 11:39:49 -08:00
Ben Gruver
bda056b7b0 Add the throw-verification-error token to the instruction test for the lexer 2011-11-19 11:39:49 -08:00
Ben Gruver
3bfd77dff0 Use the term VtableIndex rather than MethodIndex for invoke-*-quick instructions/formats 2011-11-19 11:39:49 -08:00
Ben Gruver
8e51717604 Add support for the THROW_VERIFICATION_ERROR opcode in MethodAnalyzer 2011-11-19 11:39:49 -08:00
Ben Gruver
5d88046301 .gitignore mvn target directories 2011-11-19 11:39:49 -08:00
Ben Gruver
880e82dc63 Update NOTICE to include info on Google Inc. copyrighted code 2011-11-19 11:39:49 -08:00
Ben Gruver
225535b1c9 Add .gitignore files to exclude the target directory for the various modules 2011-11-19 11:39:45 -08:00
Ben Gruver
78d50d3273 Bump the version to 1.2.9-dev 2011-10-11 15:02:08 -04:00
Ben Gruver
4ba8cebf01 Add additional verbage for the --allow-odex-instructions in smali 2011-10-10 02:01:59 -04:00
Ben Gruver
df00f6b8a8 Add support for assembling format 22c odex instructions 2011-10-10 00:55:17 -04:00
Ben Gruver
f5f64b26f7 Add support for assembling format 21c odex instructions 2011-10-10 00:47:44 -04:00
Ben Gruver
f356647461 Add lexer tests for throw-verification-error and related tokens 2011-10-09 22:53:35 -04:00
Ben Gruver
2829262f9d Improve the error reporting for the lexer tests 2011-10-09 22:52:56 -04:00
Ben Gruver
94e5a39ad2 Add initial support for allowing assembly of odex instructions
Initially, only throw-verification-error is supported
2011-10-09 22:51:44 -04:00
Ben Gruver
bbe539f2d2 Add support for the throw-verification-error opcode 2011-10-09 22:51:39 -04:00
Ben Gruver
cb3e0ea38a Improve the way sparse/packed switch data blocks are found and processed 2011-10-09 01:19:25 -04:00
Ben Gruver
82cdb8a8af Fix an incorrectly formatted offset to the debug info, in the dump for a code item 2011-09-20 22:38:51 -04:00
Ben Gruver
f8637cedd5 Add an example showing how methods can be overriden based on return value 2011-09-17 18:01:03 -04:00
Ben Gruver
049bba5d98 Fix an infinite loop in findMethodByMethodIdInternal 2011-08-14 20:09:12 -04:00
Ben Gruver
2337fcb31b Bump the version number to 1.2.8-dev 2011-08-13 20:45:56 -04:00
Ben Gruver
a91109b8a7 Take into account defining class information when resolving field offsets
This fixes an issue when deodexing, where a field offset is incorrectly
resolved when trying to access a field defined in an ancestor class
when the the child class defines a field with the same name

Kudos to brightidea @ xda-dev for digging into this issue and figuring
out the problem!
2011-08-13 02:22:16 -04:00
Ben Gruver
c2e3d1a320 Remove unused instanceFieldLookup field in ClassPath.ClassDef 2011-08-12 22:51:50 -04:00
Ben Gruver
4dbfae78e9 Rename literalTools to LiteralTools
Just for evancharlton
2011-07-20 20:13:38 -04:00
Ben Gruver
3c4f8094a2 Fix possible issue(?) in IntegerRenderer.writeUnsignedTo 2011-07-15 13:32:36 -04:00
Ben Gruver
74c14ffcca Rename the printLongAsHex and printIntAsHex methods in IndentingWriter for clarity 2011-07-15 13:32:36 -04:00
Ben Gruver
f119fc6db5 Fix the printIntAsDec method in Indenting writer to correctly handle negative values 2011-07-15 13:32:27 -04:00
jesusfreke@jesusfreke.com
fadcc2dcb9 Ignore the link section in the header
git-svn-id: https://smali.googlecode.com/svn/trunk@812 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-07-15 09:22:43 +00:00
jesusfreke@jesusfreke.com
baa030c201 Correctly escape any special characters in the value of the .source directive
git-svn-id: https://smali.googlecode.com/svn/trunk@811 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-06-03 01:40:23 +00:00
jesusfreke@jesusfreke.com
a564a1733b Don't forget to check if synthetic accessor comments are disabled
git-svn-id: https://smali.googlecode.com/svn/trunk@810 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-05-20 06:37:17 +00:00
jesusfreke@jesusfreke.com
2f376953b4 Add helper comments for synthetic member accessors
This adds a comment before a synthetic member accessor is called, which
mentions what member in the parent is being accessed

Kudos to jasta for suggesting this feature!

git-svn-id: https://smali.googlecode.com/svn/trunk@809 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-05-20 06:16:22 +00:00
jesusfreke@jesusfreke.com
7ed253b78b Fix bug in ByteArrayInput.readLong
Thanks to deuns.martinez for reporting this fix

git-svn-id: https://smali.googlecode.com/svn/trunk@808 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-05-15 17:06:57 +00:00
jesusfreke@jesusfreke.com
817f2e0a76 Fix invalid cast when deodexing an execute inline instruction on an odex file from eclair or earlier
git-svn-id: https://smali.googlecode.com/svn/trunk@807 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-01-02 18:39:15 +00:00
jesusfreke@jesusfreke.com
9d5f9610bc Bump the version to 1.2.7
Also, add a -dev suffix that will be manually removed when doing the official release

git-svn-id: https://smali.googlecode.com/svn/trunk@806 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2011-01-02 18:39:12 +00:00
JesusFreke@JesusFreke.com
0d54c0b93c Minor whitespace fixes
git-svn-id: https://smali.googlecode.com/svn/trunk@804 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-23 19:58:27 +00:00
JesusFreke@JesusFreke.com
d659582b6e Fix typo
git-svn-id: https://smali.googlecode.com/svn/trunk@803 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-23 19:58:23 +00:00
JesusFreke@JesusFreke.com
27dd1a5d97 Add support in smali for the new odex instructions
git-svn-id: https://smali.googlecode.com/svn/trunk@802 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-23 19:58:17 +00:00
JesusFreke@JesusFreke.com
66c6e90512 add missing iput/sput instructions in the InstructionTest lexer test
git-svn-id: https://smali.googlecode.com/svn/trunk@801 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-23 19:57:59 +00:00
JesusFreke@JesusFreke.com
1ad2f503bb The fastIndexOf inline method should be a direct method, not virtual
git-svn-id: https://smali.googlecode.com/svn/trunk@800 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-22 01:49:08 +00:00
JesusFreke@JesusFreke.com
d4417d7269 add support for the new odex opcodes for volatile field access that were added in gingerbread
git-svn-id: https://smali.googlecode.com/svn/trunk@799 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-21 17:33:30 +00:00
JesusFreke@JesusFreke.com
595cdad3d6 Add support for the new inline methods added in gingerbread
git-svn-id: https://smali.googlecode.com/svn/trunk@798 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-21 17:33:25 +00:00
JesusFreke@JesusFreke.com
b9a19bf3f1 Remove deodexerant and related functionality
git-svn-id: https://smali.googlecode.com/svn/trunk@797 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-21 17:33:20 +00:00
JesusFreke@JesusFreke.com
b3ba356d94 Update version to 1.2.6
git-svn-id: https://smali.googlecode.com/svn/trunk@796 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-12-21 17:33:14 +00:00
JesusFreke@JesusFreke.com
2c486b4ee7 Add the high and low surrogate characters as valid characters for identifiers
The dex format allows any supplemental character to be used for identifiers,
but jflex doesn't directly support supplemental characters. However, we can
tell jflex to accept a high and low surrogate character pair instead, which
has the same effect as directly accepting any supplemental character

git-svn-id: https://smali.googlecode.com/svn/trunk@795 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-11-18 04:57:05 +00:00
JesusFreke@JesusFreke.com
83ef98462a Fix an issue where smali doesn't recognize field/class names that look like an integer
git-svn-id: https://smali.googlecode.com/svn/trunk@794 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-11-04 16:48:27 +00:00
JesusFreke@JesusFreke.com
922c533809 Update version to 1.2.5
git-svn-id: https://smali.googlecode.com/svn/trunk@792 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-10-31 20:20:59 +00:00
JesusFreke@JesusFreke.com
879b119b8d Remove the jflex dependency in the smali pom file
git-svn-id: https://smali.googlecode.com/svn/trunk@791 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-10-28 17:23:35 +00:00
JesusFreke@JesusFreke.com
b9f9e85d84 Append a # to the end of class names that happen to be reserved file names on windows
git-svn-id: https://smali.googlecode.com/svn/trunk@790 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2010-09-25 16:04:33 +00:00