JesusFreke@JesusFreke.com
4080fe659d
Improve handling of the dex and odex magic values
...
git-svn-id: https://smali.googlecode.com/svn/trunk@469 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-13 19:57:25 +00:00
JesusFreke@JesusFreke.com
343848c849
Include the first 8 bytes of the file when reporting a bad magic value
...
git-svn-id: https://smali.googlecode.com/svn/trunk@468 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-13 19:45:54 +00:00
JesusFreke@JesusFreke.com
dbaa44be6c
wasn't propogating deadness in all cases
...
git-svn-id: https://smali.googlecode.com/svn/trunk@462 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-11 03:14:40 +00:00
JesusFreke@JesusFreke.com
a948461964
Check for null when looking up a superclass
...
git-svn-id: https://smali.googlecode.com/svn/trunk@460 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-11 01:45:28 +00:00
JesusFreke@JesusFreke.com
c65a8d8b5f
Added better support for the case when an optimized instruction can't be resolved due to the object register always being null. It should comment out any dead code following the unresolved instruction (to prevent verification issues, due to the changed method call)
...
git-svn-id: https://smali.googlecode.com/svn/trunk@455 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 06:40:58 +00:00
JesusFreke@JesusFreke.com
ddc8655d10
Fix some null checking logic
...
git-svn-id: https://smali.googlecode.com/svn/trunk@454 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-10 02:01:38 +00:00
JesusFreke@JesusFreke.com
61eedba1ab
Fix a bug when creating a dex file that has a blank section for one of the indexed item types
...
git-svn-id: https://smali.googlecode.com/svn/trunk@452 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 06:58:50 +00:00
JesusFreke@JesusFreke.com
a6bf1ed0fe
store types as strings, to allow for intermediate types that don't exist in the dex file
...
git-svn-id: https://smali.googlecode.com/svn/trunk@451 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 06:38:01 +00:00
JesusFreke@JesusFreke.com
e942607e1a
delete TODO
...
git-svn-id: https://smali.googlecode.com/svn/trunk@449 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 05:09:45 +00:00
JesusFreke@JesusFreke.com
726d88404d
Handle a rare case where deodexing an instruction invalidates a previously deodexed instruction somewhere else because of the new register information available
...
git-svn-id: https://smali.googlecode.com/svn/trunk@448 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 04:21:20 +00:00
JesusFreke@JesusFreke.com
8b260a1d81
Changed the instruction map to a Sparse array, plus various cleanup
...
git-svn-id: https://smali.googlecode.com/svn/trunk@447 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 03:40:31 +00:00
JesusFreke@JesusFreke.com
c2c37aed3b
removed todo comment
...
git-svn-id: https://smali.googlecode.com/svn/trunk@446 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 01:44:48 +00:00
JesusFreke@JesusFreke.com
a3d7d2423d
- removed insn.fixed
...
- added a merge table for the register type merge logic
git-svn-id: https://smali.googlecode.com/svn/trunk@445 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-09 01:43:57 +00:00
JesusFreke@JesusFreke.com
6fa95185b7
Added caching for the rest of the deodexerant commands
...
git-svn-id: https://smali.googlecode.com/svn/trunk@443 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 23:04:44 +00:00
JesusFreke@JesusFreke.com
7f91677f24
Add a check on the vtable index when doing a virtual method lookup
...
git-svn-id: https://smali.googlecode.com/svn/trunk@441 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 20:27:12 +00:00
JesusFreke@JesusFreke.com
665884682c
- Add support for the change in deodexerant where it now dumps all vtable entries, instead of having to query for a specific one
...
- cache the vtable information we get from deodexerant
git-svn-id: https://smali.googlecode.com/svn/trunk@440 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 20:19:28 +00:00
JesusFreke@JesusFreke.com
d24694eda4
minor cleanup
...
git-svn-id: https://smali.googlecode.com/svn/trunk@436 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 07:27:42 +00:00
JesusFreke@JesusFreke.com
5b89857df3
Initial commit of deodex functionality in dexlib and baksmali
...
git-svn-id: https://smali.googlecode.com/svn/trunk@435 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-09-08 06:27:32 +00:00
JesusFreke@JesusFreke.com
5f98a29260
Add support for the odex only opcodes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@432 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-30 04:28:11 +00:00
JesusFreke@JesusFreke.com
73a63516fc
preliminary support for reading in odex files
...
git-svn-id: https://smali.googlecode.com/svn/trunk@431 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-30 02:32:27 +00:00
JesusFreke@JesusFreke.com
2ec8d992d0
Don't use substraction to compare signed integral types, use comparisons
...
git-svn-id: https://smali.googlecode.com/svn/trunk@427 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-28 07:30:42 +00:00
JesusFreke@JesusFreke.com
fd427e41ea
use the address, not the address delta when calling emitAdvancePC
...
git-svn-id: https://smali.googlecode.com/svn/trunk@425 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-28 05:31:21 +00:00
JesusFreke@JesusFreke.com
c604ed6c1a
Add .hashcode and .equals to EncodedCatchHandler and EncodedTypeAddrPair, so that the TryListBuilder can build a unique hash to avoid duplicate EncodedCatchHandler entries
...
git-svn-id: https://smali.googlecode.com/svn/trunk@424 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-28 03:58:42 +00:00
JesusFreke@JesusFreke.com
0da75f71eb
Initialize the offset of ClassDefItems to -1 before placing them
...
git-svn-id: https://smali.googlecode.com/svn/trunk@423 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-26 04:42:18 +00:00
JesusFreke@JesusFreke.com
e88cdf2010
If the ArrayData pseudo instruction has an odd size, write out a final padding byte
...
git-svn-id: https://smali.googlecode.com/svn/trunk@422 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-26 03:08:55 +00:00
JesusFreke@JesusFreke.com
59cc9d09b7
Sort the ClassDefItems by offset after placing them
...
git-svn-id: https://smali.googlecode.com/svn/trunk@421 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-26 03:07:57 +00:00
JesusFreke@JesusFreke.com
af88d65aac
Compare values using compareTo, not compareValue
...
git-svn-id: https://smali.googlecode.com/svn/trunk@420 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-26 02:38:23 +00:00
JesusFreke@JesusFreke.com
97da4a7699
Check for nulls
...
git-svn-id: https://smali.googlecode.com/svn/trunk@419 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-25 02:33:40 +00:00
JesusFreke@JesusFreke.com
3c48a886bd
Add padding if needed
...
git-svn-id: https://smali.googlecode.com/svn/trunk@418 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-25 02:33:18 +00:00
JesusFreke@JesusFreke.com
4da483a55b
use assert. duh
...
git-svn-id: https://smali.googlecode.com/svn/trunk@417 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-25 02:14:35 +00:00
JesusFreke@JesusFreke.com
e9c67dbb9c
use unsigned shift while writing an unsigned leb128
...
git-svn-id: https://smali.googlecode.com/svn/trunk@416 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-25 01:16:26 +00:00
JesusFreke@JesusFreke.com
2773319471
Fixes for a few instruction formats that have a blank byte after the opcode
...
git-svn-id: https://smali.googlecode.com/svn/trunk@415 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-25 00:58:14 +00:00
JesusFreke@JesusFreke.com
c74042b943
Add a convenience method that accepts a string instead of a StringIdItem
...
git-svn-id: https://smali.googlecode.com/svn/trunk@414 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-24 05:48:14 +00:00
JesusFreke@JesusFreke.com
3687f27ddd
When interning an item, don't forget to add the item to the items list
...
git-svn-id: https://smali.googlecode.com/svn/trunk@413 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-24 05:47:29 +00:00
JesusFreke@JesusFreke.com
7eca83ddb6
Various changes mostly relating to changing the getInterned* item methods to accept lists instead of arrays
...
git-svn-id: https://smali.googlecode.com/svn/trunk@412 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-24 05:46:45 +00:00
JesusFreke@JesusFreke.com
eb21bb1783
use java's assert
...
git-svn-id: https://smali.googlecode.com/svn/trunk@411 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-24 05:45:10 +00:00
JesusFreke@JesusFreke.com
83e6f4bb60
Changed the "from-scratch" constructor in the format classes to a static emit method
...
git-svn-id: https://smali.googlecode.com/svn/trunk@410 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-24 05:42:49 +00:00
JesusFreke@JesusFreke.com
f75a5c351c
Change getInternedAnnotationDirectoryItem to accept lists of composite item+annotation objects instead of separate arrays of everything
...
git-svn-id: https://smali.googlecode.com/svn/trunk@409 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 20:08:52 +00:00
JesusFreke@JesusFreke.com
ea64b6e653
Change TypeListItem constructor to take an array rather than a list, to be consistent with other classes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@408 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 07:11:42 +00:00
JesusFreke@JesusFreke.com
11503ec26e
Merged in DebugInfoBuilder.java from the prior dexlib, and fixed it up to work with the new dexlib
...
git-svn-id: https://smali.googlecode.com/svn/trunk@407 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 06:28:54 +00:00
JesusFreke@JesusFreke.com
3080fb1bfc
Merged in TryListBuilder.java from the prior dexlib, and fixed it up to work with the new dexlib
...
git-svn-id: https://smali.googlecode.com/svn/trunk@406 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 05:05:04 +00:00
JesusFreke@JesusFreke.com
1877b664de
When making a ClassDataItem from scratch, sort the fields and methods
...
git-svn-id: https://smali.googlecode.com/svn/trunk@405 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 03:43:19 +00:00
JesusFreke@JesusFreke.com
b90597bd9b
When making a ClassDefItem from scratch, sort the static field initializers appropriately
...
git-svn-id: https://smali.googlecode.com/svn/trunk@404 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-23 03:41:27 +00:00
JesusFreke@JesusFreke.com
f49271eb8f
Include the size of the map header during placement
...
git-svn-id: https://smali.googlecode.com/svn/trunk@403 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-22 22:00:50 +00:00
JesusFreke@JesusFreke.com
66146deb47
Write out the map header
...
git-svn-id: https://smali.googlecode.com/svn/trunk@402 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-22 21:52:34 +00:00
JesusFreke@JesusFreke.com
6389c5bc6b
Fix an issue with how encoded booleans are written
...
git-svn-id: https://smali.googlecode.com/svn/trunk@401 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-21 07:02:15 +00:00
JesusFreke@JesusFreke.com
cf483d2e13
- Remove duplicate annotation of the padding
...
- fix the calculation of the encoded handlers size, based on the presence or absence of the catch all handler
git-svn-id: https://smali.googlecode.com/svn/trunk@400 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-21 06:54:12 +00:00
JesusFreke@JesusFreke.com
b133198ba8
Write the debug info offset, not index
...
git-svn-id: https://smali.googlecode.com/svn/trunk@399 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-21 06:14:33 +00:00
JesusFreke@JesusFreke.com
4d68e05fb5
Changes to dump annotation format
...
git-svn-id: https://smali.googlecode.com/svn/trunk@398 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-21 02:50:07 +00:00
JesusFreke@JesusFreke.com
d9dd571427
Changes to dump annotation format
...
git-svn-id: https://smali.googlecode.com/svn/trunk@397 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-08-12 06:05:03 +00:00