983 Commits

Author SHA1 Message Date
Ben Gruver
addb2dcdd4 Add new deodexerant utility, to dump dalvik's inline method table 2011-11-20 15:46:40 -08:00
Ben Gruver
c2f08d5123 Add support for an --api-level parameter 2011-11-20 15:46:40 -08:00
Ben Gruver
6729493700 Add support in MethodAnalyzer for the new opcodes 2011-11-20 15:46:40 -08:00
Ben Gruver
b0ca7cb99b Add support for auto-upgrading to /jumbo variants of instructions when needed/possible 2011-11-20 15:46:39 -08:00
Ben Gruver
c4db7e2473 Add support for Format5rc 2011-11-20 15:46:39 -08:00
Ben Gruver
8d323b3c48 Add support for blank register ranges 2011-11-20 15:46:39 -08:00
Ben Gruver
de5b35dbb6 Add support for Format52c (field references) 2011-11-20 15:46:39 -08:00
Ben Gruver
1efc2c0388 Add support for Format52c (type references) 2011-11-20 15:46:39 -08:00
Ben Gruver
a70eb74985 Fix performance issue when assembling classes with many static fields 2011-11-20 15:46:39 -08:00
Ben Gruver
d863324ffb Add support for Format41c (field references) 2011-11-20 15:46:39 -08:00
Ben Gruver
8b3b577f00 Add additional checks for index size when writing various items 2011-11-20 15:46:39 -08:00
Ben Gruver
d12c769276 Add support for Format41c (type references) 2011-11-20 15:46:38 -08:00
Ben Gruver
d064d69992 Fix up jumbo string tests 2011-11-20 15:46:38 -08:00
Ben Gruver
9c5ea8fa92 Lay the groundwork for general 32-bit IndexedItem references 2011-11-20 15:46:38 -08:00
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