Commit Graph

1271 Commits

Author SHA1 Message Date
d064d69992 Fix up jumbo string tests 2011-11-20 15:46:38 -08:00
9c5ea8fa92 Lay the groundwork for general 32-bit IndexedItem references 2011-11-20 15:46:38 -08:00
95cd71c2d0 Lay the groundwork for expanded (16-bit) opcodes 2011-11-20 15:46:32 -08:00
166fc9296e Refactor out the getRegCount method into a seperate InvokeInstruction interface 2011-11-19 11:39:49 -08:00
f40b4e9a1e Delete the old, unused string template 2011-11-19 11:39:49 -08:00
b0c62b9781 Seperate out execute-inline and execute-inline/range into seperate 35mi and 3rmi formats 2011-11-19 11:39:49 -08:00
bda056b7b0 Add the throw-verification-error token to the instruction test for the lexer 2011-11-19 11:39:49 -08:00
3bfd77dff0 Use the term VtableIndex rather than MethodIndex for invoke-*-quick instructions/formats 2011-11-19 11:39:49 -08:00
8e51717604 Add support for the THROW_VERIFICATION_ERROR opcode in MethodAnalyzer 2011-11-19 11:39:49 -08:00
5d88046301 .gitignore mvn target directories 2011-11-19 11:39:49 -08:00
880e82dc63 Update NOTICE to include info on Google Inc. copyrighted code 2011-11-19 11:39:49 -08:00
225535b1c9 Add .gitignore files to exclude the target directory for the various modules 2011-11-19 11:39:45 -08:00
78d50d3273 Bump the version to 1.2.9-dev 2011-10-11 15:02:08 -04:00
4ba8cebf01 Add additional verbage for the --allow-odex-instructions in smali 2011-10-10 02:01:59 -04:00
df00f6b8a8 Add support for assembling format 22c odex instructions 2011-10-10 00:55:17 -04:00
f5f64b26f7 Add support for assembling format 21c odex instructions 2011-10-10 00:47:44 -04:00
f356647461 Add lexer tests for throw-verification-error and related tokens 2011-10-09 22:53:35 -04:00
2829262f9d Improve the error reporting for the lexer tests 2011-10-09 22:52:56 -04:00
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
bbe539f2d2 Add support for the throw-verification-error opcode 2011-10-09 22:51:39 -04:00
cb3e0ea38a Improve the way sparse/packed switch data blocks are found and processed 2011-10-09 01:19:25 -04:00
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
f8637cedd5 Add an example showing how methods can be overriden based on return value 2011-09-17 18:01:03 -04:00
049bba5d98 Fix an infinite loop in findMethodByMethodIdInternal 2011-08-14 20:09:12 -04:00
2337fcb31b Bump the version number to 1.2.8-dev 2011-08-13 20:45:56 -04:00
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
c2e3d1a320 Remove unused instanceFieldLookup field in ClassPath.ClassDef 2011-08-12 22:51:50 -04:00
4dbfae78e9 Rename literalTools to LiteralTools
Just for evancharlton
2011-07-20 20:13:38 -04:00
3c4f8094a2 Fix possible issue(?) in IntegerRenderer.writeUnsignedTo 2011-07-15 13:32:36 -04:00
74c14ffcca Rename the printLongAsHex and printIntAsHex methods in IndentingWriter for clarity 2011-07-15 13:32:36 -04:00
f119fc6db5 Fix the printIntAsDec method in Indenting writer to correctly handle negative values 2011-07-15 13:32:27 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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