diff --git a/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportData.java b/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportData.java index ff5a32fdc8e31d9d5b19d02c69758b78f81ffd0b..9514561078881d1dfb5755e6505264f04477d692 100644 --- a/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportData.java +++ b/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportData.java @@ -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 permissions; List native_api; - List combination; + List combination; List> register; } diff --git a/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportPanel.java b/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportPanel.java index 7fff7076cdd58c84c14bffce1d0276e93115448a..2313b3891c40cab4dd8dc4989681ce926137977d 100644 --- a/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportPanel.java +++ b/jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportPanel.java @@ -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 combination = crime.combination; - if (Utils.notEmpty(combination)) { + List 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);