Closed GoogleCodeExporter closed 9 years ago
Thanks, I'll take a look at it.
Original comment by jesusfreke@jesusfreke.com
on 6 Jan 2013 at 8:14
I also have this error on attached file
Original comment by Firesera...@gmail.com
on 16 Jan 2013 at 12:28
Attachments:
Issue 162 has been merged into this issue.
Original comment by bgruv@google.com
on 1 Mar 2013 at 6:36
As an update on this issue, I'm aware of the problem, and plan on fixing this
when I update smali/baksmali to use the new dexlib2 that is currently under
development.
Original comment by bgruv@google.com
on 1 Mar 2013 at 6:37
Issue 163 has been merged into this issue.
Original comment by bgruv@google.com
on 1 Mar 2013 at 10:51
Ok, I'm waiting on it
Original comment by ikhsan.s...@gmail.com
on 1 Mar 2013 at 10:58
This should be fixed in 2.0. Feel free to grab the beta jars and give it a
whirl.
What should occur is that an error will occur for the class/classes that have
these invalid indexes, and baksmali will ignore that class and continue to
process the rest of the dex file.
The dalvik verifier will throw out such a class anyway, and dalvik will refuse
to load/use it. I'm not interested in trying to disassemble something that
dalvik won't run - there could be any number of ways that someone could
generate an invalid class and it just doesn't make sense to try to handle that,
other than ignoring the class.
Original comment by jesusfreke@jesusfreke.com
on 7 May 2013 at 8:10
Original comment by jesusfreke@jesusfreke.com
on 7 May 2013 at 8:20
Hi,
great work! If I can at least read all valid classes instead of entirely
stopping in the middle of the dex-file, this is totaly sufficient and
understandable! great work.
building got a little harder now...
would it be possible to change DexFile.java in this way:
from:
} finally {
if (inputStream != null) {
inputStream.close();
}
if (zipFile != null) {
zipFile.close();
}
}
ReadContext readContext = new ReadContext();
to
}
read(in);
}
public DexFile(final Input in, boolean preserveSignedRegisters, boolean skipInstructions) {
this(preserveSignedRegisters, skipInstructions);
read(in);
}
private void read(final Input in) {
ReadContext readContext = new ReadContext();
So it's easier to use the dexlib outside of baksmali.
Original comment by andrePan...@gmail.com
on 8 May 2013 at 12:54
ok forget my last comment, have seen dexlib2 looks totally different from
previous
Original comment by andrePan...@gmail.com
on 8 May 2013 at 2:03
OK I could now adapt to the new library, it works with the given file.
And the new lib is phantastic! lots of indirections (IdItems) gone...much
simpler to use.
2 issues:
* would be nice to have access to the full method descriptor (prototype)
instead of concatenating the param types.
* Annotations and AnnotationEncodedValue could share some common interface for
type and values?
cheers,
André
Original comment by andrePan...@gmail.com
on 27 May 2013 at 3:20
Original issue reported on code.google.com by
andrePan...@gmail.com
on 6 Jan 2013 at 12:11Attachments: