package com.android.reverse.request;
import com.android.reverse.collecter.DexFileInfoCollecter;
import com.android.reverse.util.Logger;
public class DumpClassCommandHandler implements CommandHandler {
private String dexpath;
public DumpClassCommandHandler(String dexpath) {
this.dexpath = dexpath;
}
@Override
public void doAction() {
// TODO Auto-generated method stub
String[] loadClass = DexFileInfoCollecter.getInstance().dumpLoadableClass(dexpath);
if (loadClass != null) {
Logger.log("Start Loadable ClassName ->");
String className = null;
for (int i = 0; i < loadClass.length; i++) {
className = loadClass[i];
if (!this.isFilterClass(className)) {
Logger.log("ClassName = " + className);
}
}
Logger.log("End Loadable ClassName");
}else{
Logger.log("Can't find class loaded by the dex");
}
}
private final String[] filterClassName = { "android.support.v4.", "com.android.reverse.", "org.jf.", "org.keplerproject." };
private boolean isFilterClass(String className) {
String filterName = null;
for (int i = 0; i < filterClassName.length; i++) {
filterName = filterClassName[i];
if (className.startsWith(filterName)) {
return true;
}
}
return false;
}
}