01/06/2015 - Fixed another issue with LDC searching for Android APKs.
This commit is contained in:
Kalen Kinloch 2015-01-06 11:01:49 -08:00
parent 74e1205510
commit f7fe03ed5a
5 changed files with 22 additions and 5 deletions

View File

@ -234,4 +234,6 @@ Changelog:
01/06/2015 - Added save as DEX and import .dex files. 01/06/2015 - Added save as DEX and import .dex files.
--- 2.5.1 ---: --- 2.5.1 ---:
01/06/2015 - Silenced the error connecting to update server for offline mode. 01/06/2015 - Silenced the error connecting to update server for offline mode.
01/06/2015 - Fixed a search function with Android APKs. 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.

View File

@ -257,6 +257,8 @@ import the.bytecode.club.bytecodeviewer.plugins.PluginManager;
* -----2.5.1-----: * -----2.5.1-----:
* 01/06/2015 - Silenced the error connecting to update server for offline mode. * 01/06/2015 - Silenced the error connecting to update server for offline mode.
* 01/06/2015 - Fixed a search function with Android APKs. * 01/06/2015 - Fixed a search function with Android APKs.
* -----2.5.2-----:
* 01/06/2015 - Fixed another issue with LDC searching for Android APKs.
* *
* @author Konloch * @author Konloch
* *
@ -277,7 +279,7 @@ public class BytecodeViewer {
private static ArrayList<String> recentFiles = DiskReader.loadArrayList(filesName, false); private static ArrayList<String> recentFiles = DiskReader.loadArrayList(filesName, false);
private static ArrayList<String> recentPlugins = DiskReader.loadArrayList(pluginsName, false); private static ArrayList<String> recentPlugins = DiskReader.loadArrayList(pluginsName, false);
public static boolean runningObfuscation = false; public static boolean runningObfuscation = false;
public static String version = "2.5.1"; public static String version = "2.5.2";
private static long start = System.currentTimeMillis(); private static long start = System.currentTimeMillis();
public static void main(String[] args) { public static void main(String[] args) {
@ -469,7 +471,7 @@ public class BytecodeViewer {
} }
} }
} catch (Exception e) { } catch (Exception e) {
//new the.bytecode.club.bytecodeviewer.api.ExceptionUI(e); e.printStackTrace();
} }
} }
}; };

View File

@ -60,10 +60,16 @@ public class LDCSearch implements SearchTypeDetails {
if (insnNode instanceof LdcInsnNode) { if (insnNode instanceof LdcInsnNode) {
final LdcInsnNode ldcObject = ((LdcInsnNode) insnNode); final LdcInsnNode ldcObject = ((LdcInsnNode) insnNode);
final String ldcString = ldcObject.cst.toString(); final String ldcString = ldcObject.cst.toString();
String desc2 = method.desc;
try {
desc2 = Type.getType(method.desc).toString();
} catch(java.lang.ArrayIndexOutOfBoundsException e) {
}
if ((exact && ldcString.equals(srchText)) if ((exact && ldcString.equals(srchText))
|| (!exact && ldcString.contains(srchText))) { || (!exact && ldcString.contains(srchText))) {
srn.notifyOfResult(node.name + "." + method.name srn.notifyOfResult(node.name + "." + method.name
+ Type.getType(method.desc).getInternalName() + desc2
+ " -> \"" + ldcString + "\" > " + " -> \"" + ldcString + "\" > "
+ ldcObject.cst.getClass().getCanonicalName()); + ldcObject.cst.getClass().getCanonicalName());
} }

View File

@ -7,6 +7,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import org.objectweb.asm.Type;
import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.ClassNode;
import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.MethodNode;
@ -54,7 +55,13 @@ public class RegexSearch implements SearchTypeDetails {
} }
if (regexFinder.find(srchText).length > 0) { if (regexFinder.find(srchText).length > 0) {
srn.notifyOfResult(node.name + "." + method.name + method.desc); String desc2 = method.desc;
try {
desc2 = Type.getType(method.desc).toString();
} catch(java.lang.ArrayIndexOutOfBoundsException e) {
}
srn.notifyOfResult(node.name + "." + method.name + desc2);
} }
} }