What is a good android disassember that can produce infomative results [closed]
as titled, like function calls, application behavior when running
You have a few options.
"dexdump" is included with the SDK and is present on the device. With the "-d" option it produces a no-frills disassembly of the methods. The output format is intended to mimic the "--dump-to" output format of dx.
"smali/baksmali" is an assembler/disassembler for Dalvik bytecode. It's open source, and is probably the most complete solution.
"dedexer" is a disassembler that produces Jasmin-like output. It's also open source.
As far as I know, nobody has written a program that attempts to convert Dalvik bytecode to Java bytecode or source code.
I have tried dex2jar with 2 android market apps' APK and it works very well. If you combine it with jad, you can get the java source code.
See the dex2jar's user guide for more details.
The android development kit includes a disassembler. AFAIK, there are no to .class or to .java decompilers available at the moment.
Actually there is a tool to convert dalvik bytecode to java one: dex2jar . For now it crashes on most real applications, but could convert simple apps properly, so after using dex2jar & jd combo we get really good Java code. Also dex2jar is rapidly developing, it supports more and more cases.
just as Frederic mentioned dex2jar is so great, you can use dex2jar and jad to get readable Java source code instead of assembly-language-like ".ddx" or ".smail" file!
精彩评论