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
|
cf4e7ce360
|
added another deodex test case
git-svn-id: https://smali.googlecode.com/svn/trunk@453 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-10 01:22:25 +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
|
c3deed2751
|
Added a tricky test case for the deodexer
git-svn-id: https://smali.googlecode.com/svn/trunk@450 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-09 05:15:40 +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
|
e6e9569227
|
change the field lookup to a field dump, and the inline method lookup to an inline method dump
git-svn-id: https://smali.googlecode.com/svn/trunk@444 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 23:05:53 +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
|
f0e3677538
|
fix the "null" fixed instructions.. again
git-svn-id: https://smali.googlecode.com/svn/trunk@442 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 20:34:19 +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
|
4ef9fbbd21
|
Change the virtual method lookup to dump the entire vtable for the class
git-svn-id: https://smali.googlecode.com/svn/trunk@439 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 20:18:01 +00:00 |
|
JesusFreke@JesusFreke.com
|
285dfd013a
|
Fix the registers in the dummy method calls used to replace null pointer method invokes/field accesses
git-svn-id: https://smali.googlecode.com/svn/trunk@438 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 08:27:52 +00:00 |
|
JesusFreke@JesusFreke.com
|
631326836e
|
Add opcode parameter
git-svn-id: https://smali.googlecode.com/svn/trunk@437 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 07:28:06 +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
|
df2a55dee5
|
Initial commit of deodexerant
git-svn-id: https://smali.googlecode.com/svn/trunk@434 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-09-08 06:26:34 +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
|
4a4fac96de
|
Update the version to .96
git-svn-id: https://smali.googlecode.com/svn/trunk@430 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-08-30 02:31:42 +00:00 |
|
JesusFreke@JesusFreke.com
|
aaa11529d4
|
Check if the method is static to determine if there is an extra "this" register, not if it's a direct method
git-svn-id: https://smali.googlecode.com/svn/trunk@428 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-08-29 05:03:13 +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
|
e1b2408a8c
|
Don't create a type list for prototypes with no paremeters
git-svn-id: https://smali.googlecode.com/svn/trunk@426 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
|
2009-08-28 05:32:12 +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 |
|