1

Let's just assume that our classes.dex file has a class:

com.example.MyClass

in which there's a method "meth":

public final com.example.MyClass.meth(java.lang.String p0)

how/where can I search the code of the method "meth" with the string "com.example.MyClass.meth"?

Because in the Local Types view I can only find the class but I can't reach the code and in the Names/Functions windows I can only search the method name (think what you can get with an obfuscated code) prefixed by the class name so there are a lot of duplicates.

FYI: IDA pro (I'm using the version 7) supports officially Dalvik bytecode disassembling and debugging.

2 Answers 2

1

What does work is a text search for a string like com.foo.bar.Method - press Alt+T in the disassembly, mark "Match case", "Identifier". This should help find you the actual method body, at least it's what I have been using.

I don't think it's ideal but also I don't know of a better way either. For bigger APKs this can be quite slow but at least it solves the problem.

0

You're abusing IDA Pro, it's best in decompiling/disassembling code that has been actually compiled, not Java. While IDA Pro sort of supports Java decompilation (I guess you're interested in Android stuff), there are much more convenient decompilers for Java pseudocode. JEB is the best for Android, in my opinion. I haven't used it much recently, though.

Or even "decompile" the whole dex into a text file via and grep.

https://www.google.com.au/search?q=dex+decompiler

If you're looking at pure Java - again, tons of "decompilers". Even IntelliJ has a plugin :)

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.