diff --git a/BytecodeViewer 2.5.2.jar b/BytecodeViewer 2.5.2.jar index b114d670..2883c18b 100644 Binary files a/BytecodeViewer 2.5.2.jar and b/BytecodeViewer 2.5.2.jar differ diff --git a/README.txt b/README.txt index f6f0652d..c8a17f9e 100644 --- a/README.txt +++ b/README.txt @@ -235,5 +235,5 @@ Changelog: --- 2.5.1 ---: 01/06/2015 - Silenced the error connecting to update server for offline mode. 01/06/2015 - Fixed a search function with Android APKs. ---- 2.5.1 ---: -01/06/2015 - Fixed another issue with LDC searching for Android APKs.01/06/2015 - Fixed another issue with LDC searching for Android APKs. \ No newline at end of file +--- 2.5.2 ---: +01/06/2015 - Completely fixed the search function with Android APKs. \ No newline at end of file diff --git a/src/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java b/src/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java index 96d3d662..0721395d 100644 --- a/src/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java +++ b/src/the/bytecode/club/bytecodeviewer/searching/FieldCallSearch.java @@ -89,6 +89,8 @@ public class FieldCallSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { } @@ -113,6 +115,8 @@ public class FieldCallSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { } diff --git a/src/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java b/src/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java index f4fb8c94..a7fac970 100644 --- a/src/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java +++ b/src/the/bytecode/club/bytecodeviewer/searching/LDCSearch.java @@ -63,6 +63,8 @@ public class LDCSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { } @@ -80,8 +82,16 @@ public class LDCSearch implements SearchTypeDetails { final Iterator fields = node.fields.iterator(); while (methods.hasNext()) { final FieldNode field = fields.next(); + String desc2 = field.desc; + try { + desc2 = Type.getType(field.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = field.desc; + } catch(java.lang.ArrayIndexOutOfBoundsException e) { + + } if (field.value instanceof String) { - srn.notifyOfResult(node.name + "." + field.name + field.desc + srn.notifyOfResult(node.name + "." + field.name + desc2 + " -> \"" + field.value + "\" > field"); } } diff --git a/src/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java b/src/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java index 034d745e..d061afcc 100644 --- a/src/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java +++ b/src/the/bytecode/club/bytecodeviewer/searching/MethodCallSearch.java @@ -89,6 +89,8 @@ public class MethodCallSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { } @@ -112,6 +114,8 @@ public class MethodCallSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { } diff --git a/src/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java b/src/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java index 518c8ca9..b67fdfc8 100644 --- a/src/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java +++ b/src/the/bytecode/club/bytecodeviewer/searching/RegexSearch.java @@ -58,6 +58,8 @@ public class RegexSearch implements SearchTypeDetails { String desc2 = method.desc; try { desc2 = Type.getType(method.desc).toString(); + if(desc2 == null || desc2.equals("null")) + desc2 = method.desc; } catch(java.lang.ArrayIndexOutOfBoundsException e) { }