ethicalhack3r / dex2jar

Automatically exported from code.google.com/p/dex2jar
5 stars 6 forks source link

NoMethodException thrown for d2j-decryptstrings if method invoked is from a super class. #216

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Define a method decrypt() in some class like ParentDecryptor.
2. Define a child class that extends ParentDecryptor (ex: ChildDecryptor).
3. In your code, call ChildDecryptor;->decrypt().
4. Call d2j-decryptstrings with ChildDecryptor as the method owner and decrypt 
as the method name.
5. This should throw a NoMethodException.

What is the expected output? What do you see instead?
I should see this:
test » d2j-decrpyt-string.sh -mo com.example.ChildDecryptor -mn decrypt 
classes-dex2jar.jar 
classes-dex2jar.jar -> classes-dex2jar-decrypted.jar

Instead I see this:
test » d2j-decrpyt-string.sh -mo com.example.ChildDecryptor -mn decrypt 
classes-dex2jar.jar
classes-dex2jar.jar -> classes-dex2jar-decrypted.jar
can't load method: String com.example.ChildDecryptor.decrypt(string)
java.lang.NoSuchMethodException: 
com.example.ChildDecryptor.decrypt(java.lang.String)
    at java.lang.Class.getDeclaredMethod(Class.java:1956)
    at com.googlecode.dex2jar.tools.DecryptStringCmd.doCommandLine(DecryptStringCmd.java:117)
    at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:174)
    at com.googlecode.dex2jar.tools.DecryptStringCmd.main(DecryptStringCmd.java:54)

What version of the product are you using? On what operating system?
I am running the latest build (0.0.9.15?) on OSX 10.8.5.

Please upload the file which cause the issue if possible.
I've attached the example JAR file below.

Please provide any additional information below.
I've patched this locally by changing getDeclaredMethod() to getMethod() in 
DecryptStringsCmd.java (line 117).
https://code.google.com/p/dex2jar/source/browse/dex-tools/src/main/java/com/goog
lecode/dex2jar/tools/DecryptStringCmd.java

Original issue reported on code.google.com by dyseq...@gmail.com on 11 Feb 2014 at 7:04

Attachments: