fix(gui): update Quark report parsing (#1289) (PR #1291)

This commit is contained in:
Haeter
2021-11-29 00:31:28 +08:00
committed by GitHub
parent 88fd5a517e
commit 0a8192168a
2 changed files with 9 additions and 4 deletions
@@ -3,6 +3,7 @@ package jadx.gui.plugins.quark;
import java.util.List;
import java.util.Map;
import com.google.gson.JsonElement;
import com.google.gson.annotations.SerializedName;
import jadx.core.utils.Utils;
@@ -15,7 +16,7 @@ public class QuarkReportData {
public List<String> permissions;
List<Method> native_api;
List<String[]> combination;
List<JsonElement> combination;
List<Map<String, InvokePlace>> register;
}
@@ -32,6 +32,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.beust.jcommander.Strings;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import jadx.api.JavaClass;
import jadx.api.JavaMethod;
@@ -246,13 +248,15 @@ public class QuarkReportPanel extends ContentPanel {
}
add(node);
}
List<String[]> combination = crime.combination;
if (Utils.notEmpty(combination)) {
List<JsonElement> combination = crime.combination;
if (Utils.notEmpty(combination) && combination.get(0) instanceof JsonArray) {
TextTreeNode node = new TextTreeNode("Combination");
int size = combination.size();
for (int i = 0; i < size; i++) {
TextTreeNode set = new TextTreeNode("Set " + i);
for (String mth : combination.get(i)) {
JsonArray array = (JsonArray) combination.get(i);
for (JsonElement ele : array) {
String mth = ele.getAsString();
set.add(resolveMethod(mth));
}
node.add(set);