diff --git a/dev.skidfuscator.client.standalone/pom.xml b/dev.skidfuscator.client.standalone/pom.xml new file mode 100644 index 0000000..495023c --- /dev/null +++ b/dev.skidfuscator.client.standalone/pom.xml @@ -0,0 +1,7 @@ + + + com.google.code.gson + gson + 2.10.1 + + \ No newline at end of file diff --git a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConfigPanel.java b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConfigPanel.java index ba4d2fa..6e8e9c7 100644 --- a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConfigPanel.java +++ b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConfigPanel.java @@ -409,5 +409,9 @@ private void saveConfiguration() { public String getLibsPath() { return libsField.getText(); } public String getRuntimePath() { return runtimeField.getText(); } public boolean isDebugEnabled() { return debugBox.isSelected(); } + public String getLibraryPath() { + // TODO: Add a library path field to the config panel + return null; + } } diff --git a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConsolePanel.java b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConsolePanel.java index e4f9ae9..35e8e4d 100644 --- a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConsolePanel.java +++ b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/ConsolePanel.java @@ -130,7 +130,13 @@ public void write(int b) { Element line = root.getElement(currentLine); int start = line.getStartOffset(); int end = line.getEndOffset(); - doc.remove(start, end - start); + if (end - start > 0) { + doc.remove(start, end - start); + } else { + // Remove last line if it's empty + Element prevLine = root.getElement(currentLine - 1); + doc.remove(prevLine.getStartOffset(), prevLine.getEndOffset()); + } } catch (BadLocationException e) { e.printStackTrace(originalErr); } diff --git a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/LibrariesPanel.java b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/LibrariesPanel.java new file mode 100644 index 0000000..802d471 --- /dev/null +++ b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/LibrariesPanel.java @@ -0,0 +1,410 @@ +package dev.skidfuscator.obfuscator.gui; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import dev.skidfuscator.obfuscator.Skidfuscator; +import dev.skidfuscator.obfuscator.SkidfuscatorSession; +import dev.skidfuscator.obfuscator.creator.SkidApplicationClassSource; +import dev.skidfuscator.obfuscator.util.MapleJarUtil; +import org.mapleir.app.service.ApplicationClassSource; +import org.mapleir.app.service.LibraryClassSource; +import dev.skidfuscator.jghost.GhostHelper; +import dev.skidfuscator.jghost.tree.GhostLibrary; +import dev.skidfuscator.obfuscator.Skidfuscator; +import dev.skidfuscator.obfuscator.creator.SkidApplicationClassSource; +import dev.skidfuscator.obfuscator.util.JdkDownloader; + +import javax.swing.*; +import javax.swing.border.EtchedBorder; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.*; +import java.util.List; +import java.net.URLEncoder; + +public class LibrariesPanel extends JPanel { + private final JList libraryList; + private final DefaultListModel libraryModel; + private final JList missingClassesList; + private final DefaultListModel missingClassesModel; + private final JButton scanButton; + private final JButton scanSelectedButton; + private final Path libraryFolder; + private SkidApplicationClassSource classSource; + private final Gson gson; + private final JProgressBar progressBar; + private final JLabel statusLabel; + private final ConfigPanel configPanel; + + public LibrariesPanel(ConfigPanel configPanel, SkidApplicationClassSource classSource) { + this.configPanel = configPanel; + this.classSource = classSource; + this.gson = new Gson(); + + // Initialize library folder + String configLibPath = configPanel.getLibraryPath(); + if (configLibPath != null && !configLibPath.isEmpty()) { + this.libraryFolder = Paths.get(configLibPath); + } else { + this.libraryFolder = Paths.get(System.getProperty("user.home"), ".ssvm", "libs"); + } + + // Create library folder if it doesn't exist + try { + Files.createDirectories(libraryFolder); + } catch (IOException e) { + Skidfuscator.LOGGER.error("Failed to create library folder", e); + } + + setLayout(new BorderLayout(10, 10)); + setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createTitledBorder( + BorderFactory.createEtchedBorder(EtchedBorder.RAISED), + "Libraries", + javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, + javax.swing.border.TitledBorder.DEFAULT_POSITION, + new Font("Segoe UI", Font.BOLD, 16) + ), + BorderFactory.createEmptyBorder(20, 10, 10, 10) + )); + + // Create library list panel + JPanel libraryListPanel = new JPanel(new BorderLayout()); + libraryListPanel.setBorder(BorderFactory.createTitledBorder("Current Libraries")); + libraryModel = new DefaultListModel<>(); + libraryList = new JList<>(libraryModel); + libraryList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + JScrollPane libraryScrollPane = new JScrollPane(libraryList); + libraryListPanel.add(libraryScrollPane, BorderLayout.CENTER); + + // Create missing classes panel with side panel + JPanel missingClassesPanel = new JPanel(new BorderLayout()); + missingClassesPanel.setBorder(BorderFactory.createTitledBorder("Missing Classes")); + missingClassesModel = new DefaultListModel<>(); + missingClassesList = new JList<>(missingClassesModel); + missingClassesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + JScrollPane missingScrollPane = new JScrollPane(missingClassesList); + missingClassesPanel.add(missingScrollPane, BorderLayout.CENTER); + + // Create side panel for selected class actions + JPanel sidePanel = new JPanel(); + sidePanel.setLayout(new BoxLayout(sidePanel, BoxLayout.Y_AXIS)); + sidePanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + sidePanel.setPreferredSize(new Dimension(120, 0)); + + scanSelectedButton = new JButton("Scan Class"); + scanSelectedButton.setEnabled(false); + scanSelectedButton.setAlignmentX(Component.CENTER_ALIGNMENT); + scanSelectedButton.addActionListener(e -> { + String selectedClass = missingClassesList.getSelectedValue(); + if (selectedClass != null) { + searchMavenCentral(selectedClass, scanSelectedButton); + } + }); + + // Add selection listener to enable/disable scan button + missingClassesList.addListSelectionListener(e -> { + if (!e.getValueIsAdjusting()) { + scanSelectedButton.setEnabled(missingClassesList.getSelectedValue() != null); + } + }); + + sidePanel.add(Box.createVerticalGlue()); + sidePanel.add(scanSelectedButton); + sidePanel.add(Box.createVerticalGlue()); + + missingClassesPanel.add(sidePanel, BorderLayout.EAST); + + // Create status panel + JPanel statusPanel = new JPanel(new BorderLayout(5, 5)); + statusPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + + progressBar = new JProgressBar(); + progressBar.setStringPainted(true); + progressBar.setVisible(false); + + statusLabel = new JLabel(" "); + statusLabel.setFont(new Font("Segoe UI", Font.PLAIN, 12)); + + statusPanel.add(progressBar, BorderLayout.CENTER); + statusPanel.add(statusLabel, BorderLayout.SOUTH); + + // Create button panel + JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); + scanButton = new JButton("Scan JAR"); + scanButton.addActionListener(this::onScanButtonClicked); + buttonPanel.add(scanButton); + + // Create split pane for lists + JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, libraryListPanel, missingClassesPanel); + splitPane.setResizeWeight(0.5); + + // Create bottom panel for status and buttons + JPanel bottomPanel = new JPanel(new BorderLayout()); + bottomPanel.add(statusPanel, BorderLayout.CENTER); + bottomPanel.add(buttonPanel, BorderLayout.EAST); + + // Add components to panel + add(splitPane, BorderLayout.CENTER); + add(bottomPanel, BorderLayout.SOUTH); + } + + private void setStatus(String message, boolean error) { + statusLabel.setText(message); + statusLabel.setForeground(error ? new Color(255, 65, 54) : new Color(46, 204, 64)); + } + + private void refreshLibraryList() { + libraryModel.clear(); + try { + Files.list(libraryFolder) + .filter(path -> path.toString().endsWith(".jar")) + .map(Path::getFileName) + .map(Path::toString) + .forEach(libraryModel::addElement); + } catch (IOException e) { + setStatus("Error refreshing library list: " + e.getMessage(), true); + } + } + + private void onScanButtonClicked(ActionEvent e) { + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setFileFilter(new javax.swing.filechooser.FileFilter() { + public boolean accept(File f) { + return f.isDirectory() || f.getName().toLowerCase().endsWith(".jar"); + } + + public String getDescription() { + return "JAR files (*.jar)"; + } + }); + + if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { + File selectedFile = fileChooser.getSelectedFile(); + scanButton.setEnabled(false); + progressBar.setVisible(true); + progressBar.setIndeterminate(true); + setStatus("Scanning JAR file...", false); + + SwingWorker, String> worker = new SwingWorker<>() { + @Override + protected void done() { + try { + List missingClasses = get(); + missingClassesModel.clear(); + for (String missingClass : missingClasses) { + missingClassesModel.addElement(missingClass); + } + setStatus("Found " + missingClasses.size() + " missing classes", false); + } catch (Exception ex) { + setStatus("Error scanning JAR: " + ex.getMessage(), true); + } finally { + scanButton.setEnabled(true); + progressBar.setVisible(false); + } + + } + + @Override + protected void process(List chunks) { + // Update status with the latest message + if (!chunks.isEmpty()) { + setStatus(chunks.get(chunks.size() - 1), false); + } + } + + @Override + protected List doInBackground() throws Exception { + publish("Initializing Skidfuscator..."); + Skidfuscator skidfuscator = new Skidfuscator(SkidfuscatorSession.builder().build()); + + publish("Importing JVM classes..."); + final Set sources = skidfuscator._importJvm(); + + publish("Analyzing JAR file..."); + classSource = new SkidApplicationClassSource( + selectedFile.getName(), + false, + MapleJarUtil.importJar(selectedFile, skidfuscator).getJarContents(), + skidfuscator + ); + classSource.addLibraries(sources.toArray(new LibraryClassSource[0])); + + publish("Verifying class tree..."); + try { + classSource.getClassTree().verify(); + } catch (Exception ex) { + // Ignore verification errors as we want to find missing classes + } + + return classSource.getClassTree().getMissingClasses(); + } + }; + worker.execute(); + } + } + + private void searchMavenCentral(String className, JButton sourceButton) { + sourceButton.setEnabled(false); + progressBar.setVisible(true); + setStatus("Searching Maven Central for " + className + "...", false); + + SwingWorker, Void> worker = new SwingWorker<>() { + @Override + protected List doInBackground() throws Exception { + String searchUrl = "https://search.maven.org/solrsearch/select?q=fc:" + URLEncoder.encode(className, StandardCharsets.UTF_8) + + "&rows=20&wt=json&core=gav"; + + HttpURLConnection connection = (HttpURLConnection) new URL(searchUrl).openConnection(); + connection.setRequestMethod("GET"); + + try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { + JsonObject response = gson.fromJson(reader, JsonObject.class); + JsonObject responseObj = response.getAsJsonObject("response"); + JsonArray docs = responseObj.getAsJsonArray("docs"); + + List artifacts = new ArrayList<>(); + for (JsonElement doc : docs) { + JsonObject artifact = doc.getAsJsonObject(); + artifacts.add(new MavenArtifact( + artifact.get("g").getAsString(), + artifact.get("a").getAsString(), + artifact.get("v").getAsString() + )); + } + return artifacts; + } + } + + @Override + protected void done() { + try { + List artifacts = get(); + if (artifacts.isEmpty()) { + setStatus("No artifacts found for " + className, true); + } else { + MavenArtifact selected = showArtifactSelectionDialog(artifacts); + if (selected != null) { + downloadLibrary(selected); + } + } + } catch (Exception e) { + setStatus("Error searching Maven Central: " + e.getMessage(), true); + } finally { + sourceButton.setEnabled(true); + progressBar.setVisible(false); + } + } + }; + worker.execute(); + } + + private static class MavenArtifact { + private final String groupId; + private final String artifactId; + private final String version; + + public MavenArtifact(String groupId, String artifactId, String version) { + this.groupId = groupId; + this.artifactId = artifactId; + this.version = version; + } + + @Override + public String toString() { + return groupId + ":" + artifactId + ":" + version; + } + } + + private MavenArtifact showArtifactSelectionDialog(List artifacts) { + JList list = new JList<>(artifacts.toArray(new MavenArtifact[0])); + list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + list.setVisibleRowCount(10); + + JScrollPane scrollPane = new JScrollPane(list); + scrollPane.setPreferredSize(new Dimension(400, 200)); + + int result = JOptionPane.showConfirmDialog( + this, + scrollPane, + "Select Library to Download", + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.PLAIN_MESSAGE + ); + + if (result == JOptionPane.OK_OPTION) { + return list.getSelectedValue(); + } + return null; + } + + private void downloadLibrary(MavenArtifact artifact) { + setStatus("Downloading " + artifact + "...", false); + progressBar.setVisible(true); + + SwingWorker worker = new SwingWorker<>() { + @Override + protected Void doInBackground() throws Exception { + String mavenUrl = String.format( + "https://repo1.maven.org/maven2/%s/%s/%s/%s-%s.jar", + artifact.groupId.replace('.', '/'), + artifact.artifactId, + artifact.version, + artifact.artifactId, + artifact.version + ); + + Path outputFile = libraryFolder.resolve(artifact.artifactId + "-" + artifact.version + ".jar"); + try (InputStream in = new URL(mavenUrl).openStream(); + OutputStream out = Files.newOutputStream(outputFile)) { + byte[] buffer = new byte[8192]; + int bytesRead; + while ((bytesRead = in.read(buffer)) != -1) { + out.write(buffer, 0, bytesRead); + } + } + + // Import the library into the class source + GhostLibrary library = GhostHelper.readFromLibraryFile( + Skidfuscator.LOGGER, + outputFile.toFile() + ); + classSource.importLibrary(outputFile.toFile()); + + return null; + } + + @Override + protected void done() { + try { + get(); + setStatus("Successfully downloaded " + artifact, false); + refreshLibraryList(); + updateMissingClasses(); + } catch (Exception e) { + setStatus("Error downloading library: " + e.getMessage(), true); + } finally { + progressBar.setVisible(false); + } + } + }; + worker.execute(); + } + + private void updateMissingClasses() { + Set missingClasses = classSource.getMissingClassNames(); + missingClassesModel.clear(); + for (String className : missingClasses) { + missingClassesModel.addElement(className); + } + } +} \ No newline at end of file diff --git a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/MainFrame.java b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/MainFrame.java index abcb5d4..75ec0f4 100644 --- a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/MainFrame.java +++ b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/MainFrame.java @@ -23,6 +23,7 @@ public class MainFrame extends JFrame { private ConfigPanel configPanel; private TransformerPanel transformerPanel; private ConsolePanel consolePanel; + private LibrariesPanel librariesPanel; private JButton startButton; private JPanel headerPanel; @@ -172,16 +173,19 @@ public void mouseClicked(MouseEvent e) { configPanel = new ConfigPanel(); transformerPanel = new TransformerPanel(); consolePanel = new ConsolePanel(); + librariesPanel = new LibrariesPanel(configPanel, null); // Add tabs (without content) tabbedPane.addTab("Configuration", null); + tabbedPane.addTab("Libraries", null); tabbedPane.addTab("Transformers", null); tabbedPane.addTab("Console", null); // Set mnemonics tabbedPane.setMnemonicAt(0, KeyEvent.VK_C); - tabbedPane.setMnemonicAt(1, KeyEvent.VK_T); - tabbedPane.setMnemonicAt(2, KeyEvent.VK_O); + tabbedPane.setMnemonicAt(1, KeyEvent.VK_L); + tabbedPane.setMnemonicAt(2, KeyEvent.VK_T); + tabbedPane.setMnemonicAt(3, KeyEvent.VK_O); // Add components to the left panel leftPanel.add(tabbedPane, BorderLayout.NORTH); @@ -206,9 +210,12 @@ public void mouseClicked(MouseEvent e) { contentPanel.add(configPanel, BorderLayout.CENTER); break; case 1: - contentPanel.add(transformerPanel, BorderLayout.CENTER); + contentPanel.add(librariesPanel, BorderLayout.CENTER); break; case 2: + contentPanel.add(transformerPanel, BorderLayout.CENTER); + break; + case 3: contentPanel.add(consolePanel, BorderLayout.CENTER); break; } diff --git a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/TransformerPanel.java b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/TransformerPanel.java index c5ce921..60c80fb 100644 --- a/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/TransformerPanel.java +++ b/dev.skidfuscator.client.standalone/src/main/java/dev/skidfuscator/obfuscator/gui/TransformerPanel.java @@ -29,7 +29,7 @@ public TransformerPanel() { setBorder(BorderFactory.createCompoundBorder( // Outer titled border BorderFactory.createTitledBorder( - BorderFactory.createEtchedBorder(EtchedBorder.RAISED), // Rounded line border with increased arc + BorderFactory.createEtchedBorder(EtchedBorder.RAISED), "Transformers", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, @@ -38,13 +38,22 @@ public TransformerPanel() { // Inner empty border for padding BorderFactory.createEmptyBorder(20, 0, 10, 0) )); - // Create transformer sections panel - JPanel sectionsPanel = new JPanel(new GridLayout(0, 1, 5, 5)); + + // Create transformer sections panel with BoxLayout + JPanel sectionsPanel = new JPanel(); + sectionsPanel.setLayout(new BoxLayout(sectionsPanel, BoxLayout.Y_AXIS)); + sectionsPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); transformerSections = new HashMap<>(); // Initialize transformer sections with their options initializeTransformerSections(sectionsPanel); + // Add rigid areas between sections + Component[] components = sectionsPanel.getComponents(); + for (int i = 0; i < components.length - 1; i++) { + sectionsPanel.add(Box.createRigidArea(new Dimension(0, 10)), i * 2 + 1); + } + // Add sections to a scrollable panel JScrollPane scrollPane = new JScrollPane(sectionsPanel); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); @@ -152,14 +161,20 @@ public TransformerSection(String id, String name, this.optionComponents = new HashMap<>(); setLayout(new BorderLayout(5, 5)); - setBorder(BorderFactory.createEtchedBorder()); + setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createEmptyBorder(0, 0, 0, 0), + BorderFactory.createCompoundBorder( + BorderFactory.createRaisedBevelBorder(), + BorderFactory.createEmptyBorder(8, 8, 8, 8) + ) + )); // Create header panel with checkbox and toggle button JPanel headerPanel = new JPanel(new BorderLayout()); enabledBox = new JCheckBox(name); enabledBox.setSelected(defaultEnabled); + enabledBox.setFont(enabledBox.getFont().deriveFont(Font.BOLD)); - // Add tooltip with description if provided // Add description if provided if (description != null && !description.trim().isEmpty()) { JTextArea descriptionArea = new JTextArea(description); @@ -173,7 +188,7 @@ public TransformerSection(String id, String name, // Calculate preferred height based on content FontMetrics fm = descriptionArea.getFontMetrics(descriptionArea.getFont()); - int availableWidth = 400; // Adjust this value based on your panel width + int availableWidth = 400; int lineHeight = fm.getHeight(); // Create a temporary text area to calculate wrapped height @@ -204,11 +219,13 @@ public TransformerSection(String id, String name, if (!options.isEmpty()) { optionsPanel = new JPanel(); optionsPanel.setLayout(new BoxLayout(optionsPanel, BoxLayout.Y_AXIS)); - optionsPanel.setBorder(BorderFactory.createEmptyBorder(5, 20, 5, 5)); + optionsPanel.setBorder(BorderFactory.createEmptyBorder(10, 20, 5, 5)); for (TransformerOptionDefinition option : options) { JPanel optionPanel = createOptionPanel(option); optionsPanel.add(optionPanel); + optionPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, optionPanel.getPreferredSize().height)); + optionPanel.setBorder(BorderFactory.createEmptyBorder(2, 0, 2, 0)); } optionsPanel.setVisible(false); @@ -216,6 +233,13 @@ public TransformerSection(String id, String name, } else { optionsPanel = null; } + + // Ensure proper initial sizing + SwingUtilities.invokeLater(() -> { + invalidate(); + setMaximumSize(new Dimension(Integer.MAX_VALUE, getPreferredSize().height)); + revalidate(); + }); } private JPanel createOptionPanel(TransformerOptionDefinition option) { @@ -270,8 +294,17 @@ private void toggleOptions() { optionsVisible = !optionsVisible; optionsPanel.setVisible(optionsVisible); toggleButton.setText(optionsVisible ? "▲" : "▼"); + + // Update the maximum size of the section revalidate(); - repaint(); + setMaximumSize(new Dimension(Integer.MAX_VALUE, getPreferredSize().height)); + + // Request parent container to update layout + Container parent = getParent(); + if (parent != null) { + parent.revalidate(); + parent.repaint(); + } } public String getId() { diff --git a/dev.skidfuscator.obfuscator/skidfuscator-error-aqt.txt b/dev.skidfuscator.obfuscator/skidfuscator-error-aqt.txt new file mode 100644 index 0000000..762dd4e --- /dev/null +++ b/dev.skidfuscator.obfuscator/skidfuscator-error-aqt.txt @@ -0,0 +1,1576 @@ +handler=Block #DC, types=[Ljava/lang/IllegalStateException;], range=[Block #C, Block #D, Block #F, Block #G, Block #E, Block #I, Block #H] +handler=Block #DS, types=[Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;], range=[Block #C, Block #D, Block #F, Block #G, Block #E, Block #I, Block #H] +handler=Block #EI, types=[Ljava/io/IOException;], range=[Block #S, Block #R] +handler=Block #EO, types=[Ljava/lang/RuntimeException;], range=[Block #V, Block #U] +handler=Block #EU, types=[Ljava/lang/RuntimeException;], range=[Block #Y, Block #X] +handler=Block #FA, types=[Ljava/io/IOException;], range=[Block #AB, Block #AA] +handler=Block #FG, types=[Ljava/io/IOException;], range=[Block #AE, Block #AD] +handler=Block #FM, types=[Ljava/io/IOException;], range=[Block #AH, Block #AG] +===#Block A(size=8, flags=1)=== + 0. if ({1669913333 ^ 570551285} != 1099510016) + goto BC + 1. lvar10 = {1196254623 ^ {1669913333 ^ 570551285}}; + 2. if (lvar10 != 113530015) + goto BB + 3. synth(lvar0 = lvar0); + 4. lvar18 = "A : var expect: -1"; + 5. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto P + 6. lvar10 = {1526737688 ^ lvar10}; + 7. if (lvar10 != 1573158791) + goto BG + -> ConditionalJump[IF_ICMPNE] #A -> #BG + -> Immediate #A -> #B + -> ConditionalJump[IF_ICMPNE] #A -> #BC + -> ConditionalJump[IF_ICMPNE] #A -> #BB + -> ConditionalJump[IF_ICMPNE] #A -> #P +===#Block BB(size=1, flags=0)=== + 0. throw new java/io/IOException("Failed to match seed of value 113530015"); + <- ConditionalJump[IF_ICMPNE] #A -> #BB +===#Block BC(size=1, flags=0)=== + 0. throw new java/io/IOException(new java/lang/StringBuilder("Failed to match entry seed of value 1099510016 of entry public: 1244090311 and private: 1099510016 and value: ").append({1669913333 ^ 570551285}).toString()); + <- ConditionalJump[IF_ICMPNE] #A -> #BC +===#Block B(size=2, flags=0)=== + 0. lvar10 = {1400647847 ^ lvar10}; + 1. if (lvar10 != 246959904) + goto BF + -> Immediate #B -> #C + -> ConditionalJump[IF_ICMPNE] #B -> #BF + <- Immediate #A -> #B +===#Block BF(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException(new java/lang/StringBuilder("B --> C # Failed to match seed of type Immediate and value 246959904 and got ").append(lvar10).toString()); + <- ConditionalJump[IF_ICMPNE] #B -> #BF +===#Block C(size=9, flags=0)=== + 0. _consume(dev.skidfuscator.testclasses.opaque.OpaqueConditionClazz$AES.main(new java.lang.String[{246959904 ^ lvar10}])); + 1. lvar142 = "[Constant] 0 -> 246959904 predicate=246959904"; + 2. if (dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{246959904 ^ lvar10}] != {246959904 ^ lvar10}) + goto CS + 3. lvar146 = "[Constant] 0 -> 246959904 predicate=246959904"; + 4. lvar144 = "[Constant] 0 -> 246959904 predicate=246959904"; + 5. lvar22 = "C : var expect: 1307126627"; + 6. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1307126627) + goto AL + 7. lvar10 = {194004768 ^ lvar10}; + 8. if (lvar10 != 86509568) + goto BH + -> ConditionalJump[IF_ICMPNE] #C -> #CS + -> ConditionalJump[IF_ICMPNE] #C -> #AL + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> Immediate #C -> #D + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #C -> #BH + <- Immediate #B -> #C +===#Block BH(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException(new java/lang/StringBuilder("C --> D # Failed to match seed of type Immediate and value 86509568 and got ").append(lvar10).toString()); + <- ConditionalJump[IF_ICMPNE] #C -> #BH +===#Block D(size=5, flags=0)=== + 0. svar12 = {dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{86509569 ^ lvar10}] ^ lvar10}; + 1. lvar102 = "[Constant] 1 -> 86509569 predicate=86509568"; + 2. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(svar12)) { + case 81101480: + goto #CW + default: + goto #CZ + } + 3. lvar56 = "D : var expect: 1717058136"; + 4. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1717058136) + goto AU + -> DefaultSwitch #D -> #CZ + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> Switch[81101480] #D -> #CW + -> ConditionalJump[IF_ICMPNE] #D -> #AU + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- Immediate #C -> #D +===#Block CW(size=3, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 81101480: + goto #CX + case 436382735: + goto #CW + case 1361632897: + goto #AK + case 1930659738: + goto #G + default: + goto #AK + } + 1. lvar202 = "D -> G : c-loc - switch : 782781551"; + 2. if (lvar10 != 782781551) + goto CY + -> Switch[1930659738] #CW -> #G + -> Switch[81101480] #CW -> #CX + -> DefaultSwitch #CW -> #AK + -> Immediate #CW -> #CX + -> Switch[436382735] #CW -> #CW + -> Switch[1361632897] #CW -> #AK + -> ConditionalJump[IF_ICMPNE] #CW -> #CY + <- Switch[436382735] #CW -> #CW + <- Switch[81101480] #D -> #CW +===#Block CY(size=1, flags=0)=== + 0. throw new java/io/IOException("CW --> G # Failed to match seed of type Switch Entry [81101480, og:G, redirected: CW) and value 782781551"); + <- ConditionalJump[IF_ICMPNE] #CW -> #CY +===#Block CX(size=2, flags=100)=== + 0. lvar10 = {729826415 ^ lvar10}; + 1. goto G + -> UnconditionalJump[GOTO] #CX -> #G + <- Switch[81101480] #CW -> #CX + <- Immediate #CW -> #CX +===#Block G(size=6, flags=0)=== + 0. lvar7 = {782781548 ^ lvar10}; + 1. lvar124 = "[Constant] 3 -> 782781548 predicate=782781551"; + 2. lvar74 = "G : var expect: 174471872"; + 3. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 174471872) + goto AP + 4. lvar180 = "G -> AE : c-loc - uncond : 1583902757"; + 5. goto BW + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #G -> #AP + -> UnconditionalJump[GOTO] #G -> #BW + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- Switch[1930659738] #CW -> #G + <- UnconditionalJump[GOTO] #CX -> #G +===#Block BW(size=3, flags=10100)=== + 0. lvar10 = {1891646538 ^ lvar10}; + 1. if (lvar10 != 1583902757) + goto BX + 2. goto AE + -> ConditionalJump[IF_ICMPNE] #BW -> #BX + -> UnconditionalJump[GOTO] #BW -> #AE + <- UnconditionalJump[GOTO] #G -> #BW +===#Block AE(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 116000559) + goto AD + 1. throw nullconst; + 2. lvar52 = "AE : var expect: 0"; + 3. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != 0) + goto AP + -> ConditionalJump[IFNE] #AE -> #AP + -> TryCatch range: [AE...AD] -> FG ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPEQ] #AE -> #AD + <- UnconditionalJump[GOTO] #BW -> #AE +===#Block AD(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar64 = "AD : var expect: 672834169"; + 2. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != 672834169) + goto AJ + -> TryCatch range: [AE...AD] -> FG ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #AD -> #AJ + <- ConditionalJump[IF_ICMPEQ] #AE -> #AD +===#Block FG(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case -2042935784: + goto #FJ + case -213679830: + goto #FH + default: + goto #FL + } + -> DefaultSwitch #FG -> #FL + -> Switch[-213679830] #FG -> #FH + -> Switch[-2042935784] #FG -> #FJ + <- TryCatch range: [AE...AD] -> FG ([Ljava/io/IOException;]) + <- TryCatch range: [AE...AD] -> FG ([Ljava/io/IOException;]) +===#Block FJ(size=3, flags=10100)=== + 0. lvar10 = {1794185766 ^ lvar10}; + 1. if (lvar10 != 2050388709) + goto FK + 2. goto AF + -> ConditionalJump[IF_ICMPNE] #FJ -> #FK + -> UnconditionalJump[GOTO] #FJ -> #AF + <- Switch[-2042935784] #FG -> #FJ +===#Block FK(size=1, flags=0)=== + 0. throw new java/io/IOException("FJ --> AF # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 2050388709"); + <- ConditionalJump[IF_ICMPNE] #FJ -> #FK +===#Block FH(size=3, flags=10100)=== + 0. lvar10 = {610140864 ^ lvar10}; + 1. if (lvar10 != 2050388709) + goto FI + 2. goto AF + -> UnconditionalJump[GOTO] #FH -> #AF + -> ConditionalJump[IF_ICMPNE] #FH -> #FI + <- Switch[-213679830] #FG -> #FH +===#Block FI(size=1, flags=0)=== + 0. throw new java/io/IOException("FH --> AF # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 2050388709"); + <- ConditionalJump[IF_ICMPNE] #FH -> #FI +===#Block AF(size=5, flags=0)=== + 0. _consume(catch()); + 1. lvar46 = "AF : var expect: 1"; + 2. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 3. lvar190 = "AF -> H : c-loc - uncond : 1222503257"; + 4. goto CH + -> ConditionalJump[IF_ICMPNE] #AF -> #AJ + -> UnconditionalJump[GOTO] #AF -> #CH + <- UnconditionalJump[GOTO] #FH -> #AF + <- UnconditionalJump[GOTO] #FJ -> #AF +===#Block CH(size=2, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 214500525: + goto #CI + case 797469252: + goto #CH + case 1556428803: + goto #H + case 1956248668: + goto #AO + default: + goto #AO + } + 1. if (lvar10 != 1222503257) + goto CJ + -> Switch[797469252] #CH -> #CH + -> Switch[1556428803] #CH -> #H + -> Switch[214500525] #CH -> #CI + -> ConditionalJump[IF_ICMPNE] #CH -> #CJ + -> Immediate #CH -> #CI + -> DefaultSwitch #CH -> #AO + -> Switch[1956248668] #CH -> #AO + <- Switch[797469252] #CH -> #CH + <- UnconditionalJump[GOTO] #AF -> #CH +===#Block CJ(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("CH --> H # Failed to match seed of type Unconditional and value 1222503257"); + <- ConditionalJump[IF_ICMPNE] #CH -> #CJ +===#Block CI(size=2, flags=100)=== + 0. lvar10 = {854301116 ^ lvar10}; + 1. goto H + -> UnconditionalJump[GOTO] #CI -> #H + <- Switch[214500525] #CH -> #CI + <- Immediate #CH -> #CI +===#Block FL(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Error in hash"); + <- DefaultSwitch #FG -> #FL +===#Block BX(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("BW --> AE # Failed to match seed of type Unconditional and value 1583902757"); + <- ConditionalJump[IF_ICMPNE] #BW -> #BX +===#Block CZ(size=3, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 81101480: + goto #DA + case 434280524: + goto #E + case 1076723261: + goto #AX + case 2020439650: + goto #CZ + default: + goto #AX + } + 1. lvar204 = "D -> E : c-loc - switch : 1380444821"; + 2. if (lvar10 != 1380444821) + goto DB + -> Switch[434280524] #CZ -> #E + -> DefaultSwitch #CZ -> #AX + -> Switch[81101480] #CZ -> #DA + -> Switch[1076723261] #CZ -> #AX + -> ConditionalJump[IF_ICMPNE] #CZ -> #DB + -> Immediate #CZ -> #DA + -> Switch[2020439650] #CZ -> #CZ + <- DefaultSwitch #D -> #CZ + <- Switch[2020439650] #CZ -> #CZ +===#Block DB(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("CZ --> E # Failed to match seed of type Switch Default and value 1380444821"); + <- ConditionalJump[IF_ICMPNE] #CZ -> #DB +===#Block DA(size=2, flags=100)=== + 0. lvar10 = {1466950293 ^ lvar10}; + 1. goto E + -> UnconditionalJump[GOTO] #DA -> #E + <- Switch[81101480] #CZ -> #DA + <- Immediate #CZ -> #DA +===#Block E(size=6, flags=0)=== + 0. lvar7 = {-1380444818 ^ lvar10}; + 1. lvar104 = "[Constant] -5 -> -1380444818 predicate=1380444821"; + 2. lvar58 = "E : var expect: 4"; + 3. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 4) + goto AQ + 4. lvar178 = "E -> AB : c-loc - uncond : 1308503856"; + 5. goto BT + -> ConditionalJump[IF_ICMPNE] #E -> #AQ + -> UnconditionalJump[GOTO] #E -> #BT + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Switch[434280524] #CZ -> #E + <- UnconditionalJump[GOTO] #DA -> #E +===#Block BT(size=2, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 258671815: + goto #BU + case 652348198: + goto #AB + case 1109282923: + goto #BT + case 1824729686: + goto #AL + default: + goto #AL + } + 1. if (lvar10 != 1308503856) + goto BV + -> DefaultSwitch #BT -> #AL + -> Switch[1824729686] #BT -> #AL + -> Switch[652348198] #BT -> #AB + -> Switch[258671815] #BT -> #BU + -> Switch[1109282923] #BT -> #BT + -> ConditionalJump[IF_ICMPNE] #BT -> #BV + -> Immediate #BT -> #BU + <- UnconditionalJump[GOTO] #E -> #BT + <- Switch[1109282923] #BT -> #BT +===#Block BV(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("BT --> AB # Failed to match seed of type Unconditional and value 1308503856"); + <- ConditionalJump[IF_ICMPNE] #BT -> #BV +===#Block BU(size=2, flags=100)=== + 0. lvar10 = {532268453 ^ lvar10}; + 1. goto AB + -> UnconditionalJump[GOTO] #BU -> #AB + <- Switch[258671815] #BT -> #BU + <- Immediate #BT -> #BU +===#Block AB(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 119289491) + goto AA + 1. throw nullconst; + 2. lvar72 = "AB : var expect: 119289491"; + 3. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 119289491) + goto AZ + -> ConditionalJump[IF_ICMPNE] #AB -> #AZ + -> ConditionalJump[IF_ICMPEQ] #AB -> #AA + -> TryCatch range: [AB...AA] -> FA ([Ljava/io/IOException;]) + <- Switch[652348198] #BT -> #AB + <- UnconditionalJump[GOTO] #BU -> #AB +===#Block AA(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar24 = "AA : var expect: -2115371073"; + 2. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != -2115371073) + goto AJ + -> ConditionalJump[IF_ICMPNE] #AA -> #AJ + -> TryCatch range: [AB...AA] -> FA ([Ljava/io/IOException;]) + <- ConditionalJump[IF_ICMPEQ] #AB -> #AA +===#Block FA(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case 499515553: + goto #FD + case 1878096258: + goto #FB + default: + goto #FF + } + -> DefaultSwitch #FA -> #FF + -> Switch[1878096258] #FA -> #FB + -> Switch[499515553] #FA -> #FD + <- TryCatch range: [AB...AA] -> FA ([Ljava/io/IOException;]) + <- TryCatch range: [AB...AA] -> FA ([Ljava/io/IOException;]) +===#Block FD(size=3, flags=10100)=== + 0. lvar10 = {1469840107 ^ lvar10}; + 1. if (lvar10 != 1948465919) + goto FE + 2. goto AC + -> UnconditionalJump[GOTO] #FD -> #AC + -> ConditionalJump[IF_ICMPNE] #FD -> #FE + <- Switch[499515553] #FA -> #FD +===#Block FE(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("FD --> AC # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 1948465919"); + <- ConditionalJump[IF_ICMPNE] #FD -> #FE +===#Block FB(size=3, flags=10100)=== + 0. lvar10 = {970790351 ^ lvar10}; + 1. if (lvar10 != 1948465919) + goto FC + 2. goto AC + -> UnconditionalJump[GOTO] #FB -> #AC + -> ConditionalJump[IF_ICMPNE] #FB -> #FC + <- Switch[1878096258] #FA -> #FB +===#Block FC(size=1, flags=0)=== + 0. throw new java/io/IOException("FB --> AC # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 1948465919"); + <- ConditionalJump[IF_ICMPNE] #FB -> #FC +===#Block AC(size=5, flags=0)=== + 0. _consume(catch()); + 1. lvar50 = "AC : var expect: 0"; + 2. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AS + 3. lvar176 = "AC -> H : c-loc - uncond : 1222503257"; + 4. goto BQ + -> ConditionalJump[IFNE] #AC -> #AS + -> UnconditionalJump[GOTO] #AC -> #BQ + <- UnconditionalJump[GOTO] #FD -> #AC + <- UnconditionalJump[GOTO] #FB -> #AC +===#Block BQ(size=2, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 17053293: + goto #BR + case 998948756: + goto #BQ + case 1806318142: + goto #AQ + case 2103995655: + goto #H + default: + goto #AQ + } + 1. if (lvar10 != 1222503257) + goto BS + -> Switch[998948756] #BQ -> #BQ + -> Switch[2103995655] #BQ -> #H + -> Switch[17053293] #BQ -> #BR + -> Immediate #BQ -> #BR + -> Switch[1806318142] #BQ -> #AQ + -> DefaultSwitch #BQ -> #AQ + -> ConditionalJump[IF_ICMPNE] #BQ -> #BS + <- Switch[998948756] #BQ -> #BQ + <- UnconditionalJump[GOTO] #AC -> #BQ +===#Block BS(size=1, flags=0)=== + 0. throw new java/io/IOException("BQ --> H # Failed to match seed of type Unconditional and value 1222503257"); + <- ConditionalJump[IF_ICMPNE] #BQ -> #BS +===#Block BR(size=2, flags=100)=== + 0. lvar10 = {1023332774 ^ lvar10}; + 1. goto H + -> UnconditionalJump[GOTO] #BR -> #H + <- Switch[17053293] #BQ -> #BR + <- Immediate #BQ -> #BR +===#Block H(size=6, flags=0)=== + 0. _consume(lvar0.self(lvar7, 1388402073)); + 1. lvar2 = new java.lang.IllegalArgumentException; + 2. _consume(lvar2.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar7)))); + 3. throw lvar2; + 4. lvar54 = "H : var expect: -221101857"; + 5. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -221101857) + goto AT + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #H -> #AT + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Switch[1556428803] #CH -> #H + <- UnconditionalJump[GOTO] #CI -> #H + <- Switch[2103995655] #BQ -> #H + <- Switch[665344099] #CA -> #H + <- UnconditionalJump[GOTO] #CB -> #H + <- UnconditionalJump[GOTO] #BR -> #H +===#Block AS(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AS + 2. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2126190611 ^ lvar10}) + goto AS + 3. lvar100 = "[Constant] 1533136363 -> 2126190611 predicate=635098616"; + 4. _consume({1372789340 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IFNE] #AS -> #AS + <- ConditionalJump[IFNE] #AC -> #AS + <- ConditionalJump[IFNE] #AS -> #AS +===#Block FF(size=1, flags=0)=== + 0. throw new java/io/IOException("Error in hash"); + <- DefaultSwitch #FA -> #FF +===#Block AZ(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 119289491) + goto AZ + 2. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1415843332 ^ lvar10}) + goto AZ + 3. lvar134 = "[Constant] 240830319 -> 1415843332 predicate=1514064235"; + 4. _consume({213937309 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AZ -> #AZ + <- ConditionalJump[IF_ICMPNE] #AB -> #AZ + <- ConditionalJump[IF_ICMPNE] #AZ -> #AZ +===#Block CS(size=4, flags=10100)=== + 0. lvar10 = {48794680 ^ lvar10}; + 1. lvar198 = "C -> O : c-loc - cond : 206619416"; + 2. if (lvar10 != 206619416) + goto CT + 3. goto O + -> UnconditionalJump[GOTO] #CS -> #O + -> ConditionalJump[IF_ICMPNE] #CS -> #CT + <- ConditionalJump[IF_ICMPNE] #C -> #CS +===#Block CT(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("CS --> O # Failed to match seed of type Conditional and value 206619416"); + <- ConditionalJump[IF_ICMPNE] #CS -> #CT +===#Block O(size=5, flags=0)=== + 0. if (java.lang.Integer.highestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) == 67108864) + goto CU + 1. lvar78 = "O : var expect: 0"; + 2. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != 0) + goto AT + 3. lvar192 = "O -> AH : c-loc - uncond : 151985521"; + 4. goto CK + -> ConditionalJump[IF_ICMPEQ] #O -> #CU + -> UnconditionalJump[GOTO] #O -> #CK + -> ConditionalJump[IFNE] #O -> #AT + <- UnconditionalJump[GOTO] #CS -> #O +===#Block AT(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != 0) + goto AT + 2. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != {1875980090 ^ lvar10}) + goto AT + 3. lvar118 = "[Constant] 1565228851 -> 1875980090 predicate=848973833"; + 4. _consume({1279866343 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -221101857) + goto AT + 7. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1435161180 ^ lvar10}) + goto AT + 8. lvar120 = "[Constant] 1729135189 -> 1435161180 predicate=848973833"; + 9. _consume({1670266440 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IFNE] #AT -> #AT + <- ConditionalJump[IFNE] #AT -> #AT + <- ConditionalJump[IFNE] #O -> #AT + <- ConditionalJump[IF_ICMPNE] #H -> #AT +===#Block CK(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 90168937); + 1. if (lvar10 != 151985521) + goto CL + 2. goto AH + -> UnconditionalJump[GOTO] #CK -> #AH + -> ConditionalJump[IF_ICMPNE] #CK -> #CL + <- UnconditionalJump[GOTO] #O -> #CK +===#Block CL(size=1, flags=0)=== + 0. throw new java/io/IOException("CK --> AH # Failed to match seed of type Unconditional and value 151985521"); + <- ConditionalJump[IF_ICMPNE] #CK -> #CL +===#Block AH(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 26034181) + goto AG + 1. throw nullconst; + 2. lvar28 = "AH : var expect: 26034181"; + 3. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 26034181) + goto AN + -> TryCatch range: [AH...AG] -> FM ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #AH -> #AN + -> ConditionalJump[IF_ICMPEQ] #AH -> #AG + <- UnconditionalJump[GOTO] #CK -> #AH +===#Block AG(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar66 = "AG : var expect: 96268669"; + 2. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 96268669) + goto AX + -> TryCatch range: [AH...AG] -> FM ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #AG -> #AX + <- ConditionalJump[IF_ICMPEQ] #AH -> #AG +===#Block AX(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 96268669) + goto AX + 2. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1217868518 ^ lvar10}) + goto AX + 3. lvar122 = "[Constant] 800241795 -> 1217868518 predicate=1730513509"; + 4. _consume({2124593970 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AX -> #AX + <- ConditionalJump[IF_ICMPNE] #AX -> #AX + <- DefaultSwitch #CZ -> #AX + <- Switch[1076723261] #CZ -> #AX + <- ConditionalJump[IF_ICMPNE] #AG -> #AX +===#Block FM(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case 813043267: + goto #FP + case 1215884168: + goto #FN + default: + goto #FR + } + -> DefaultSwitch #FM -> #FR + -> Switch[813043267] #FM -> #FP + -> Switch[1215884168] #FM -> #FN + <- TryCatch range: [AH...AG] -> FM ([Ljava/io/IOException;]) + <- TryCatch range: [AH...AG] -> FM ([Ljava/io/IOException;]) +===#Block FN(size=3, flags=10100)=== + 0. lvar10 = {217279881 ^ lvar10}; + 1. if (lvar10 != 100430072) + goto FO + 2. goto AI + -> ConditionalJump[IF_ICMPNE] #FN -> #FO + -> UnconditionalJump[GOTO] #FN -> #AI + <- Switch[1215884168] #FM -> #FN +===#Block FO(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("FN --> AI # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 100430072"); + <- ConditionalJump[IF_ICMPNE] #FN -> #FO +===#Block FP(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1676849456); + 1. if (lvar10 != 100430072) + goto FQ + 2. goto AI + -> ConditionalJump[IF_ICMPNE] #FP -> #FQ + -> UnconditionalJump[GOTO] #FP -> #AI + <- Switch[813043267] #FM -> #FP +===#Block AI(size=5, flags=0)=== + 0. _consume(catch()); + 1. lvar40 = "AI : var expect: 0"; + 2. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AQ + 3. lvar174 = "AI -> P : c-loc - uncond : 825727288"; + 4. goto BN + -> UnconditionalJump[GOTO] #AI -> #BN + -> ConditionalJump[IFNE] #AI -> #AQ + <- UnconditionalJump[GOTO] #FN -> #AI + <- UnconditionalJump[GOTO] #FP -> #AI +===#Block AQ(size=11, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 4) + goto AQ + 2. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1721181494 ^ lvar10}) + goto AQ + 3. lvar168 = "[Constant] 1091931915 -> 1721181494 predicate=662874685"; + 4. _consume({1424722734 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AQ + 7. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1208442658 ^ lvar10}) + goto AQ + 8. lvar166 = "[Constant] 1871050015 -> 1208442658 predicate=662874685"; + 9. _consume({144412276 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AQ -> #AQ + <- ConditionalJump[IF_ICMPNE] #E -> #AQ + <- ConditionalJump[IFNE] #AI -> #AQ + <- ConditionalJump[IF_ICMPNE] #AQ -> #AQ + <- Switch[1806318142] #BQ -> #AQ + <- DefaultSwitch #BQ -> #AQ +===#Block BN(size=2, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 94153748: + goto #BO + case 198633181: + goto #AU + case 262085016: + goto #P + case 2071517964: + goto #BN + default: + goto #AU + } + 1. if (lvar10 != 825727288) + goto BP + -> Switch[262085016] #BN -> #P + -> Switch[2071517964] #BN -> #BN + -> Immediate #BN -> #BO + -> ConditionalJump[IF_ICMPNE] #BN -> #BP + -> DefaultSwitch #BN -> #AU + -> Switch[94153748] #BN -> #BO + -> Switch[198633181] #BN -> #AU + <- UnconditionalJump[GOTO] #AI -> #BN + <- Switch[2071517964] #BN -> #BN +===#Block AU(size=6, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1717058136) + goto AU + 2. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {135912782 ^ lvar10}) + goto AU + 3. lvar82 = "[Constant] 224589921 -> 135912782 predicate=91956527"; + 4. _consume({1938054222 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AU -> #AU + <- ConditionalJump[IF_ICMPNE] #D -> #AU + <- ConditionalJump[IF_ICMPNE] #AU -> #AU + <- DefaultSwitch #BN -> #AU + <- Switch[198633181] #BN -> #AU +===#Block BP(size=1, flags=0)=== + 0. throw new java/io/IOException("BN --> P # Failed to match seed of type Unconditional and value 825727288"); + <- ConditionalJump[IF_ICMPNE] #BN -> #BP +===#Block BO(size=2, flags=100)=== + 0. lvar10 = {885778880 ^ lvar10}; + 1. goto P + -> UnconditionalJump[GOTO] #BO -> #P + <- Immediate #BN -> #BO + <- Switch[94153748] #BN -> #BO +===#Block FQ(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("FP --> AI # Failed to match seed of type Exception Range [Ljava/io/IOException;] and value 100430072"); + <- ConditionalJump[IF_ICMPNE] #FP -> #FQ +===#Block FR(size=1, flags=0)=== + 0. throw new java/io/IOException("Error in hash"); + <- DefaultSwitch #FM -> #FR +===#Block CU(size=4, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1664212590); + 1. lvar200 = "O -> I : c-loc - cond : 1868635510"; + 2. if (lvar10 != 1868635510) + goto CV + 3. goto I + -> UnconditionalJump[GOTO] #CU -> #I + -> ConditionalJump[IF_ICMPNE] #CU -> #CV + <- ConditionalJump[IF_ICMPEQ] #O -> #CU +===#Block CV(size=1, flags=0)=== + 0. throw new java/io/IOException("CU --> I # Failed to match seed of type Conditional and value 1868635510"); + <- ConditionalJump[IF_ICMPNE] #CU -> #CV +===#Block I(size=6, flags=0)=== + 0. lvar5 = new java.lang.IllegalArgumentException; + 1. _consume(lvar5.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", {1868635508 ^ lvar10})))); + 2. lvar148 = "[Constant] 2 -> 1868635508 predicate=1868635510"; + 3. throw lvar5; + 4. lvar26 = "I : var expect: 130827894"; + 5. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 130827894) + goto AM + -> TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #I -> #AM + -> TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- UnconditionalJump[GOTO] #CU -> #I +===#Block DS(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case -1841343318: + goto #EB + case 692076544: + goto #DV + case 1185675456: + goto #DX + case 1190091466: + goto #EF + case 1967285113: + goto #DZ + case 1975679232: + goto #DT + case 2064182195: + goto #ED + default: + goto #EH + } + -> Switch[1975679232] #DS -> #DT + -> Switch[692076544] #DS -> #DV + -> Switch[1185675456] #DS -> #DX + -> Switch[2064182195] #DS -> #ED + -> Switch[1190091466] #DS -> #EF + -> Switch[-1841343318] #DS -> #EB + -> Switch[1967285113] #DS -> #DZ + -> DefaultSwitch #DS -> #EH + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> DS ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) +===#Block EH(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("Error in hash"); + <- DefaultSwitch #DS -> #EH +===#Block DZ(size=3, flags=10100)=== + 0. lvar10 = {1333204193 ^ lvar10}; + 1. if (lvar10 != 1642027150) + goto EA + 2. goto J + -> ConditionalJump[IF_ICMPNE] #DZ -> #EA + -> UnconditionalJump[GOTO] #DZ -> #J + <- Switch[1967285113] #DS -> #DZ +===#Block EA(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("DZ --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #DZ -> #EA +===#Block EB(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 865645083); + 1. if (lvar10 != 1642027150) + goto EC + 2. goto J + -> UnconditionalJump[GOTO] #EB -> #J + -> ConditionalJump[IF_ICMPNE] #EB -> #EC + <- Switch[-1841343318] #DS -> #EB +===#Block EC(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("EB --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #EB -> #EC +===#Block EF(size=3, flags=10100)=== + 0. lvar10 = {688042967 ^ lvar10}; + 1. if (lvar10 != 1642027150) + goto EG + 2. goto J + -> ConditionalJump[IF_ICMPNE] #EF -> #EG + -> UnconditionalJump[GOTO] #EF -> #J + <- Switch[1190091466] #DS -> #EF +===#Block EG(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("EF --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #EF -> #EG +===#Block ED(size=3, flags=10100)=== + 0. lvar10 = {247350776 ^ lvar10}; + 1. if (lvar10 != 1642027150) + goto EE + 2. goto J + -> ConditionalJump[IF_ICMPNE] #ED -> #EE + -> UnconditionalJump[GOTO] #ED -> #J + <- Switch[2064182195] #DS -> #ED +===#Block EE(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("ED --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #ED -> #EE +===#Block DX(size=3, flags=10100)=== + 0. lvar10 = {1762273174 ^ lvar10}; + 1. if (lvar10 != 1642027150) + goto DY + 2. goto J + -> ConditionalJump[IF_ICMPNE] #DX -> #DY + -> UnconditionalJump[GOTO] #DX -> #J + <- Switch[1185675456] #DS -> #DX +===#Block DY(size=1, flags=0)=== + 0. throw new java/io/IOException("DX --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #DX -> #DY +===#Block DV(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1693929614); + 1. if (lvar10 != 1642027150) + goto DW + 2. goto J + -> ConditionalJump[IF_ICMPNE] #DV -> #DW + -> UnconditionalJump[GOTO] #DV -> #J + <- Switch[692076544] #DS -> #DV +===#Block DW(size=1, flags=0)=== + 0. throw new java/io/IOException("DV --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #DV -> #DW +===#Block DT(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1869027246); + 1. if (lvar10 != 1642027150) + goto DU + 2. goto J + -> ConditionalJump[IF_ICMPNE] #DT -> #DU + -> UnconditionalJump[GOTO] #DT -> #J + <- Switch[1975679232] #DS -> #DT +===#Block J(size=8, flags=0)=== + 0. lvar1 = catch(); + 1. _consume(lvar1.printStackTrace()); + 2. lvar6 = {-1642027151 ^ lvar10}; + 3. lvar84 = "[Constant] -1 -> -1642027151 predicate=1642027150"; + 4. lvar36 = "J : var expect: 844826032"; + 5. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 844826032) + goto AP + 6. lvar10 = {1463568412 ^ lvar10}; + 7. if (lvar10 != 920850578) + goto BD + -> ConditionalJump[IF_ICMPNE] #J -> #AP + -> Immediate #J -> #L + -> ConditionalJump[IF_ICMPNE] #J -> #BD + <- UnconditionalJump[GOTO] #DT -> #J + <- UnconditionalJump[GOTO] #DZ -> #J + <- UnconditionalJump[GOTO] #EB -> #J + <- UnconditionalJump[GOTO] #EF -> #J + <- UnconditionalJump[GOTO] #DX -> #J + <- UnconditionalJump[GOTO] #ED -> #J + <- UnconditionalJump[GOTO] #DV -> #J +===#Block BD(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException(new java/lang/StringBuilder("J --> L # Failed to match seed of type Immediate and value 920850578 and got ").append(lvar10).toString()); + <- ConditionalJump[IF_ICMPNE] #J -> #BD +===#Block AP(size=16, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 174471872) + goto AP + 2. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2030182280 ^ lvar10}) + goto AP + 3. lvar98 = "[Constant] 1632662628 -> 2030182280 predicate=408054764"; + 4. _consume({1744682858 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != 0) + goto AP + 7. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != {2056186139 ^ lvar10}) + goto AP + 8. lvar96 = "[Constant] 1658618615 -> 2056186139 predicate=408054764"; + 9. _consume({1914135807 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 11. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 844826032) + goto AP + 12. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1146406566 ^ lvar10}) + goto AP + 13. lvar94 = "[Constant] 1543941450 -> 1146406566 predicate=408054764"; + 14. _consume({1985284243 ^ lvar10}); + 15. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AP -> #AP + <- ConditionalJump[IF_ICMPNE] #AP -> #AP + <- ConditionalJump[IF_ICMPNE] #J -> #AP + <- ConditionalJump[IFNE] #AE -> #AP + <- ConditionalJump[IF_ICMPNE] #G -> #AP +===#Block DU(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("DT --> J # Failed to match seed of type Exception Range [Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;] and value 1642027150"); + <- ConditionalJump[IF_ICMPNE] #DT -> #DU +===#Block AM(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 130827894) + goto AM + 2. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {534608025 ^ lvar10}) + goto AM + 3. lvar150 = "[Constant] 799953346 -> 534608025 predicate=812853595"; + 4. _consume({1482674342 ^ lvar10}); + 5. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AM -> #AM + <- ConditionalJump[IF_ICMPNE] #AM -> #AM + <- ConditionalJump[IF_ICMPNE] #I -> #AM +===#Block DC(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case -1841343318: + goto #DL + case 692076544: + goto #DF + case 1185675456: + goto #DH + case 1190091466: + goto #DP + case 1967285113: + goto #DJ + case 1975679232: + goto #DD + case 2064182195: + goto #DN + default: + goto #DR + } + -> Switch[-1841343318] #DC -> #DL + -> Switch[1185675456] #DC -> #DH + -> Switch[1967285113] #DC -> #DJ + -> Switch[1190091466] #DC -> #DP + -> DefaultSwitch #DC -> #DR + -> Switch[1975679232] #DC -> #DD + -> Switch[692076544] #DC -> #DF + -> Switch[2064182195] #DC -> #DN + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> DC ([Ljava/lang/IllegalStateException;]) +===#Block DN(size=3, flags=10100)=== + 0. lvar10 = {2083065225 ^ lvar10}; + 1. if (lvar10 != 323490047) + goto DO + 2. goto K + -> ConditionalJump[IF_ICMPNE] #DN -> #DO + -> UnconditionalJump[GOTO] #DN -> #K + <- Switch[2064182195] #DC -> #DN +===#Block DO(size=1, flags=0)=== + 0. throw new java/io/IOException("DN --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DN -> #DO +===#Block DF(size=3, flags=10100)=== + 0. lvar10 = {375396607 ^ lvar10}; + 1. if (lvar10 != 323490047) + goto DG + 2. goto K + -> ConditionalJump[IF_ICMPNE] #DF -> #DG + -> UnconditionalJump[GOTO] #DF -> #K + <- Switch[692076544] #DC -> #DF +===#Block DG(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("DF --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DF -> #DG +===#Block DD(size=3, flags=10100)=== + 0. lvar10 = {502292447 ^ lvar10}; + 1. if (lvar10 != 323490047) + goto DE + 2. goto K + -> UnconditionalJump[GOTO] #DD -> #K + -> ConditionalJump[IF_ICMPNE] #DD -> #DE + <- Switch[1975679232] #DC -> #DD +===#Block DE(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("DD --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DD -> #DE +===#Block DR(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("Error in hash"); + <- DefaultSwitch #DC -> #DR +===#Block DP(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1536555942); + 1. if (lvar10 != 323490047) + goto DQ + 2. goto K + -> ConditionalJump[IF_ICMPNE] #DP -> #DQ + -> UnconditionalJump[GOTO] #DP -> #K + <- Switch[1190091466] #DC -> #DP +===#Block DQ(size=1, flags=0)=== + 0. throw new java/io/IOException("DP --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DP -> #DQ +===#Block DJ(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1038113936); + 1. if (lvar10 != 323490047) + goto DK + 2. goto K + -> UnconditionalJump[GOTO] #DJ -> #K + -> ConditionalJump[IF_ICMPNE] #DJ -> #DK + <- Switch[1967285113] #DC -> #DJ +===#Block DK(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("DJ --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DJ -> #DK +===#Block DH(size=3, flags=10100)=== + 0. lvar10 = {463302631 ^ lvar10}; + 1. if (lvar10 != 323490047) + goto DI + 2. goto K + -> ConditionalJump[IF_ICMPNE] #DH -> #DI + -> UnconditionalJump[GOTO] #DH -> #K + <- Switch[1185675456] #DC -> #DH +===#Block DI(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("DH --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DH -> #DI +===#Block DL(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1091566186); + 1. if (lvar10 != 323490047) + goto DM + 2. goto K + -> UnconditionalJump[GOTO] #DL -> #K + -> ConditionalJump[IF_ICMPNE] #DL -> #DM + <- Switch[-1841343318] #DC -> #DL +===#Block DM(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("DL --> K # Failed to match seed of type Exception Range [Ljava/lang/IllegalStateException;] and value 323490047"); + <- ConditionalJump[IF_ICMPNE] #DL -> #DM +===#Block K(size=7, flags=0)=== + 0. lvar4 = catch(); + 1. lvar6 = {323490043 ^ lvar10}; + 2. lvar80 = "[Constant] 4 -> 323490043 predicate=323490047"; + 3. lvar20 = "K : var expect: 2096829093"; + 4. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 2096829093) + goto AK + 5. lvar170 = "K -> Y : c-loc - uncond : 776308008"; + 6. goto BI + -> UnconditionalJump[GOTO] #K -> #BI + -> ConditionalJump[IF_ICMPNE] #K -> #AK + <- UnconditionalJump[GOTO] #DN -> #K + <- UnconditionalJump[GOTO] #DJ -> #K + <- UnconditionalJump[GOTO] #DL -> #K + <- UnconditionalJump[GOTO] #DD -> #K + <- UnconditionalJump[GOTO] #DF -> #K + <- UnconditionalJump[GOTO] #DP -> #K + <- UnconditionalJump[GOTO] #DH -> #K +===#Block BI(size=2, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 89895846: + goto #BJ + case 1599618100: + goto #AN + case 1669565662: + goto #Y + case 2071590414: + goto #BI + default: + goto #AN + } + 1. if (lvar10 != 776308008) + goto BK + -> DefaultSwitch #BI -> #AN + -> Switch[89895846] #BI -> #BJ + -> Switch[2071590414] #BI -> #BI + -> Switch[1669565662] #BI -> #Y + -> Switch[1599618100] #BI -> #AN + -> Immediate #BI -> #BJ + -> ConditionalJump[IF_ICMPNE] #BI -> #BK + <- UnconditionalJump[GOTO] #K -> #BI + <- Switch[2071590414] #BI -> #BI +===#Block BK(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("BI --> Y # Failed to match seed of type Unconditional and value 776308008"); + <- ConditionalJump[IF_ICMPNE] #BI -> #BK +===#Block BJ(size=2, flags=100)=== + 0. lvar10 = {1024300503 ^ lvar10}; + 1. goto Y + -> UnconditionalJump[GOTO] #BJ -> #Y + <- Switch[89895846] #BI -> #BJ + <- Immediate #BI -> #BJ +===#Block Y(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 161914808) + goto X + 1. throw nullconst; + 2. lvar30 = "Y : var expect: 161914808"; + 3. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 161914808) + goto AO + -> ConditionalJump[IF_ICMPEQ] #Y -> #X + -> ConditionalJump[IF_ICMPNE] #Y -> #AO + -> TryCatch range: [Y...X] -> EU ([Ljava/lang/RuntimeException;]) + <- Switch[1669565662] #BI -> #Y + <- UnconditionalJump[GOTO] #BJ -> #Y +===#Block X(size=3, flags=0)=== + 0. throw new java/lang/RuntimeException(); + 1. lvar34 = "X : var expect: 1"; + 2. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AK + -> TryCatch range: [Y...X] -> EU ([Ljava/lang/RuntimeException;]) + -> ConditionalJump[IF_ICMPNE] #X -> #AK + <- ConditionalJump[IF_ICMPEQ] #Y -> #X +===#Block AK(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AK + 2. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1320643140 ^ lvar10}) + goto AK + 3. lvar164 = "[Constant] 799158104 -> 1320643140 predicate=1628783900"; + 4. _consume({941867786 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 2096829093) + goto AK + 7. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1992433651 ^ lvar10}) + goto AK + 8. lvar162 = "[Constant] 399989487 -> 1992433651 predicate=1628783900"; + 9. _consume({880283429 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AK -> #AK + <- ConditionalJump[IF_ICMPNE] #X -> #AK + <- ConditionalJump[IF_ICMPNE] #AK -> #AK + <- DefaultSwitch #CW -> #AK + <- ConditionalJump[IF_ICMPNE] #K -> #AK + <- Switch[1361632897] #CW -> #AK +===#Block EU(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case -1645243488: + goto #EX + case 1915496769: + goto #EV + default: + goto #EZ + } + -> Switch[1915496769] #EU -> #EV + -> DefaultSwitch #EU -> #EZ + -> Switch[-1645243488] #EU -> #EX + <- TryCatch range: [Y...X] -> EU ([Ljava/lang/RuntimeException;]) + <- TryCatch range: [Y...X] -> EU ([Ljava/lang/RuntimeException;]) +===#Block EX(size=3, flags=10100)=== + 0. lvar10 = {1767409931 ^ lvar10}; + 1. if (lvar10 != 2061859711) + goto EY + 2. goto Z + -> UnconditionalJump[GOTO] #EX -> #Z + -> ConditionalJump[IF_ICMPNE] #EX -> #EY + <- Switch[-1645243488] #EU -> #EX +===#Block EY(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("EX --> Z # Failed to match seed of type Exception Range [Ljava/lang/RuntimeException;] and value 2061859711"); + <- ConditionalJump[IF_ICMPNE] #EX -> #EY +===#Block EZ(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Error in hash"); + <- DefaultSwitch #EU -> #EZ +===#Block EV(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1419837015); + 1. if (lvar10 != 2061859711) + goto EW + 2. goto Z + -> UnconditionalJump[GOTO] #EV -> #Z + -> ConditionalJump[IF_ICMPNE] #EV -> #EW + <- Switch[1915496769] #EU -> #EV +===#Block EW(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("EV --> Z # Failed to match seed of type Exception Range [Ljava/lang/RuntimeException;] and value 2061859711"); + <- ConditionalJump[IF_ICMPNE] #EV -> #EW +===#Block Z(size=5, flags=0)=== + 0. _consume(catch()); + 1. lvar16 = "Z : var expect: 1"; + 2. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 3. lvar186 = "Z -> L : c-loc - uncond : 920850578"; + 4. goto CD + -> UnconditionalJump[GOTO] #Z -> #CD + -> ConditionalJump[IF_ICMPNE] #Z -> #AJ + <- UnconditionalJump[GOTO] #EV -> #Z + <- UnconditionalJump[GOTO] #EX -> #Z +===#Block CD(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1275489261); + 1. if (lvar10 != 920850578) + goto CE + 2. goto L + -> ConditionalJump[IF_ICMPNE] #CD -> #CE + -> UnconditionalJump[GOTO] #CD -> #L + <- UnconditionalJump[GOTO] #Z -> #CD +===#Block L(size=6, flags=0)=== + 0. if (dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{920850576 ^ lvar10}] == lvar6) + goto CM + 1. lvar106 = "[Constant] 2 -> 920850576 predicate=920850578"; + 2. lvar68 = "L : var expect: 173524729"; + 3. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != 173524729) + goto AR + 4. lvar10 = {2036461647 ^ lvar10}; + 5. if (lvar10 != 1333977309) + goto BE + -> ConditionalJump[IF_ICMPEQ] #L -> #CM + -> ConditionalJump[IF_ICMPNE] #L -> #AR + -> Immediate #L -> #M + -> ConditionalJump[IF_ICMPNE] #L -> #BE + <- Immediate #J -> #L + <- UnconditionalJump[GOTO] #CD -> #L +===#Block BE(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException(new java/lang/StringBuilder("L --> M # Failed to match seed of type Immediate and value 1333977309 and got ").append(lvar10).toString()); + <- ConditionalJump[IF_ICMPNE] #L -> #BE +===#Block M(size=5, flags=0)=== + 0. lvar3 = new java.lang.IllegalArgumentException; + 1. _consume(lvar3.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar6)))); + 2. throw lvar3; + 3. lvar70 = "M : var expect: -1"; + 4. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto AY + -> ConditionalJump[IF_ICMPNE] #M -> #AY + <- Immediate #L -> #M +===#Block AY(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto AY + 2. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1414932870 ^ lvar10}) + goto AY + 3. lvar90 = "[Constant] 118288580 -> 1414932870 predicate=1398462786"; + 4. _consume({1129199961 ^ lvar10}); + 5. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AY -> #AY + <- ConditionalJump[IF_ICMPNE] #M -> #AY + <- ConditionalJump[IF_ICMPNE] #AY -> #AY +===#Block AR(size=11, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != 173524729) + goto AR + 2. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != {1447666497 ^ lvar10}) + goto AR + 3. lvar116 = "[Constant] 1788260121 -> 1447666497 predicate=1021250648"; + 4. _consume({1374273480 ^ lvar10}); + 5. throw new java/lang/RuntimeException("Failed to proper vm"); + 6. if (java.lang.StrictMath.max(1707464269, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1707464269) + goto AR + 7. if (java.lang.StrictMath.max(1707464269, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1786344253 ^ lvar10}) + goto AR + 8. lvar114 = "[Constant] 1453752165 -> 1786344253 predicate=1021250648"; + 9. _consume({185204503 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AR -> #AR + <- ConditionalJump[IF_ICMPNE] #R -> #AR + <- ConditionalJump[IF_ICMPNE] #L -> #AR + <- ConditionalJump[IF_ICMPNE] #AR -> #AR +===#Block CM(size=3, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 173524729: + goto #CN + case 859283310: + goto #CM + case 1392462802: + goto #Q + case 1843582792: + goto #AW + default: + goto #AW + } + 1. lvar194 = "L -> Q : c-loc - cond : 1143532984"; + 2. if (lvar10 != 1143532984) + goto CO + -> Switch[173524729] #CM -> #CN + -> Immediate #CM -> #CN + -> ConditionalJump[IF_ICMPNE] #CM -> #CO + -> DefaultSwitch #CM -> #AW + -> Switch[1843582792] #CM -> #AW + -> Switch[859283310] #CM -> #CM + -> Switch[1392462802] #CM -> #Q + <- ConditionalJump[IF_ICMPEQ] #L -> #CM + <- Switch[859283310] #CM -> #CM +===#Block AW(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Integer.compareUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 595440337) != -1) + goto AW + 2. if (java.lang.Integer.compareUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 595440337) != {694575480 ^ lvar10}) + goto AW + 3. lvar88 = "[Constant] 341965178 -> 694575480 predicate=1023907842"; + 4. _consume({608760118 ^ lvar10}); + 5. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AW -> #AW + <- ConditionalJump[IF_ICMPNE] #AW -> #AW + <- ConditionalJump[IF_ICMPNE] #S -> #AW + <- DefaultSwitch #CM -> #AW + <- Switch[1843582792] #CM -> #AW +===#Block CO(size=1, flags=0)=== + 0. throw new java/io/IOException("CM --> Q # Failed to match seed of type Conditional and value 1143532984"); + <- ConditionalJump[IF_ICMPNE] #CM -> #CO +===#Block CN(size=2, flags=100)=== + 0. lvar10 = {1925971242 ^ lvar10}; + 1. goto Q + -> UnconditionalJump[GOTO] #CN -> #Q + <- Switch[173524729] #CM -> #CN + <- Immediate #CM -> #CN +===#Block Q(size=5, flags=0)=== + 0. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) == 5) + goto CP + 1. lvar12 = "Q : var expect: 68094140"; + 2. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != 68094140) + goto P + 3. lvar182 = "Q -> V : c-loc - uncond : 454175997"; + 4. goto BY + -> UnconditionalJump[GOTO] #Q -> #BY + -> ConditionalJump[IF_ICMPEQ] #Q -> #CP + -> ConditionalJump[IF_ICMPNE] #Q -> #P + <- UnconditionalJump[GOTO] #CN -> #Q + <- Switch[1392462802] #CM -> #Q +===#Block CP(size=3, flags=10100)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) { + case 68094140: + goto #CQ + case 351568123: + goto #N + case 1052763495: + goto #AJ + case 1169167000: + goto #CP + default: + goto #AJ + } + 1. lvar196 = "Q -> N : c-loc - cond : 1943031651"; + 2. if (lvar10 != 1943031651) + goto CR + -> Switch[1052763495] #CP -> #AJ + -> Switch[68094140] #CP -> #CQ + -> Immediate #CP -> #CQ + -> DefaultSwitch #CP -> #AJ + -> Switch[1169167000] #CP -> #CP + -> ConditionalJump[IF_ICMPNE] #CP -> #CR + -> Switch[351568123] #CP -> #N + <- ConditionalJump[IF_ICMPEQ] #Q -> #CP + <- Switch[1169167000] #CP -> #CP +===#Block CR(size=1, flags=0)=== + 0. throw new java/io/IOException("CP --> N # Failed to match seed of type Conditional and value 1943031651"); + <- ConditionalJump[IF_ICMPNE] #CP -> #CR +===#Block CQ(size=2, flags=100)=== + 0. lvar10 = {939041499 ^ lvar10}; + 1. goto N + -> UnconditionalJump[GOTO] #CQ -> #N + <- Switch[68094140] #CP -> #CQ + <- Immediate #CP -> #CQ +===#Block N(size=3, flags=0)=== + 0. return; + 1. lvar32 = "N : var expect: 314"; + 2. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 314) + goto AJ + -> ConditionalJump[IF_ICMPNE] #N -> #AJ + <- UnconditionalJump[GOTO] #CQ -> #N + <- Switch[351568123] #CP -> #N +===#Block AJ(size=26, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != 672834169) + goto AJ + 2. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != {1846725310 ^ lvar10}) + goto AJ + 3. lvar158 = "[Constant] 655625094 -> 1846725310 predicate=1225179448"; + 4. _consume({1218594415 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 7. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {433705380 ^ lvar10}) + goto AJ + 8. lvar156 = "[Constant] 1356796060 -> 433705380 predicate=1225179448"; + 9. _consume({1178814505 ^ lvar10}); + 10. throw new java/lang/RuntimeException("Failed to proper vm"); + 11. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 314) + goto AJ + 12. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {334178431 ^ lvar10}) + goto AJ + 13. lvar154 = "[Constant] 1525541191 -> 334178431 predicate=1225179448"; + 14. _consume({1912106380 ^ lvar10}); + 15. throw new java/lang/RuntimeException("Failed to proper vm"); + 16. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != -2115371073) + goto AJ + 17. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != {72919272 ^ lvar10}) + goto AJ + 18. lvar160 = "[Constant] 1298033104 -> 72919272 predicate=1225179448"; + 19. _consume({114206829 ^ lvar10}); + 20. throw new java/lang/RuntimeException("Failed to proper vm"); + 21. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 22. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {161741336 ^ lvar10}) + goto AJ + 23. lvar152 = "[Constant] 1084570400 -> 161741336 predicate=1225179448"; + 24. _consume({1314252186 ^ lvar10}); + 25. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- ConditionalJump[IF_ICMPNE] #AA -> #AJ + <- ConditionalJump[IF_ICMPNE] #N -> #AJ + <- Switch[1052763495] #CP -> #AJ + <- ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- DefaultSwitch #CP -> #AJ + <- ConditionalJump[IF_ICMPNE] #AF -> #AJ + <- ConditionalJump[IF_ICMPNE] #Z -> #AJ + <- ConditionalJump[IF_ICMPNE] #AD -> #AJ +===#Block BY(size=3, flags=10100)=== + 0. lvar10 = {1597686085 ^ lvar10}; + 1. if (lvar10 != 454175997) + goto BZ + 2. goto V + -> UnconditionalJump[GOTO] #BY -> #V + -> ConditionalJump[IF_ICMPNE] #BY -> #BZ + <- UnconditionalJump[GOTO] #Q -> #BY +===#Block BZ(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("BY --> V # Failed to match seed of type Unconditional and value 454175997"); + <- ConditionalJump[IF_ICMPNE] #BY -> #BZ +===#Block V(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 74656824) + goto U + 1. throw nullconst; + 2. lvar60 = "V : var expect: 23"; + 3. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 23) + goto AV + -> ConditionalJump[IF_ICMPNE] #V -> #AV + -> ConditionalJump[IF_ICMPEQ] #V -> #U + -> TryCatch range: [V...U] -> EO ([Ljava/lang/RuntimeException;]) + <- UnconditionalJump[GOTO] #BY -> #V +===#Block U(size=3, flags=0)=== + 0. throw new java/lang/RuntimeException(); + 1. lvar44 = "U : var expect: 118257104"; + 2. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != 118257104) + goto AO + -> ConditionalJump[IF_ICMPNE] #U -> #AO + -> TryCatch range: [V...U] -> EO ([Ljava/lang/RuntimeException;]) + <- ConditionalJump[IF_ICMPEQ] #V -> #U +===#Block EO(size=1, flags=0)=== + 0. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.kdjdykfpmferaltc(lvar10)) { + case -661559320: + goto #EP + case -481556704: + goto #ER + default: + goto #ET + } + -> Switch[-661559320] #EO -> #EP + -> Switch[-481556704] #EO -> #ER + -> DefaultSwitch #EO -> #ET + <- TryCatch range: [V...U] -> EO ([Ljava/lang/RuntimeException;]) + <- TryCatch range: [V...U] -> EO ([Ljava/lang/RuntimeException;]) +===#Block ET(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Error in hash"); + <- DefaultSwitch #EO -> #ET +===#Block ER(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1516886624); + 1. if (lvar10 != 1174428292) + goto ES + 2. goto W + -> UnconditionalJump[GOTO] #ER -> #W + -> ConditionalJump[IF_ICMPNE] #ER -> #ES + <- Switch[-481556704] #EO -> #ER +===#Block ES(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("ER --> W # Failed to match seed of type Exception Range [Ljava/lang/RuntimeException;] and value 1174428292"); + <- ConditionalJump[IF_ICMPNE] #ER -> #ES +===#Block EP(size=3, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.gvprfwvilxtnyjar(lvar10, 1561491065); + 1. if (lvar10 != 1174428292) + goto EQ + 2. goto W + -> ConditionalJump[IF_ICMPNE] #EP -> #EQ + -> UnconditionalJump[GOTO] #EP -> #W + <- Switch[-661559320] #EO -> #EP +===#Block W(size=5, flags=0)=== + 0. _consume(catch()); + 1. lvar42 = "W : var expect: -199414816"; + 2. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != -199414816) + goto AL + 3. lvar188 = "W -> P : c-loc - uncond : 825727288"; + 4. goto CF + -> UnconditionalJump[GOTO] #W -> #CF + -> ConditionalJump[IF_ICMPNE] #W -> #AL + <- UnconditionalJump[GOTO] #ER -> #W + <- UnconditionalJump[GOTO] #EP -> #W +===#Block AL(size=11, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != -199414816) + goto AL + 2. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != {2144908761 ^ lvar10}) + goto AL + 3. lvar108 = "[Constant] 1203066869 -> 2144908761 predicate=946725420"; + 4. _consume({1316129242 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1307126627) + goto AL + 7. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {326198746 ^ lvar10}) + goto AL + 8. lvar110 = "[Constant] 723290102 -> 326198746 predicate=946725420"; + 9. _consume({1375778798 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AL -> #AL + <- ConditionalJump[IF_ICMPNE] #C -> #AL + <- ConditionalJump[IF_ICMPNE] #AL -> #AL + <- DefaultSwitch #BT -> #AL + <- Switch[1824729686] #BT -> #AL + <- ConditionalJump[IF_ICMPNE] #W -> #AL +===#Block CF(size=3, flags=10100)=== + 0. lvar10 = {2000143292 ^ lvar10}; + 1. if (lvar10 != 825727288) + goto CG + 2. goto P + -> ConditionalJump[IF_ICMPNE] #CF -> #CG + -> UnconditionalJump[GOTO] #CF -> #P + <- UnconditionalJump[GOTO] #W -> #CF +===#Block P(size=23, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Character.digit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1157052188) != -1) + goto P + 2. if (java.lang.Character.digit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1157052188) != {2087345862 ^ lvar10}) + goto P + 3. lvar132 = "[Constant] 1297991678 -> 2087345862 predicate=825727288"; + 4. _consume({233399223 ^ lvar10}); + 5. throw new java/lang/RuntimeException("Failed to proper vm"); + 6. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto P + 7. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1431189994 ^ lvar10}) + goto P + 8. lvar126 = "[Constant] 1685692626 -> 1431189994 predicate=825727288"; + 9. _consume({2051377248 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 11. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1127856956) != 21977833) + goto P + 12. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1127856956) != {1630057163 ^ lvar10}) + goto P + 13. lvar128 = "[Constant] 1344220147 -> 1630057163 predicate=825727288"; + 14. _consume({370507441 ^ lvar10}); + 15. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 16. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != 68094140) + goto P + 17. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != {201406604 ^ lvar10}) + goto P + 18. lvar130 = "[Constant] 1026990516 -> 201406604 predicate=825727288"; + 19. _consume({1445331241 ^ lvar10}); + 20. throw new java/io/IOException(); + 21. lvar76 = "P : var expect: 257657323"; + 22. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 257657323) + goto BA + -> ConditionalJump[IF_ICMPNE] #P -> #BA + -> ConditionalJump[IF_ICMPNE] #P -> #P + <- ConditionalJump[IF_ICMPNE] #P -> #P + <- Switch[262085016] #BN -> #P + <- UnconditionalJump[GOTO] #BO -> #P + <- ConditionalJump[IF_ICMPNE] #F -> #P + <- UnconditionalJump[GOTO] #CF -> #P + <- ConditionalJump[IF_ICMPNE] #Q -> #P + <- ConditionalJump[IF_ICMPNE] #T -> #P + <- ConditionalJump[IF_ICMPNE] #A -> #P +===#Block BA(size=6, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 257657323) + goto BA + 2. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2139306365 ^ lvar10}) + goto BA + 3. lvar112 = "[Constant] 2133386653 -> 2139306365 predicate=11263200"; + 4. _consume({1300692355 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #BA -> #BA + <- ConditionalJump[IF_ICMPNE] #BA -> #BA + <- ConditionalJump[IF_ICMPNE] #P -> #BA +===#Block CG(size=1, flags=0)=== + 0. throw new java/io/IOException("CF --> P # Failed to match seed of type Unconditional and value 825727288"); + <- ConditionalJump[IF_ICMPNE] #CF -> #CG +===#Block EQ(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("EP --> W # Failed to match seed of type Exception Range [Ljava/lang/RuntimeException;] and value 1174428292"); + <- ConditionalJump[IF_ICMPNE] #EP -> #EQ +===#Block AO(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != 118257104) + goto AO + 2. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != {1846145018 ^ lvar10}) + goto AO + 3. lvar136 = "[Constant] 1748173870 -> 1846145018 predicate=104524756"; + 4. _consume({1422396881 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 161914808) + goto AO + 7. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1048097773 ^ lvar10}) + goto AO + 8. lvar138 = "[Constant] 943872057 -> 1048097773 predicate=104524756"; + 9. _consume({1106757231 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AO -> #AO + <- ConditionalJump[IF_ICMPNE] #Y -> #AO + <- ConditionalJump[IF_ICMPNE] #U -> #AO + <- ConditionalJump[IF_ICMPNE] #AO -> #AO + <- DefaultSwitch #CH -> #AO + <- Switch[1956248668] #CH -> #AO +===#Block AV(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 23) + goto AV + 2. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {575435872 ^ lvar10}) + goto AV + 3. lvar140 = "[Constant] 737862807 -> 575435872 predicate=162959607"; + 4. _consume({2037543923 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AV -> #AV + <- ConditionalJump[IF_ICMPNE] #V -> #AV + <- Switch[158492781] #CA -> #AV + <- DefaultSwitch #CA -> #AV + <- ConditionalJump[IF_ICMPNE] #AV -> #AV +===#Block CE(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("CD --> L # Failed to match seed of type Unconditional and value 920850578"); + <- ConditionalJump[IF_ICMPNE] #CD -> #CE +===#Block AN(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 26034181) + goto AN + 2. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {776031309 ^ lvar10}) + goto AN + 3. lvar86 = "[Constant] 1959685424 -> 776031309 predicate=1519329661"; + 4. _consume({284603248 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AN -> #AN + <- DefaultSwitch #BI -> #AN + <- ConditionalJump[IF_ICMPNE] #AH -> #AN + <- ConditionalJump[IF_ICMPNE] #AN -> #AN + <- Switch[1599618100] #BI -> #AN +===#Block BG(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException(new java/lang/StringBuilder("A --> B # Failed to match seed of type Immediate and value 1573158791 and got ").append(lvar10).toString()); + <- ConditionalJump[IF_ICMPNE] #A -> #BG diff --git a/dev.skidfuscator.obfuscator/skidfuscator-error-arq.txt b/dev.skidfuscator.obfuscator/skidfuscator-error-arq.txt new file mode 100644 index 0000000..de948ac --- /dev/null +++ b/dev.skidfuscator.obfuscator/skidfuscator-error-arq.txt @@ -0,0 +1,694 @@ +handler=Block #AX, types=[Ljava/lang/IllegalStateException;], range=[Block #C, Block #D, Block #E, Block #G, Block #F, Block #I, Block #H] +handler=Block #BG, types=[Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;], range=[Block #C, Block #D, Block #E, Block #G, Block #F, Block #I, Block #H] +handler=Block #BP, types=[Ljava/io/IOException;], range=[Block #P, Block #O] +handler=Block #BT, types=[Ljava/lang/IllegalAccessException;], range=[Block #S, Block #R] +handler=Block #BX, types=[Ljava/lang/IllegalAccessException;], range=[Block #V, Block #U] +handler=Block #CB, types=[Ljava/io/IOException;], range=[Block #Y, Block #X] +===#Block A(size=4, flags=1)=== + 0. lvar10 = {121108282 ^ {411229400 ^ 973850498}}; + 1. synth(lvar0 = lvar0); + 2. if ({65537 % {155 * ({1231600938 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {155 * ({1231600938 ^ 2})}}) + goto AA + 3. lvar10 = {1245982948 ^ lvar10}; + -> ConditionalJump[IF_ICMPNE] #A -> #AA + -> Immediate #A -> #B +===#Block B(size=1, flags=0)=== + 0. lvar10 = {342164135 ^ lvar10}; + -> Immediate #B -> #C + <- Immediate #A -> #B +===#Block C(size=4, flags=0)=== + 0. _consume(dev.skidfuscator.testclasses.opaque.OpaqueConditionClazz$AES.main(new java.lang.String[{2074074659 ^ lvar10}])); + 1. if (dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{2074074659 ^ lvar10}] != {2074074659 ^ lvar10}) + goto AT + 2. if ({65537 % {93 * ({1687319821 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {93 * ({1687319821 ^ 3973})}}) + goto AI + 3. lvar10 = {2032112291 ^ lvar10}; + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + -> Immediate #C -> #D + -> ConditionalJump[IF_ICMPNE] #C -> #AT + -> ConditionalJump[IF_ICMPNE] #C -> #AI + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Immediate #B -> #C +===#Block AI(size=4, flags=0)=== + 0. if ({65537 % {23 * ({1201895448 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {23 * ({1201895448 ^ 3973})}}) + goto AI + 1. if ({65537 % {37 * ({908644760 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {37 * ({908644760 ^ {151745895 ^ lvar10}})}}) + goto AI + 2. _consume({1449725187 ^ lvar10}); + 3. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AI -> #AI + <- ConditionalJump[IF_ICMPNE] #AI -> #AI + <- ConditionalJump[IF_ICMPNE] #C -> #AI +===#Block AT(size=1, flags=10100)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)) { + case 199801669: + goto #AB + case 260425212: + goto #AU + case 866115707: + goto #I + case 1930052144: + goto #AT + default: + goto #AB + } + -> Immediate #AT -> #AU + -> Switch[1930052144] #AT -> #AT + -> DefaultSwitch #AT -> #AB + -> Switch[866115707] #AT -> #I + -> Switch[260425212] #AT -> #AU + -> Switch[199801669] #AT -> #AB + <- Switch[1930052144] #AT -> #AT + <- ConditionalJump[IF_ICMPNE] #C -> #AT +===#Block AU(size=2, flags=100)=== + 0. lvar10 = {1394522035 ^ lvar10}; + 1. goto I + -> UnconditionalJump[GOTO] #AU -> #I + <- Immediate #AT -> #AU + <- Switch[260425212] #AT -> #AU +===#Block I(size=4, flags=0)=== + 0. lvar5 = new java.lang.IllegalArgumentException; + 1. _consume(lvar5.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", {679569810 ^ lvar10})))); + 2. throw lvar5; + 3. if ({65537 % {125 * ({1324992040 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {125 * ({1324992040 ^ 0})}}) + goto AB + -> ConditionalJump[IF_ICMPNE] #I -> #AB + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Switch[866115707] #AT -> #I + <- UnconditionalJump[GOTO] #AU -> #I +===#Block D(size=3, flags=0)=== + 0. svar12 = {dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{41962625 ^ lvar10}] ^ lvar10}; + 1. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(svar12)) { + case 39339320: + goto #AV + default: + goto #AW + } + 2. if ({65537 % {189 * ({788652090 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {189 * ({788652090 ^ 1413303109})}}) + goto AH + -> Switch[39339320] #D -> #AV + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + -> DefaultSwitch #D -> #AW + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #D -> #AH + <- Immediate #C -> #D +===#Block AH(size=4, flags=0)=== + 0. if ({65537 % {85 * ({877467349 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {85 * ({877467349 ^ 1413303109})}}) + goto AH + 1. if ({65537 % {45 * ({216586328 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {45 * ({216586328 ^ {59536465 ^ lvar10}})}}) + goto AH + 2. _consume({2076725377 ^ lvar10}); + 3. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AH -> #AH + <- ConditionalJump[IF_ICMPNE] #AH -> #AH + <- ConditionalJump[IF_ICMPNE] #D -> #AH +===#Block AW(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 2130205897); + 1. goto F + -> UnconditionalJump[GOTO] #AW -> #F + <- DefaultSwitch #D -> #AW +===#Block F(size=3, flags=0)=== + 0. lvar7 = {-2088243278 ^ lvar10}; + 1. if ({65537 % {191 * ({39871346 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {191 * ({39871346 ^ 19457013})}}) + goto AC + 2. goto AL + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> UnconditionalJump[GOTO] #F -> #AL + -> ConditionalJump[IF_ICMPNE] #F -> #AC + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- UnconditionalJump[GOTO] #AW -> #F +===#Block AL(size=2, flags=10100)=== + 0. lvar10 = {1848747158 ^ lvar10}; + 1. goto Y + -> UnconditionalJump[GOTO] #AL -> #Y + <- UnconditionalJump[GOTO] #F -> #AL +===#Block Y(size=3, flags=0)=== + 0. if ({65537 % {65 * ({1038450005 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {65 * ({1038450005 ^ 57596985})}}) + goto X + 1. throw nullconst; + 2. if ({65537 % {61 * ({32761098 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {61 * ({32761098 ^ 970747395})}}) + goto AA + -> ConditionalJump[IF_ICMPEQ] #Y -> #X + -> ConditionalJump[IF_ICMPNE] #Y -> #AA + -> TryCatch range: [Y...X] -> CB ([Ljava/io/IOException;]) + <- UnconditionalJump[GOTO] #AL -> #Y +===#Block X(size=2, flags=0)=== + 0. throw new java/io/IOException(); + 1. if ({65537 % {113 * ({67551708 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {113 * ({67551708 ^ -1})}}) + goto AA + -> TryCatch range: [Y...X] -> CB ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #X -> #AA + <- ConditionalJump[IF_ICMPEQ] #Y -> #X +===#Block CB(size=1, flags=0)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.qdkqxmbnisxwndcp(lvar10)) { + case -1840404744: + goto #CC + case 1702273875: + goto #CD + default: + goto #CE + } + -> DefaultSwitch #CB -> #CE + -> Switch[-1840404744] #CB -> #CC + -> Switch[1702273875] #CB -> #CD + <- TryCatch range: [Y...X] -> CB ([Ljava/io/IOException;]) + <- TryCatch range: [Y...X] -> CB ([Ljava/io/IOException;]) +===#Block CD(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1785353420); + 1. goto Z + -> UnconditionalJump[GOTO] #CD -> #Z + <- Switch[1702273875] #CB -> #CD +===#Block CC(size=2, flags=10100)=== + 0. lvar10 = {344798329 ^ lvar10}; + 1. goto Z + -> UnconditionalJump[GOTO] #CC -> #Z + <- Switch[-1840404744] #CB -> #CC +===#Block Z(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {149 * ({1737487068 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {149 * ({1737487068 ^ 1594251326})}}) + goto AB + 2. goto AP + -> UnconditionalJump[GOTO] #Z -> #AP + -> ConditionalJump[IF_ICMPNE] #Z -> #AB + <- UnconditionalJump[GOTO] #CD -> #Z + <- UnconditionalJump[GOTO] #CC -> #Z +===#Block AP(size=2, flags=10100)=== + 0. lvar10 = {1240074118 ^ lvar10}; + 1. goto H + -> UnconditionalJump[GOTO] #AP -> #H + <- UnconditionalJump[GOTO] #Z -> #AP +===#Block CE(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Error in hash"); + <- DefaultSwitch #CB -> #CE +===#Block AV(size=2, flags=10100)=== + 0. lvar10 = {1846021237 ^ lvar10}; + 1. goto G + -> UnconditionalJump[GOTO] #AV -> #G + <- Switch[39339320] #D -> #AV +===#Block G(size=3, flags=0)=== + 0. lvar7 = {1820868854 ^ lvar10}; + 1. if ({65537 % {45 * ({43072936 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {45 * ({43072936 ^ 581174415})}}) + goto AC + 2. goto AN + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + -> UnconditionalJump[GOTO] #G -> #AN + -> ConditionalJump[IF_ICMPNE] #G -> #AC + <- UnconditionalJump[GOTO] #AV -> #G +===#Block AN(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1320850292); + 1. goto S + -> UnconditionalJump[GOTO] #AN -> #S + <- UnconditionalJump[GOTO] #G -> #AN +===#Block S(size=3, flags=0)=== + 0. if ({65537 % {173 * ({1173346919 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {173 * ({1173346919 ^ 37903355})}}) + goto R + 1. throw nullconst; + 2. if ({65537 % {153 * ({1875527437 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {153 * ({1875527437 ^ 37903355})}}) + goto AB + -> ConditionalJump[IF_ICMPNE] #S -> #AB + -> ConditionalJump[IF_ICMPEQ] #S -> #R + -> TryCatch range: [S...R] -> BT ([Ljava/lang/IllegalAccessException;]) + <- UnconditionalJump[GOTO] #AN -> #S +===#Block R(size=2, flags=0)=== + 0. throw new java/lang/IllegalAccessException(); + 1. if ({65537 % {179 * ({397001432 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {179 * ({397001432 ^ 109960954})}}) + goto AJ + -> ConditionalJump[IF_ICMPNE] #R -> #AJ + -> TryCatch range: [S...R] -> BT ([Ljava/lang/IllegalAccessException;]) + <- ConditionalJump[IF_ICMPEQ] #S -> #R +===#Block BT(size=1, flags=0)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.qdkqxmbnisxwndcp(lvar10)) { + case 295083017: + goto #BU + case 938318296: + goto #BV + default: + goto #BW + } + -> Switch[938318296] #BT -> #BV + -> DefaultSwitch #BT -> #BW + -> Switch[295083017] #BT -> #BU + <- TryCatch range: [S...R] -> BT ([Ljava/lang/IllegalAccessException;]) + <- TryCatch range: [S...R] -> BT ([Ljava/lang/IllegalAccessException;]) +===#Block BU(size=2, flags=10100)=== + 0. lvar10 = {581257794 ^ lvar10}; + 1. goto T + -> UnconditionalJump[GOTO] #BU -> #T + <- Switch[295083017] #BT -> #BU +===#Block BW(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("Error in hash"); + <- DefaultSwitch #BT -> #BW +===#Block BV(size=2, flags=10100)=== + 0. lvar10 = {107621112 ^ lvar10}; + 1. goto T + -> UnconditionalJump[GOTO] #BV -> #T + <- Switch[938318296] #BT -> #BV +===#Block T(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {15 * ({1729336264 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {15 * ({1729336264 ^ 0})}}) + goto AA + 2. goto AO + -> ConditionalJump[IF_ICMPNE] #T -> #AA + -> UnconditionalJump[GOTO] #T -> #AO + <- UnconditionalJump[GOTO] #BU -> #T + <- UnconditionalJump[GOTO] #BV -> #T +===#Block AO(size=2, flags=10100)=== + 0. lvar10 = {1337532131 ^ lvar10}; + 1. goto H + -> UnconditionalJump[GOTO] #AO -> #H + <- UnconditionalJump[GOTO] #T -> #AO +===#Block H(size=5, flags=0)=== + 0. _consume(lvar0.self(lvar7, 1754638706)); + 1. lvar2 = new java.lang.IllegalArgumentException; + 2. _consume(lvar2.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar7)))); + 3. throw lvar2; + 4. if ({65537 % {129 * ({2108348666 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {129 * ({2108348666 ^ 1})}}) + goto AD + -> TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #H -> #AD + <- UnconditionalJump[GOTO] #AP -> #H + <- UnconditionalJump[GOTO] #AQ -> #H + <- UnconditionalJump[GOTO] #AO -> #H +===#Block AJ(size=4, flags=0)=== + 0. if ({65537 % {97 * ({1331006998 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {97 * ({1331006998 ^ 109960954})}}) + goto AJ + 1. if ({65537 % {103 * ({1085177758 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {103 * ({1085177758 ^ {891184122 ^ lvar10}})}}) + goto AJ + 2. _consume({675117789 ^ lvar10}); + 3. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- ConditionalJump[IF_ICMPNE] #R -> #AJ + <- ConditionalJump[IF_ICMPNE] #AJ -> #AJ +===#Block BG(size=1, flags=0)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.qdkqxmbnisxwndcp(lvar10)) { + case -587271909: + goto #BH + case -473922997: + goto #BL + case 58845571: + goto #BJ + case 335700992: + goto #BI + case 1141591169: + goto #BM + case 1682048939: + goto #BK + case 2037659906: + goto #BN + default: + goto #BO + } + -> Switch[335700992] #BG -> #BI + -> DefaultSwitch #BG -> #BO + -> Switch[-587271909] #BG -> #BH + -> Switch[1682048939] #BG -> #BK + -> Switch[1141591169] #BG -> #BM + -> Switch[58845571] #BG -> #BJ + -> Switch[-473922997] #BG -> #BL + -> Switch[2037659906] #BG -> #BN + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> BG ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) +===#Block BN(size=2, flags=10100)=== + 0. lvar10 = {2094980488 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BN -> #J + <- Switch[2037659906] #BG -> #BN +===#Block BL(size=2, flags=10100)=== + 0. lvar10 = {1334332129 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BL -> #J + <- Switch[-473922997] #BG -> #BL +===#Block BJ(size=2, flags=10100)=== + 0. lvar10 = {1400924056 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BJ -> #J + <- Switch[58845571] #BG -> #BJ +===#Block BM(size=2, flags=10100)=== + 0. lvar10 = {460403512 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BM -> #J + <- Switch[1141591169] #BG -> #BM +===#Block BK(size=2, flags=10100)=== + 0. lvar10 = {1601706589 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BK -> #J + <- Switch[1682048939] #BG -> #BK +===#Block BH(size=2, flags=10100)=== + 0. lvar10 = {1215267979 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BH -> #J + <- Switch[-587271909] #BG -> #BH +===#Block BO(size=1, flags=0)=== + 0. throw new java/lang/RuntimeException("Error in hash"); + <- DefaultSwitch #BG -> #BO +===#Block BI(size=2, flags=10100)=== + 0. lvar10 = {829429288 ^ lvar10}; + 1. goto J + -> UnconditionalJump[GOTO] #BI -> #J + <- Switch[335700992] #BG -> #BI +===#Block J(size=5, flags=0)=== + 0. lvar1 = catch(); + 1. _consume(lvar1.printStackTrace()); + 2. lvar6 = {-871389865 ^ lvar10}; + 3. if ({65537 % {73 * ({704406811 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {73 * ({704406811 ^ 77700181})}}) + goto AC + 4. lvar10 = {438503329 ^ lvar10}; + -> Immediate #J -> #L + -> ConditionalJump[IF_ICMPNE] #J -> #AC + <- UnconditionalJump[GOTO] #BH -> #J + <- UnconditionalJump[GOTO] #BN -> #J + <- UnconditionalJump[GOTO] #BL -> #J + <- UnconditionalJump[GOTO] #BM -> #J + <- UnconditionalJump[GOTO] #BI -> #J + <- UnconditionalJump[GOTO] #BK -> #J + <- UnconditionalJump[GOTO] #BJ -> #J +===#Block AX(size=1, flags=0)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.qdkqxmbnisxwndcp(lvar10)) { + case -587271909: + goto #AY + case -473922997: + goto #BC + case 58845571: + goto #BA + case 335700992: + goto #AZ + case 1141591169: + goto #BD + case 1682048939: + goto #BB + case 2037659906: + goto #BE + default: + goto #BF + } + -> Switch[1141591169] #AX -> #BD + -> Switch[335700992] #AX -> #AZ + -> Switch[58845571] #AX -> #BA + -> Switch[-587271909] #AX -> #AY + -> Switch[1682048939] #AX -> #BB + -> Switch[2037659906] #AX -> #BE + -> DefaultSwitch #AX -> #BF + -> Switch[-473922997] #AX -> #BC + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> AX ([Ljava/lang/IllegalStateException;]) +===#Block BC(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1913741066); + 1. goto K + -> UnconditionalJump[GOTO] #BC -> #K + <- Switch[-473922997] #AX -> #BC +===#Block BF(size=1, flags=0)=== + 0. throw new java/io/IOException("Error in hash"); + <- DefaultSwitch #AX -> #BF +===#Block BE(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1095223395); + 1. goto K + -> UnconditionalJump[GOTO] #BE -> #K + <- Switch[2037659906] #AX -> #BE +===#Block BB(size=2, flags=10100)=== + 0. lvar10 = {1658916790 ^ lvar10}; + 1. goto K + -> UnconditionalJump[GOTO] #BB -> #K + <- Switch[1682048939] #AX -> #BB +===#Block AY(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1979093344); + 1. goto K + -> UnconditionalJump[GOTO] #AY -> #K + <- Switch[-587271909] #AX -> #AY +===#Block BA(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 1847161459); + 1. goto K + -> UnconditionalJump[GOTO] #BA -> #K + <- Switch[58845571] #AX -> #BA +===#Block AZ(size=2, flags=10100)=== + 0. lvar10 = {216597443 ^ lvar10}; + 1. goto K + -> UnconditionalJump[GOTO] #AZ -> #K + <- Switch[335700992] #AX -> #AZ +===#Block BD(size=2, flags=10100)=== + 0. lvar10 = {652748499 ^ lvar10}; + 1. goto K + -> UnconditionalJump[GOTO] #BD -> #K + <- Switch[1141591169] #AX -> #BD +===#Block K(size=4, flags=0)=== + 0. lvar4 = catch(); + 1. lvar6 = {241782599 ^ lvar10}; + 2. if ({65537 % {123 * ({369185384 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {123 * ({369185384 ^ 1})}}) + goto AA + 3. goto AK + -> ConditionalJump[IF_ICMPNE] #K -> #AA + -> UnconditionalJump[GOTO] #K -> #AK + <- UnconditionalJump[GOTO] #BD -> #K + <- UnconditionalJump[GOTO] #AY -> #K + <- UnconditionalJump[GOTO] #BB -> #K + <- UnconditionalJump[GOTO] #BA -> #K + <- UnconditionalJump[GOTO] #BE -> #K + <- UnconditionalJump[GOTO] #BC -> #K + <- UnconditionalJump[GOTO] #AZ -> #K +===#Block AK(size=2, flags=10100)=== + 0. lvar10 = dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.eenrhxofanhihblp(lvar10, 916929795); + 1. goto V + -> UnconditionalJump[GOTO] #AK -> #V + <- UnconditionalJump[GOTO] #K -> #AK +===#Block V(size=3, flags=0)=== + 0. if ({65537 % {61 * ({1279470676 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {61 * ({1279470676 ^ 235914642})}}) + goto U + 1. throw nullconst; + 2. if ({65537 % {139 * ({1681635630 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {139 * ({1681635630 ^ 235914642})}}) + goto AB + -> ConditionalJump[IF_ICMPEQ] #V -> #U + -> TryCatch range: [V...U] -> BX ([Ljava/lang/IllegalAccessException;]) + -> ConditionalJump[IF_ICMPNE] #V -> #AB + <- UnconditionalJump[GOTO] #AK -> #V +===#Block AB(size=13, flags=0)=== + 0. if ({65537 % {197 * ({1678716225 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {197 * ({1678716225 ^ 1594251326})}}) + goto AB + 1. if ({65537 % {199 * ({608936940 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {199 * ({608936940 ^ {249054319 ^ lvar10}})}}) + goto AB + 2. _consume({1597765569 ^ lvar10}); + 3. if ({65537 % {33 * ({986401313 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {33 * ({986401313 ^ 37903355})}}) + goto AB + 4. if ({65537 % {147 * ({219066752 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {147 * ({219066752 ^ {1476657618 ^ lvar10}})}}) + goto AB + 5. _consume({326075738 ^ lvar10}); + 6. if ({65537 % {17 * ({581176272 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({581176272 ^ 235914642})}}) + goto AB + 7. if ({65537 % {165 * ({1147761769 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {165 * ({1147761769 ^ {1299469601 ^ lvar10}})}}) + goto AB + 8. _consume({401168802 ^ lvar10}); + 9. if ({65537 % {135 * ({954340815 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {135 * ({954340815 ^ 0})}}) + goto AB + 10. if ({65537 % {75 * ({1167888247 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {75 * ({1167888247 ^ {2066039075 ^ lvar10}})}}) + goto AB + 11. _consume({805523482 ^ lvar10}); + 12. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AB -> #AB + <- ConditionalJump[IF_ICMPNE] #I -> #AB + <- ConditionalJump[IF_ICMPNE] #V -> #AB + <- ConditionalJump[IF_ICMPNE] #Z -> #AB + <- ConditionalJump[IF_ICMPNE] #S -> #AB + <- DefaultSwitch #AT -> #AB + <- ConditionalJump[IF_ICMPNE] #AB -> #AB + <- Switch[199801669] #AT -> #AB +===#Block U(size=2, flags=0)=== + 0. throw new java/lang/IllegalAccessException(); + 1. if ({65537 % {147 * ({2110620885 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {147 * ({2110620885 ^ 111804805})}}) + goto AD + -> TryCatch range: [V...U] -> BX ([Ljava/lang/IllegalAccessException;]) + -> ConditionalJump[IF_ICMPNE] #U -> #AD + <- ConditionalJump[IF_ICMPEQ] #V -> #U +===#Block BX(size=1, flags=0)=== + 0. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.qdkqxmbnisxwndcp(lvar10)) { + case -965504511: + goto #BY + case -92411261: + goto #BZ + default: + goto #CA + } + -> Switch[-92411261] #BX -> #BZ + -> DefaultSwitch #BX -> #CA + -> Switch[-965504511] #BX -> #BY + <- TryCatch range: [V...U] -> BX ([Ljava/lang/IllegalAccessException;]) + <- TryCatch range: [V...U] -> BX ([Ljava/lang/IllegalAccessException;]) +===#Block BY(size=2, flags=10100)=== + 0. lvar10 = {920631171 ^ lvar10}; + 1. goto W + -> UnconditionalJump[GOTO] #BY -> #W + <- Switch[-965504511] #BX -> #BY +===#Block CA(size=1, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Error in hash"); + <- DefaultSwitch #BX -> #CA +===#Block BZ(size=2, flags=10100)=== + 0. lvar10 = {1902016659 ^ lvar10}; + 1. goto W + -> UnconditionalJump[GOTO] #BZ -> #W + <- Switch[-92411261] #BX -> #BZ +===#Block W(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {25 * ({1063640007 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {25 * ({1063640007 ^ -1})}}) + goto AE + 2. goto AR + -> UnconditionalJump[GOTO] #W -> #AR + -> ConditionalJump[IF_ICMPNE] #W -> #AE + <- UnconditionalJump[GOTO] #BZ -> #W + <- UnconditionalJump[GOTO] #BY -> #W +===#Block AR(size=2, flags=10100)=== + 0. lvar10 = {667064522 ^ lvar10}; + 1. goto L + -> UnconditionalJump[GOTO] #AR -> #L + <- UnconditionalJump[GOTO] #W -> #AR +===#Block L(size=3, flags=0)=== + 0. if (dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{701717771 ^ lvar10}] == lvar6) + goto AS + 1. if ({65537 % {169 * ({1558692472 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {169 * ({1558692472 ^ 1})}}) + goto AE + 2. lvar10 = {392508312 ^ lvar10}; + -> Immediate #L -> #M + -> ConditionalJump[IF_ICMPNE] #L -> #AE + -> ConditionalJump[IF_ICMPEQ] #L -> #AS + <- Immediate #J -> #L + <- UnconditionalJump[GOTO] #AR -> #L +===#Block AS(size=2, flags=10100)=== + 0. lvar10 = {459417745 ^ lvar10}; + 1. goto N + -> UnconditionalJump[GOTO] #AS -> #N + <- ConditionalJump[IF_ICMPEQ] #L -> #AS +===#Block N(size=2, flags=0)=== + 0. return; + 1. if ({65537 % {129 * ({1465931937 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {129 * ({1465931937 ^ 0})}}) + goto AC + -> ConditionalJump[IF_ICMPNE] #N -> #AC + <- UnconditionalJump[GOTO] #AS -> #N +===#Block AC(size=13, flags=0)=== + 0. if ({65537 % {65 * ({1301071467 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {65 * ({1301071467 ^ 581174415})}}) + goto AC + 1. if ({65537 % {51 * ({1515029398 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {51 * ({1515029398 ^ {893981250 ^ lvar10}})}}) + goto AC + 2. _consume({1446409840 ^ lvar10}); + 3. if ({65537 % {115 * ({1178639310 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {115 * ({1178639310 ^ 0})}}) + goto AC + 4. if ({65537 % {113 * ({1120077318 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {113 * ({1120077318 ^ {1156110062 ^ lvar10}})}}) + goto AC + 5. _consume({906919752 ^ lvar10}); + 6. if ({65537 % {31 * ({1643524366 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {31 * ({1643524366 ^ 19457013})}}) + goto AC + 7. if ({65537 % {131 * ({1463875363 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {131 * ({1463875363 ^ {592625078 ^ lvar10}})}}) + goto AC + 8. _consume({307640782 ^ lvar10}); + 9. if ({65537 % {181 * ({1476078322 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {181 * ({1476078322 ^ 77700181})}}) + goto AC + 10. if ({65537 % {17 * ({1506030693 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({1506030693 ^ {833619153 ^ lvar10}})}}) + goto AC + 11. _consume({271248693 ^ lvar10}); + 12. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AC -> #AC + <- ConditionalJump[IF_ICMPNE] #F -> #AC + <- ConditionalJump[IF_ICMPNE] #G -> #AC + <- ConditionalJump[IF_ICMPNE] #J -> #AC + <- ConditionalJump[IF_ICMPNE] #N -> #AC + <- ConditionalJump[IF_ICMPNE] #AC -> #AC +===#Block AE(size=7, flags=0)=== + 0. if ({65537 % {171 * ({1117692001 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {171 * ({1117692001 ^ -1})}}) + goto AE + 1. if ({65537 % {5 * ({330107120 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {5 * ({330107120 ^ {1216743580 ^ lvar10}})}}) + goto AE + 2. _consume({1611630797 ^ lvar10}); + 3. if ({65537 % {25 * ({1658682634 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {25 * ({1658682634 ^ 1})}}) + goto AE + 4. if ({65537 % {97 * ({1622527528 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {97 * ({1622527528 ^ {1055780153 ^ lvar10}})}}) + goto AE + 5. _consume({506337821 ^ lvar10}); + 6. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AE -> #AE + <- ConditionalJump[IF_ICMPNE] #AE -> #AE + <- ConditionalJump[IF_ICMPNE] #L -> #AE + <- ConditionalJump[IF_ICMPNE] #W -> #AE +===#Block M(size=4, flags=0)=== + 0. lvar3 = new java.lang.IllegalArgumentException; + 1. _consume(lvar3.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar6)))); + 2. throw lvar3; + 3. if ({65537 % {195 * ({1354774324 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {195 * ({1354774324 ^ 66420502})}}) + goto AD + -> ConditionalJump[IF_ICMPNE] #M -> #AD + <- Immediate #L -> #M +===#Block AD(size=10, flags=0)=== + 0. if ({65537 % {119 * ({1537298630 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {119 * ({1537298630 ^ 111804805})}}) + goto AD + 1. if ({65537 % {195 * ({1386709888 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {195 * ({1386709888 ^ {544039179 ^ lvar10}})}}) + goto AD + 2. _consume({1904267273 ^ lvar10}); + 3. if ({65537 % {149 * ({1260789343 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {149 * ({1260789343 ^ 66420502})}}) + goto AD + 4. if ({65537 % {137 * ({1710717329 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {137 * ({1710717329 ^ {1652559946 ^ lvar10}})}}) + goto AD + 5. _consume({110405781 ^ lvar10}); + 6. if ({65537 % {17 * ({48513479 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({48513479 ^ 1})}}) + goto AD + 7. if ({65537 % {57 * ({1232596160 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {57 * ({1232596160 ^ {14925890 ^ lvar10}})}}) + goto AD + 8. _consume({613660170 ^ lvar10}); + 9. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AD -> #AD + <- ConditionalJump[IF_ICMPNE] #H -> #AD + <- ConditionalJump[IF_ICMPNE] #AD -> #AD + <- ConditionalJump[IF_ICMPNE] #M -> #AD + <- ConditionalJump[IF_ICMPNE] #U -> #AD +===#Block AA(size=22, flags=0)=== + 0. if ({65537 % {69 * ({557381387 ^ java.lang.StrictMath.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {69 * ({557381387 ^ 171031009})}}) + goto AA + 1. if ({65537 % {179 * ({646373645 ^ java.lang.StrictMath.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {179 * ({646373645 ^ {2007615715 ^ lvar10}})}}) + goto AA + 2. _consume({858338061 ^ lvar10}); + 3. if ({65537 % {109 * ({1485820007 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {109 * ({1485820007 ^ 0})}}) + goto AA + 4. if ({65537 % {105 * ({1198192893 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {105 * ({1198192893 ^ {678021821 ^ lvar10}})}}) + goto AA + 5. _consume({1294142648 ^ lvar10}); + 6. if ({65537 % {193 * ({917795662 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {193 * ({917795662 ^ 970747395})}}) + goto AA + 7. if ({65537 % {101 * ({404500609 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {101 * ({404500609 ^ {330024636 ^ lvar10}})}}) + goto AA + 8. _consume({347670800 ^ lvar10}); + 9. if ({65537 % {69 * ({993499522 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {69 * ({993499522 ^ 1})}}) + goto AA + 10. if ({65537 % {77 * ({181296939 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {77 * ({181296939 ^ {732805485 ^ lvar10}})}}) + goto AA + 11. _consume({1619604414 ^ lvar10}); + 12. if ({65537 % {95 * ({1207081061 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {95 * ({1207081061 ^ -1})}}) + goto AA + 13. if ({65537 % {165 * ({1237374496 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {165 * ({1237374496 ^ {1045595117 ^ lvar10}})}}) + goto AA + 14. _consume({427800009 ^ lvar10}); + 15. if ({65537 % {85 * ({1100248794 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {85 * ({1100248794 ^ 27441856})}}) + goto AA + 16. if ({65537 % {123 * ({2025355521 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {123 * ({2025355521 ^ {1065932738 ^ lvar10}})}}) + goto AA + 17. _consume({20284411 ^ lvar10}); + 18. if ({65537 % {187 * ({1124178481 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {187 * ({1124178481 ^ 2})}}) + goto AA + 19. if ({65537 % {127 * ({2008412479 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {127 * ({2008412479 ^ {1463752575 ^ lvar10}})}}) + goto AA + 20. _consume({2080369144 ^ lvar10}); + 21. throw new java/io/IOException(); + -> ConditionalJump[IF_ICMPNE] #AA -> #AA + <- ConditionalJump[IF_ICMPNE] #A -> #AA + <- ConditionalJump[IF_ICMPNE] #K -> #AA + <- ConditionalJump[IF_ICMPNE] #AA -> #AA + <- ConditionalJump[IF_ICMPNE] #O -> #AA + <- ConditionalJump[IF_ICMPNE] #T -> #AA + <- ConditionalJump[IF_ICMPNE] #X -> #AA + <- ConditionalJump[IF_ICMPNE] #Y -> #AA + <- ConditionalJump[IF_ICMPNE] #Q -> #AA diff --git a/dev.skidfuscator.obfuscator/skidfuscator-error-rxp.txt b/dev.skidfuscator.obfuscator/skidfuscator-error-rxp.txt new file mode 100644 index 0000000..3d2f1e5 --- /dev/null +++ b/dev.skidfuscator.obfuscator/skidfuscator-error-rxp.txt @@ -0,0 +1,388 @@ +handler=Block #K, types=[Ljava/lang/IllegalStateException;], range=[Block #C, Block #D, Block #E, Block #G, Block #F, Block #I, Block #H] +handler=Block #J, types=[Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;], range=[Block #C, Block #D, Block #E, Block #G, Block #F, Block #I, Block #H] +handler=Block #Q, types=[Ljava/io/IOException;], range=[Block #P, Block #O] +handler=Block #T, types=[Ljava/lang/IllegalAccessException;], range=[Block #S, Block #R] +handler=Block #W, types=[Ljava/lang/IllegalAccessException;], range=[Block #V, Block #U] +handler=Block #Z, types=[Ljava/io/IOException;], range=[Block #Y, Block #X] +===#Block A(size=2, flags=1)=== + 0. synth(lvar0 = lvar0); + 1. if ({65537 % {155 * ({1231600938 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {155 * ({1231600938 ^ 2})}}) + goto AA + -> ConditionalJump[IF_ICMPNE] #A -> #AA + -> Immediate #A -> #B +===#Block B(size=0, flags=0)=== + -> Immediate #B -> #C + <- Immediate #A -> #B +===#Block C(size=3, flags=0)=== + 0. _consume(dev.skidfuscator.testclasses.opaque.OpaqueConditionClazz$AES.main(new java.lang.String[{2074074659 ^ lvar10}])); + 1. if (dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{2074074659 ^ lvar10}] != {2074074659 ^ lvar10}) + goto I + 2. if ({65537 % {93 * ({1687319821 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {93 * ({1687319821 ^ 3973})}}) + goto AI + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #C -> #I + -> Immediate #C -> #D + -> ConditionalJump[IF_ICMPNE] #C -> #AI + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Immediate #B -> #C +===#Block AI(size=4, flags=0)=== + 0. if ({65537 % {23 * ({1201895448 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {23 * ({1201895448 ^ 3973})}}) + goto AI + 1. if ({65537 % {37 * ({908644760 ^ java.text.CollationElementIterator.primaryOrder(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {37 * ({908644760 ^ {151745895 ^ lvar10}})}}) + goto AI + 2. _consume({1449725187 ^ lvar10}); + 3. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AI -> #AI + <- ConditionalJump[IF_ICMPNE] #AI -> #AI + <- ConditionalJump[IF_ICMPNE] #C -> #AI +===#Block D(size=3, flags=0)=== + 0. svar12 = {dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{41962625 ^ lvar10}] ^ lvar10}; + 1. switch (dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(svar12)) { + case 39339320: + goto #G + default: + goto #F + } + 2. if ({65537 % {189 * ({788652090 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {189 * ({788652090 ^ 1413303109})}}) + goto AH + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> DefaultSwitch #D -> #F + -> Switch[39339320] #D -> #G + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #D -> #AH + <- Immediate #C -> #D +===#Block AH(size=4, flags=0)=== + 0. if ({65537 % {85 * ({877467349 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {85 * ({877467349 ^ 1413303109})}}) + goto AH + 1. if ({65537 % {45 * ({216586328 ^ java.lang.Math.addExact(1373963789, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {45 * ({216586328 ^ {59536465 ^ lvar10}})}}) + goto AH + 2. _consume({2076725377 ^ lvar10}); + 3. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AH -> #AH + <- ConditionalJump[IF_ICMPNE] #AH -> #AH + <- ConditionalJump[IF_ICMPNE] #D -> #AH +===#Block G(size=3, flags=0)=== + 0. lvar7 = {1820868854 ^ lvar10}; + 1. if ({65537 % {45 * ({43072936 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {45 * ({43072936 ^ 581174415})}}) + goto AC + 2. goto S + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #G -> #AC + -> UnconditionalJump[GOTO] #G -> #S + <- Switch[39339320] #D -> #G +===#Block S(size=3, flags=0)=== + 0. if ({65537 % {173 * ({1173346919 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {173 * ({1173346919 ^ 37903355})}}) + goto R + 1. throw nullconst; + 2. if ({65537 % {153 * ({1875527437 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {153 * ({1875527437 ^ 37903355})}}) + goto AB + -> ConditionalJump[IF_ICMPNE] #S -> #AB + -> TryCatch range: [S...R] -> T ([Ljava/lang/IllegalAccessException;]) + -> ConditionalJump[IF_ICMPEQ] #S -> #R + <- UnconditionalJump[GOTO] #G -> #S +===#Block R(size=2, flags=0)=== + 0. throw new java/lang/IllegalAccessException(); + 1. if ({65537 % {179 * ({397001432 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {179 * ({397001432 ^ 109960954})}}) + goto AJ + -> ConditionalJump[IF_ICMPNE] #R -> #AJ + -> TryCatch range: [S...R] -> T ([Ljava/lang/IllegalAccessException;]) + <- ConditionalJump[IF_ICMPEQ] #S -> #R +===#Block AJ(size=4, flags=0)=== + 0. if ({65537 % {97 * ({1331006998 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {97 * ({1331006998 ^ 109960954})}}) + goto AJ + 1. if ({65537 % {103 * ({1085177758 ^ java.lang.Integer.hashCode(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {103 * ({1085177758 ^ {891184122 ^ lvar10}})}}) + goto AJ + 2. _consume({675117789 ^ lvar10}); + 3. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- ConditionalJump[IF_ICMPNE] #R -> #AJ + <- ConditionalJump[IF_ICMPNE] #AJ -> #AJ +===#Block T(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {15 * ({1729336264 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {15 * ({1729336264 ^ 0})}}) + goto AA + 2. goto H + -> UnconditionalJump[GOTO] #T -> #H + -> ConditionalJump[IF_ICMPNE] #T -> #AA + <- TryCatch range: [S...R] -> T ([Ljava/lang/IllegalAccessException;]) + <- TryCatch range: [S...R] -> T ([Ljava/lang/IllegalAccessException;]) +===#Block F(size=3, flags=0)=== + 0. lvar7 = {-2088243278 ^ lvar10}; + 1. if ({65537 % {191 * ({39871346 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {191 * ({39871346 ^ 19457013})}}) + goto AC + 2. goto Y + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> UnconditionalJump[GOTO] #F -> #Y + -> ConditionalJump[IF_ICMPNE] #F -> #AC + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- DefaultSwitch #D -> #F +===#Block Y(size=3, flags=0)=== + 0. if ({65537 % {65 * ({1038450005 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {65 * ({1038450005 ^ 57596985})}}) + goto X + 1. throw nullconst; + 2. if ({65537 % {61 * ({32761098 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {61 * ({32761098 ^ 970747395})}}) + goto AA + -> ConditionalJump[IF_ICMPEQ] #Y -> #X + -> TryCatch range: [Y...X] -> Z ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #Y -> #AA + <- UnconditionalJump[GOTO] #F -> #Y +===#Block X(size=2, flags=0)=== + 0. throw new java/io/IOException(); + 1. if ({65537 % {113 * ({67551708 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {113 * ({67551708 ^ -1})}}) + goto AA + -> TryCatch range: [Y...X] -> Z ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #X -> #AA + <- ConditionalJump[IF_ICMPEQ] #Y -> #X +===#Block Z(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {149 * ({1737487068 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {149 * ({1737487068 ^ 1594251326})}}) + goto AB + 2. goto H + -> ConditionalJump[IF_ICMPNE] #Z -> #AB + -> UnconditionalJump[GOTO] #Z -> #H + <- TryCatch range: [Y...X] -> Z ([Ljava/io/IOException;]) + <- TryCatch range: [Y...X] -> Z ([Ljava/io/IOException;]) +===#Block H(size=5, flags=0)=== + 0. _consume(lvar0.self(lvar7, 1754638706)); + 1. lvar2 = new java.lang.IllegalArgumentException; + 2. _consume(lvar2.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar7)))); + 3. throw lvar2; + 4. if ({65537 % {129 * ({2108348666 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {129 * ({2108348666 ^ 1})}}) + goto AD + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #H -> #AD + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- UnconditionalJump[GOTO] #T -> #H + <- UnconditionalJump[GOTO] #Q -> #H + <- UnconditionalJump[GOTO] #Z -> #H +===#Block I(size=4, flags=0)=== + 0. lvar5 = new java.lang.IllegalArgumentException; + 1. _consume(lvar5.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", {679569810 ^ lvar10})))); + 2. throw lvar5; + 3. if ({65537 % {125 * ({1324992040 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {125 * ({1324992040 ^ 0})}}) + goto AB + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #I -> #AB + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- ConditionalJump[IF_ICMPNE] #C -> #I +===#Block J(size=4, flags=0)=== + 0. lvar1 = catch(); + 1. _consume(lvar1.printStackTrace()); + 2. lvar6 = {-871389865 ^ lvar10}; + 3. if ({65537 % {73 * ({704406811 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {73 * ({704406811 ^ 77700181})}}) + goto AC + -> Immediate #J -> #L + -> ConditionalJump[IF_ICMPNE] #J -> #AC + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) +===#Block K(size=4, flags=0)=== + 0. lvar4 = catch(); + 1. lvar6 = {241782599 ^ lvar10}; + 2. if ({65537 % {123 * ({369185384 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {123 * ({369185384 ^ 1})}}) + goto AA + 3. goto V + -> ConditionalJump[IF_ICMPNE] #K -> #AA + -> UnconditionalJump[GOTO] #K -> #V + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) +===#Block V(size=3, flags=0)=== + 0. if ({65537 % {61 * ({1279470676 ^ dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10)})}} == {65537 % {61 * ({1279470676 ^ 235914642})}}) + goto U + 1. throw nullconst; + 2. if ({65537 % {139 * ({1681635630 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {139 * ({1681635630 ^ 235914642})}}) + goto AB + -> ConditionalJump[IF_ICMPEQ] #V -> #U + -> ConditionalJump[IF_ICMPNE] #V -> #AB + -> TryCatch range: [V...U] -> W ([Ljava/lang/IllegalAccessException;]) + <- UnconditionalJump[GOTO] #K -> #V +===#Block AB(size=13, flags=0)=== + 0. if ({65537 % {197 * ({1678716225 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {197 * ({1678716225 ^ 1594251326})}}) + goto AB + 1. if ({65537 % {199 * ({608936940 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1835327768)})}} != {65537 % {199 * ({608936940 ^ {249054319 ^ lvar10}})}}) + goto AB + 2. _consume({1597765569 ^ lvar10}); + 3. if ({65537 % {33 * ({986401313 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {33 * ({986401313 ^ 37903355})}}) + goto AB + 4. if ({65537 % {147 * ({219066752 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {147 * ({219066752 ^ {1476657618 ^ lvar10}})}}) + goto AB + 5. _consume({326075738 ^ lvar10}); + 6. if ({65537 % {17 * ({581176272 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({581176272 ^ 235914642})}}) + goto AB + 7. if ({65537 % {165 * ({1147761769 ^ java.lang.StrictMath.min(1394584022, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {165 * ({1147761769 ^ {1299469601 ^ lvar10}})}}) + goto AB + 8. _consume({401168802 ^ lvar10}); + 9. if ({65537 % {135 * ({954340815 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {135 * ({954340815 ^ 0})}}) + goto AB + 10. if ({65537 % {75 * ({1167888247 ^ java.lang.Math.floorDiv(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 1688355228)})}} != {65537 % {75 * ({1167888247 ^ {2066039075 ^ lvar10}})}}) + goto AB + 11. _consume({805523482 ^ lvar10}); + 12. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AB -> #AB + <- ConditionalJump[IF_ICMPNE] #I -> #AB + <- ConditionalJump[IF_ICMPNE] #V -> #AB + <- ConditionalJump[IF_ICMPNE] #Z -> #AB + <- ConditionalJump[IF_ICMPNE] #S -> #AB + <- ConditionalJump[IF_ICMPNE] #AB -> #AB +===#Block U(size=2, flags=0)=== + 0. throw new java/lang/IllegalAccessException(); + 1. if ({65537 % {147 * ({2110620885 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {147 * ({2110620885 ^ 111804805})}}) + goto AD + -> TryCatch range: [V...U] -> W ([Ljava/lang/IllegalAccessException;]) + -> ConditionalJump[IF_ICMPNE] #U -> #AD + <- ConditionalJump[IF_ICMPEQ] #V -> #U +===#Block W(size=3, flags=0)=== + 0. _consume(catch()); + 1. if ({65537 % {25 * ({1063640007 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {25 * ({1063640007 ^ -1})}}) + goto AE + 2. goto L + -> UnconditionalJump[GOTO] #W -> #L + -> ConditionalJump[IF_ICMPNE] #W -> #AE + <- TryCatch range: [V...U] -> W ([Ljava/lang/IllegalAccessException;]) + <- TryCatch range: [V...U] -> W ([Ljava/lang/IllegalAccessException;]) +===#Block L(size=2, flags=0)=== + 0. if (dev.skidfuscator.testclasses.exclusion.UnobfuscatedTestClass.data[{701717771 ^ lvar10}] == lvar6) + goto N + 1. if ({65537 % {169 * ({1558692472 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {169 * ({1558692472 ^ 1})}}) + goto AE + -> ConditionalJump[IF_ICMPEQ] #L -> #N + -> Immediate #L -> #M + -> ConditionalJump[IF_ICMPNE] #L -> #AE + <- Immediate #J -> #L + <- UnconditionalJump[GOTO] #W -> #L +===#Block AE(size=7, flags=0)=== + 0. if ({65537 % {171 * ({1117692001 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {171 * ({1117692001 ^ -1})}}) + goto AE + 1. if ({65537 % {5 * ({330107120 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {5 * ({330107120 ^ {1216743580 ^ lvar10}})}}) + goto AE + 2. _consume({1611630797 ^ lvar10}); + 3. if ({65537 % {25 * ({1658682634 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {25 * ({1658682634 ^ 1})}}) + goto AE + 4. if ({65537 % {97 * ({1622527528 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {97 * ({1622527528 ^ {1055780153 ^ lvar10}})}}) + goto AE + 5. _consume({506337821 ^ lvar10}); + 6. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AE -> #AE + <- ConditionalJump[IF_ICMPNE] #AE -> #AE + <- ConditionalJump[IF_ICMPNE] #L -> #AE + <- ConditionalJump[IF_ICMPNE] #W -> #AE +===#Block M(size=4, flags=0)=== + 0. lvar3 = new java.lang.IllegalArgumentException; + 1. _consume(lvar3.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar6)))); + 2. throw lvar3; + 3. if ({65537 % {195 * ({1354774324 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {195 * ({1354774324 ^ 66420502})}}) + goto AD + -> ConditionalJump[IF_ICMPNE] #M -> #AD + <- Immediate #L -> #M +===#Block AD(size=10, flags=0)=== + 0. if ({65537 % {119 * ({1537298630 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {119 * ({1537298630 ^ 111804805})}}) + goto AD + 1. if ({65537 % {195 * ({1386709888 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {195 * ({1386709888 ^ {544039179 ^ lvar10}})}}) + goto AD + 2. _consume({1904267273 ^ lvar10}); + 3. if ({65537 % {149 * ({1260789343 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {149 * ({1260789343 ^ 66420502})}}) + goto AD + 4. if ({65537 % {137 * ({1710717329 ^ java.lang.StrictMath.floorMod(1820564784, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {137 * ({1710717329 ^ {1652559946 ^ lvar10}})}}) + goto AD + 5. _consume({110405781 ^ lvar10}); + 6. if ({65537 % {17 * ({48513479 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({48513479 ^ 1})}}) + goto AD + 7. if ({65537 % {57 * ({1232596160 ^ java.lang.Integer.compare(1198832818, dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {57 * ({1232596160 ^ {14925890 ^ lvar10}})}}) + goto AD + 8. _consume({613660170 ^ lvar10}); + 9. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AD -> #AD + <- ConditionalJump[IF_ICMPNE] #H -> #AD + <- ConditionalJump[IF_ICMPNE] #AD -> #AD + <- ConditionalJump[IF_ICMPNE] #M -> #AD + <- ConditionalJump[IF_ICMPNE] #U -> #AD +===#Block N(size=2, flags=0)=== + 0. return; + 1. if ({65537 % {129 * ({1465931937 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {129 * ({1465931937 ^ 0})}}) + goto AC + -> ConditionalJump[IF_ICMPNE] #N -> #AC + <- ConditionalJump[IF_ICMPEQ] #L -> #N +===#Block AC(size=13, flags=0)=== + 0. if ({65537 % {65 * ({1301071467 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {65 * ({1301071467 ^ 581174415})}}) + goto AC + 1. if ({65537 % {51 * ({1515029398 ^ java.lang.Integer.rotateLeft(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10), 2103019665)})}} != {65537 % {51 * ({1515029398 ^ {893981250 ^ lvar10}})}}) + goto AC + 2. _consume({1446409840 ^ lvar10}); + 3. if ({65537 % {115 * ({1178639310 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {115 * ({1178639310 ^ 0})}}) + goto AC + 4. if ({65537 % {113 * ({1120077318 ^ java.lang.Character.getType(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {113 * ({1120077318 ^ {1156110062 ^ lvar10}})}}) + goto AC + 5. _consume({906919752 ^ lvar10}); + 6. if ({65537 % {31 * ({1643524366 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {31 * ({1643524366 ^ 19457013})}}) + goto AC + 7. if ({65537 % {131 * ({1463875363 ^ java.lang.Character.toLowerCase(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {131 * ({1463875363 ^ {592625078 ^ lvar10}})}}) + goto AC + 8. _consume({307640782 ^ lvar10}); + 9. if ({65537 % {181 * ({1476078322 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {181 * ({1476078322 ^ 77700181})}}) + goto AC + 10. if ({65537 % {17 * ({1506030693 ^ java.lang.StrictMath.absExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {17 * ({1506030693 ^ {833619153 ^ lvar10}})}}) + goto AC + 11. _consume({271248693 ^ lvar10}); + 12. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AC -> #AC + <- ConditionalJump[IF_ICMPNE] #F -> #AC + <- ConditionalJump[IF_ICMPNE] #G -> #AC + <- ConditionalJump[IF_ICMPNE] #J -> #AC + <- ConditionalJump[IF_ICMPNE] #N -> #AC + <- ConditionalJump[IF_ICMPNE] #AC -> #AC +===#Block AA(size=22, flags=0)=== + 0. if ({65537 % {69 * ({557381387 ^ java.lang.StrictMath.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {69 * ({557381387 ^ 171031009})}}) + goto AA + 1. if ({65537 % {179 * ({646373645 ^ java.lang.StrictMath.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {179 * ({646373645 ^ {2007615715 ^ lvar10}})}}) + goto AA + 2. _consume({858338061 ^ lvar10}); + 3. if ({65537 % {109 * ({1485820007 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {109 * ({1485820007 ^ 0})}}) + goto AA + 4. if ({65537 % {105 * ({1198192893 ^ java.awt.event.KeyEvent.getExtendedKeyCodeForChar(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {105 * ({1198192893 ^ {678021821 ^ lvar10}})}}) + goto AA + 5. _consume({1294142648 ^ lvar10}); + 6. if ({65537 % {193 * ({917795662 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {193 * ({917795662 ^ 970747395})}}) + goto AA + 7. if ({65537 % {101 * ({404500609 ^ java.lang.Integer.reverseBytes(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {101 * ({404500609 ^ {330024636 ^ lvar10}})}}) + goto AA + 8. _consume({347670800 ^ lvar10}); + 9. if ({65537 % {69 * ({993499522 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {69 * ({993499522 ^ 1})}}) + goto AA + 10. if ({65537 % {77 * ({181296939 ^ java.lang.Integer.signum(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {77 * ({181296939 ^ {732805485 ^ lvar10}})}}) + goto AA + 11. _consume({1619604414 ^ lvar10}); + 12. if ({65537 % {95 * ({1207081061 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {95 * ({1207081061 ^ -1})}}) + goto AA + 13. if ({65537 % {165 * ({1237374496 ^ java.lang.Character.digit('', dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {165 * ({1237374496 ^ {1045595117 ^ lvar10}})}}) + goto AA + 14. _consume({427800009 ^ lvar10}); + 15. if ({65537 % {85 * ({1100248794 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {85 * ({1100248794 ^ 27441856})}}) + goto AA + 16. if ({65537 % {123 * ({2025355521 ^ java.lang.Math.incrementExact(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {123 * ({2025355521 ^ {1065932738 ^ lvar10}})}}) + goto AA + 17. _consume({20284411 ^ lvar10}); + 18. if ({65537 % {187 * ({1124178481 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {187 * ({1124178481 ^ 2})}}) + goto AA + 19. if ({65537 % {127 * ({2008412479 ^ java.lang.Integer.numberOfTrailingZeros(dzmtsyhedbeyduip.bgzkmtovhuxplopt.mozumcvumeseeeoo(lvar10))})}} != {65537 % {127 * ({2008412479 ^ {1463752575 ^ lvar10}})}}) + goto AA + 20. _consume({2080369144 ^ lvar10}); + 21. throw new java/io/IOException(); + -> ConditionalJump[IF_ICMPNE] #AA -> #AA + <- ConditionalJump[IF_ICMPNE] #A -> #AA + <- ConditionalJump[IF_ICMPNE] #K -> #AA + <- ConditionalJump[IF_ICMPNE] #AA -> #AA + <- ConditionalJump[IF_ICMPNE] #O -> #AA + <- ConditionalJump[IF_ICMPNE] #T -> #AA + <- ConditionalJump[IF_ICMPNE] #X -> #AA + <- ConditionalJump[IF_ICMPNE] #Y -> #AA + <- ConditionalJump[IF_ICMPNE] #Q -> #AA diff --git a/dev.skidfuscator.obfuscator/skidfuscator-error-zjl.txt b/dev.skidfuscator.obfuscator/skidfuscator-error-zjl.txt new file mode 100644 index 0000000..6d0e912 --- /dev/null +++ b/dev.skidfuscator.obfuscator/skidfuscator-error-zjl.txt @@ -0,0 +1,673 @@ +handler=Block #K, types=[Ljava/lang/IllegalStateException;], range=[Block #C, Block #D, Block #F, Block #G, Block #E, Block #I, Block #H] +handler=Block #J, types=[Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;], range=[Block #C, Block #D, Block #F, Block #G, Block #E, Block #I, Block #H] +handler=Block #T, types=[Ljava/io/IOException;], range=[Block #S, Block #R] +handler=Block #W, types=[Ljava/lang/RuntimeException;], range=[Block #V, Block #U] +handler=Block #Z, types=[Ljava/lang/RuntimeException;], range=[Block #Y, Block #X] +handler=Block #AC, types=[Ljava/io/IOException;], range=[Block #AB, Block #AA] +handler=Block #AF, types=[Ljava/io/IOException;], range=[Block #AE, Block #AD] +handler=Block #AI, types=[Ljava/io/IOException;], range=[Block #AH, Block #AG] +===#Block A(size=3, flags=1)=== + 0. synth(lvar0 = lvar0); + 1. lvar18 = "A : var expect: -1"; + 2. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto P + -> Immediate #A -> #B + -> ConditionalJump[IF_ICMPNE] #A -> #P +===#Block B(size=0, flags=0)=== + -> Immediate #B -> #C + <- Immediate #A -> #B +===#Block C(size=7, flags=0)=== + 0. _consume(dev.skidfuscator.testclasses.opaque.OpaqueConditionClazz$AES.main(new java.lang.String[{246959904 ^ lvar10}])); + 1. lvar142 = "[Constant] 0 -> 246959904 predicate=246959904"; + 2. if (dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{246959904 ^ lvar10}] != {246959904 ^ lvar10}) + goto O + 3. lvar146 = "[Constant] 0 -> 246959904 predicate=246959904"; + 4. lvar144 = "[Constant] 0 -> 246959904 predicate=246959904"; + 5. lvar22 = "C : var expect: 1307126627"; + 6. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1307126627) + goto AL + -> ConditionalJump[IF_ICMPNE] #C -> #AL + -> ConditionalJump[IF_ICMPNE] #C -> #O + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> Immediate #C -> #D + <- Immediate #B -> #C +===#Block D(size=5, flags=0)=== + 0. svar12 = {dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{86509569 ^ lvar10}] ^ lvar10}; + 1. lvar102 = "[Constant] 1 -> 86509569 predicate=86509568"; + 2. switch (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(svar12)) { + case 81101480: + goto #G + default: + goto #E + } + 3. lvar56 = "D : var expect: 1717058136"; + 4. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1717058136) + goto AU + -> Switch[81101480] #D -> #G + -> ConditionalJump[IF_ICMPNE] #D -> #AU + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> DefaultSwitch #D -> #E + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- Immediate #C -> #D +===#Block E(size=5, flags=0)=== + 0. lvar7 = {-1380444818 ^ lvar10}; + 1. lvar104 = "[Constant] -5 -> -1380444818 predicate=1380444821"; + 2. lvar58 = "E : var expect: 4"; + 3. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 4) + goto AQ + 4. goto AB + -> ConditionalJump[IF_ICMPNE] #E -> #AQ + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> UnconditionalJump[GOTO] #E -> #AB + <- DefaultSwitch #D -> #E +===#Block AB(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 119289491) + goto AA + 1. throw nullconst; + 2. lvar72 = "AB : var expect: 119289491"; + 3. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 119289491) + goto AZ + -> ConditionalJump[IF_ICMPNE] #AB -> #AZ + -> TryCatch range: [AB...AA] -> AC ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPEQ] #AB -> #AA + <- UnconditionalJump[GOTO] #E -> #AB +===#Block AA(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar24 = "AA : var expect: -2115371073"; + 2. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != -2115371073) + goto AJ + -> ConditionalJump[IF_ICMPNE] #AA -> #AJ + -> TryCatch range: [AB...AA] -> AC ([Ljava/io/IOException;]) + <- ConditionalJump[IF_ICMPEQ] #AB -> #AA +===#Block AC(size=4, flags=0)=== + 0. _consume(catch()); + 1. lvar50 = "AC : var expect: 0"; + 2. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AS + 3. goto H + -> ConditionalJump[IFNE] #AC -> #AS + -> UnconditionalJump[GOTO] #AC -> #H + <- TryCatch range: [AB...AA] -> AC ([Ljava/io/IOException;]) + <- TryCatch range: [AB...AA] -> AC ([Ljava/io/IOException;]) +===#Block AS(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AS + 2. if (java.lang.Integer.numberOfTrailingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2126190611 ^ lvar10}) + goto AS + 3. lvar100 = "[Constant] 1533136363 -> 2126190611 predicate=635098616"; + 4. _consume({1372789340 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IFNE] #AS -> #AS + <- ConditionalJump[IFNE] #AC -> #AS + <- ConditionalJump[IFNE] #AS -> #AS +===#Block AZ(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 119289491) + goto AZ + 2. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1415843332 ^ lvar10}) + goto AZ + 3. lvar134 = "[Constant] 240830319 -> 1415843332 predicate=1514064235"; + 4. _consume({213937309 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AZ -> #AZ + <- ConditionalJump[IF_ICMPNE] #AB -> #AZ + <- ConditionalJump[IF_ICMPNE] #AZ -> #AZ +===#Block AU(size=6, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1717058136) + goto AU + 2. if (java.lang.Math.max(1717058136, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {135912782 ^ lvar10}) + goto AU + 3. lvar82 = "[Constant] 224589921 -> 135912782 predicate=91956527"; + 4. _consume({1938054222 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AU -> #AU + <- ConditionalJump[IF_ICMPNE] #D -> #AU + <- ConditionalJump[IF_ICMPNE] #AU -> #AU +===#Block G(size=5, flags=0)=== + 0. lvar7 = {782781548 ^ lvar10}; + 1. lvar124 = "[Constant] 3 -> 782781548 predicate=782781551"; + 2. lvar74 = "G : var expect: 174471872"; + 3. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 174471872) + goto AP + 4. goto AE + -> UnconditionalJump[GOTO] #G -> #AE + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> ConditionalJump[IF_ICMPNE] #G -> #AP + <- Switch[81101480] #D -> #G +===#Block AE(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 116000559) + goto AD + 1. throw nullconst; + 2. lvar52 = "AE : var expect: 0"; + 3. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != 0) + goto AP + -> ConditionalJump[IFNE] #AE -> #AP + -> TryCatch range: [AE...AD] -> AF ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPEQ] #AE -> #AD + <- UnconditionalJump[GOTO] #G -> #AE +===#Block AD(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar64 = "AD : var expect: 672834169"; + 2. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != 672834169) + goto AJ + -> TryCatch range: [AE...AD] -> AF ([Ljava/io/IOException;]) + -> ConditionalJump[IF_ICMPNE] #AD -> #AJ + <- ConditionalJump[IF_ICMPEQ] #AE -> #AD +===#Block AF(size=4, flags=0)=== + 0. _consume(catch()); + 1. lvar46 = "AF : var expect: 1"; + 2. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 3. goto H + -> ConditionalJump[IF_ICMPNE] #AF -> #AJ + -> UnconditionalJump[GOTO] #AF -> #H + <- TryCatch range: [AE...AD] -> AF ([Ljava/io/IOException;]) + <- TryCatch range: [AE...AD] -> AF ([Ljava/io/IOException;]) +===#Block H(size=6, flags=0)=== + 0. _consume(lvar0.self(lvar7, 1388402073)); + 1. lvar2 = new java.lang.IllegalArgumentException; + 2. _consume(lvar2.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar7)))); + 3. throw lvar2; + 4. lvar54 = "H : var expect: -221101857"; + 5. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -221101857) + goto AT + -> ConditionalJump[IF_ICMPNE] #H -> #AT + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- UnconditionalJump[GOTO] #AC -> #H + <- UnconditionalJump[GOTO] #T -> #H + <- UnconditionalJump[GOTO] #AF -> #H +===#Block O(size=4, flags=0)=== + 0. if (java.lang.Integer.highestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) == 67108864) + goto I + 1. lvar78 = "O : var expect: 0"; + 2. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != 0) + goto AT + 3. goto AH + -> UnconditionalJump[GOTO] #O -> #AH + -> ConditionalJump[IF_ICMPEQ] #O -> #I + -> ConditionalJump[IFNE] #O -> #AT + <- ConditionalJump[IF_ICMPNE] #C -> #O +===#Block AT(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != 0) + goto AT + 2. if (java.lang.Integer.divideUnsigned(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 717799781) != {1875980090 ^ lvar10}) + goto AT + 3. lvar118 = "[Constant] 1565228851 -> 1875980090 predicate=848973833"; + 4. _consume({1279866343 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -221101857) + goto AT + 7. if (java.lang.StrictMath.negateExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1435161180 ^ lvar10}) + goto AT + 8. lvar120 = "[Constant] 1729135189 -> 1435161180 predicate=848973833"; + 9. _consume({1670266440 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IFNE] #AT -> #AT + <- ConditionalJump[IFNE] #AT -> #AT + <- ConditionalJump[IFNE] #O -> #AT + <- ConditionalJump[IF_ICMPNE] #H -> #AT +===#Block I(size=6, flags=0)=== + 0. lvar5 = new java.lang.IllegalArgumentException; + 1. _consume(lvar5.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", {1868635508 ^ lvar10})))); + 2. lvar148 = "[Constant] 2 -> 1868635508 predicate=1868635510"; + 3. throw lvar5; + 4. lvar26 = "I : var expect: 130827894"; + 5. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 130827894) + goto AM + -> TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + -> TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + -> ConditionalJump[IF_ICMPNE] #I -> #AM + <- ConditionalJump[IF_ICMPEQ] #O -> #I +===#Block AM(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 130827894) + goto AM + 2. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {534608025 ^ lvar10}) + goto AM + 3. lvar150 = "[Constant] 799953346 -> 534608025 predicate=812853595"; + 4. _consume({1482674342 ^ lvar10}); + 5. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AM -> #AM + <- ConditionalJump[IF_ICMPNE] #AM -> #AM + <- ConditionalJump[IF_ICMPNE] #I -> #AM +===#Block J(size=6, flags=0)=== + 0. lvar1 = catch(); + 1. _consume(lvar1.printStackTrace()); + 2. lvar6 = {-1642027151 ^ lvar10}; + 3. lvar84 = "[Constant] -1 -> -1642027151 predicate=1642027150"; + 4. lvar36 = "J : var expect: 844826032"; + 5. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 844826032) + goto AP + -> ConditionalJump[IF_ICMPNE] #J -> #AP + -> Immediate #J -> #L + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) + <- TryCatch range: [C...H] -> J ([Ljavax/crypto/BadPaddingException;, Ljavax/crypto/IllegalBlockSizeException;, Ljavax/crypto/NoSuchPaddingException;, Ljava/security/InvalidKeyException;, Ljava/security/NoSuchAlgorithmException;]) +===#Block AP(size=16, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 174471872) + goto AP + 2. if (java.lang.Math.incrementExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2030182280 ^ lvar10}) + goto AP + 3. lvar98 = "[Constant] 1632662628 -> 2030182280 predicate=408054764"; + 4. _consume({1744682858 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != 0) + goto AP + 7. if (java.lang.Math.floorDiv(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 740656974) != {2056186139 ^ lvar10}) + goto AP + 8. lvar96 = "[Constant] 1658618615 -> 2056186139 predicate=408054764"; + 9. _consume({1914135807 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 11. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 844826032) + goto AP + 12. if (java.lang.Integer.reverse(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1146406566 ^ lvar10}) + goto AP + 13. lvar94 = "[Constant] 1543941450 -> 1146406566 predicate=408054764"; + 14. _consume({1985284243 ^ lvar10}); + 15. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AP -> #AP + <- ConditionalJump[IF_ICMPNE] #J -> #AP + <- ConditionalJump[IF_ICMPNE] #AP -> #AP + <- ConditionalJump[IFNE] #AE -> #AP + <- ConditionalJump[IF_ICMPNE] #G -> #AP +===#Block K(size=6, flags=0)=== + 0. lvar4 = catch(); + 1. lvar6 = {323490043 ^ lvar10}; + 2. lvar80 = "[Constant] 4 -> 323490043 predicate=323490047"; + 3. lvar20 = "K : var expect: 2096829093"; + 4. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 2096829093) + goto AK + 5. goto Y + -> ConditionalJump[IF_ICMPNE] #K -> #AK + -> UnconditionalJump[GOTO] #K -> #Y + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) + <- TryCatch range: [C...H] -> K ([Ljava/lang/IllegalStateException;]) +===#Block Y(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 161914808) + goto X + 1. throw nullconst; + 2. lvar30 = "Y : var expect: 161914808"; + 3. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 161914808) + goto AO + -> ConditionalJump[IF_ICMPEQ] #Y -> #X + -> ConditionalJump[IF_ICMPNE] #Y -> #AO + -> TryCatch range: [Y...X] -> Z ([Ljava/lang/RuntimeException;]) + <- UnconditionalJump[GOTO] #K -> #Y +===#Block X(size=3, flags=0)=== + 0. throw new java/lang/RuntimeException(); + 1. lvar34 = "X : var expect: 1"; + 2. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AK + -> ConditionalJump[IF_ICMPNE] #X -> #AK + -> TryCatch range: [Y...X] -> Z ([Ljava/lang/RuntimeException;]) + <- ConditionalJump[IF_ICMPEQ] #Y -> #X +===#Block Z(size=4, flags=0)=== + 0. _consume(catch()); + 1. lvar16 = "Z : var expect: 1"; + 2. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 3. goto L + -> UnconditionalJump[GOTO] #Z -> #L + -> ConditionalJump[IF_ICMPNE] #Z -> #AJ + <- TryCatch range: [Y...X] -> Z ([Ljava/lang/RuntimeException;]) + <- TryCatch range: [Y...X] -> Z ([Ljava/lang/RuntimeException;]) +===#Block L(size=4, flags=0)=== + 0. if (dev.skidfuscator.testclasses.exclusion.ObfuscatedTestClass.data[{920850576 ^ lvar10}] == lvar6) + goto Q + 1. lvar106 = "[Constant] 2 -> 920850576 predicate=920850578"; + 2. lvar68 = "L : var expect: 173524729"; + 3. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != 173524729) + goto AR + -> ConditionalJump[IF_ICMPEQ] #L -> #Q + -> ConditionalJump[IF_ICMPNE] #L -> #AR + -> Immediate #L -> #M + <- UnconditionalJump[GOTO] #Z -> #L + <- Immediate #J -> #L +===#Block M(size=5, flags=0)=== + 0. lvar3 = new java.lang.IllegalArgumentException; + 1. _consume(lvar3.(dynamic_invoke(java.lang.invoke.StringConcatFactory.makeConcatWithConstants("Failed test! Stage: ", lvar6)))); + 2. throw lvar3; + 3. lvar70 = "M : var expect: -1"; + 4. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto AY + -> ConditionalJump[IF_ICMPNE] #M -> #AY + <- Immediate #L -> #M +===#Block AY(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto AY + 2. if (java.lang.Character.digit(1730944408, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1414932870 ^ lvar10}) + goto AY + 3. lvar90 = "[Constant] 118288580 -> 1414932870 predicate=1398462786"; + 4. _consume({1129199961 ^ lvar10}); + 5. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AY -> #AY + <- ConditionalJump[IF_ICMPNE] #M -> #AY + <- ConditionalJump[IF_ICMPNE] #AY -> #AY +===#Block AR(size=11, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != 173524729) + goto AR + 2. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 400518036) != {1447666497 ^ lvar10}) + goto AR + 3. lvar116 = "[Constant] 1788260121 -> 1447666497 predicate=1021250648"; + 4. _consume({1374273480 ^ lvar10}); + 5. throw new java/lang/RuntimeException("Failed to proper vm"); + 6. if (java.lang.StrictMath.max(1707464269, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1707464269) + goto AR + 7. if (java.lang.StrictMath.max(1707464269, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1786344253 ^ lvar10}) + goto AR + 8. lvar114 = "[Constant] 1453752165 -> 1786344253 predicate=1021250648"; + 9. _consume({185204503 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AR -> #AR + <- ConditionalJump[IF_ICMPNE] #R -> #AR + <- ConditionalJump[IF_ICMPNE] #L -> #AR + <- ConditionalJump[IF_ICMPNE] #AR -> #AR +===#Block Q(size=4, flags=0)=== + 0. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) == 5) + goto N + 1. lvar12 = "Q : var expect: 68094140"; + 2. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != 68094140) + goto P + 3. goto V + -> UnconditionalJump[GOTO] #Q -> #V + -> ConditionalJump[IF_ICMPEQ] #Q -> #N + -> ConditionalJump[IF_ICMPNE] #Q -> #P + <- ConditionalJump[IF_ICMPEQ] #L -> #Q +===#Block N(size=3, flags=0)=== + 0. return; + 1. lvar32 = "N : var expect: 314"; + 2. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 314) + goto AJ + -> ConditionalJump[IF_ICMPNE] #N -> #AJ + <- ConditionalJump[IF_ICMPEQ] #Q -> #N +===#Block AJ(size=26, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != 672834169) + goto AJ + 2. if (java.lang.StrictMath.floorMod(6909346245057239445L, 1346717428) != {1846725310 ^ lvar10}) + goto AJ + 3. lvar158 = "[Constant] 655625094 -> 1846725310 predicate=1225179448"; + 4. _consume({1218594415 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 7. if (java.lang.Math.floorDiv(304399280, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {433705380 ^ lvar10}) + goto AJ + 8. lvar156 = "[Constant] 1356796060 -> 433705380 predicate=1225179448"; + 9. _consume({1178814505 ^ lvar10}); + 10. throw new java/lang/RuntimeException("Failed to proper vm"); + 11. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 314) + goto AJ + 12. if (java.lang.StrictMath.floorDiv(2061171791, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {334178431 ^ lvar10}) + goto AJ + 13. lvar154 = "[Constant] 1525541191 -> 334178431 predicate=1225179448"; + 14. _consume({1912106380 ^ lvar10}); + 15. throw new java/lang/RuntimeException("Failed to proper vm"); + 16. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != -2115371073) + goto AJ + 17. if (java.lang.Integer.sum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 2092181537) != {72919272 ^ lvar10}) + goto AJ + 18. lvar160 = "[Constant] 1298033104 -> 72919272 predicate=1225179448"; + 19. _consume({114206829 ^ lvar10}); + 20. throw new java/lang/RuntimeException("Failed to proper vm"); + 21. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AJ + 22. if (java.lang.Integer.signum(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {161741336 ^ lvar10}) + goto AJ + 23. lvar152 = "[Constant] 1084570400 -> 161741336 predicate=1225179448"; + 24. _consume({1314252186 ^ lvar10}); + 25. throw new java/io/IOException("double"); + -> ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- ConditionalJump[IF_ICMPNE] #AA -> #AJ + <- ConditionalJump[IF_ICMPNE] #N -> #AJ + <- ConditionalJump[IF_ICMPNE] #AJ -> #AJ + <- ConditionalJump[IF_ICMPNE] #AF -> #AJ + <- ConditionalJump[IF_ICMPNE] #Z -> #AJ + <- ConditionalJump[IF_ICMPNE] #AD -> #AJ +===#Block V(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 74656824) + goto U + 1. throw nullconst; + 2. lvar60 = "V : var expect: 23"; + 3. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 23) + goto AV + -> ConditionalJump[IF_ICMPNE] #V -> #AV + -> TryCatch range: [V...U] -> W ([Ljava/lang/RuntimeException;]) + -> ConditionalJump[IF_ICMPEQ] #V -> #U + <- UnconditionalJump[GOTO] #Q -> #V +===#Block U(size=3, flags=0)=== + 0. throw new java/lang/RuntimeException(); + 1. lvar44 = "U : var expect: 118257104"; + 2. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != 118257104) + goto AO + -> ConditionalJump[IF_ICMPNE] #U -> #AO + -> TryCatch range: [V...U] -> W ([Ljava/lang/RuntimeException;]) + <- ConditionalJump[IF_ICMPEQ] #V -> #U +===#Block AO(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != 118257104) + goto AO + 2. if (java.lang.StrictMath.floorMod(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 218158239) != {1846145018 ^ lvar10}) + goto AO + 3. lvar136 = "[Constant] 1748173870 -> 1846145018 predicate=104524756"; + 4. _consume({1422396881 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 161914808) + goto AO + 7. if (java.lang.StrictMath.abs(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1048097773 ^ lvar10}) + goto AO + 8. lvar138 = "[Constant] 943872057 -> 1048097773 predicate=104524756"; + 9. _consume({1106757231 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AO -> #AO + <- ConditionalJump[IF_ICMPNE] #Y -> #AO + <- ConditionalJump[IF_ICMPNE] #AO -> #AO + <- ConditionalJump[IF_ICMPNE] #U -> #AO +===#Block W(size=4, flags=0)=== + 0. _consume(catch()); + 1. lvar42 = "W : var expect: -199414816"; + 2. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != -199414816) + goto AL + 3. goto P + -> ConditionalJump[IF_ICMPNE] #W -> #AL + -> UnconditionalJump[GOTO] #W -> #P + <- TryCatch range: [V...U] -> W ([Ljava/lang/RuntimeException;]) + <- TryCatch range: [V...U] -> W ([Ljava/lang/RuntimeException;]) +===#Block AV(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 23) + goto AV + 2. if (java.lang.StrictMath.floorDiv(1751083165, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {575435872 ^ lvar10}) + goto AV + 3. lvar140 = "[Constant] 737862807 -> 575435872 predicate=162959607"; + 4. _consume({2037543923 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AV -> #AV + <- ConditionalJump[IF_ICMPNE] #V -> #AV + <- ConditionalJump[IF_ICMPNE] #AV -> #AV +===#Block AK(size=11, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1) + goto AK + 2. if (java.lang.Integer.lowestOneBit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1320643140 ^ lvar10}) + goto AK + 3. lvar164 = "[Constant] 799158104 -> 1320643140 predicate=1628783900"; + 4. _consume({941867786 ^ lvar10}); + 5. throw new java/io/IOException("Failed to proper vm"); + 6. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 2096829093) + goto AK + 7. if (java.lang.Integer.rotateRight(1053075807, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1992433651 ^ lvar10}) + goto AK + 8. lvar162 = "[Constant] 399989487 -> 1992433651 predicate=1628783900"; + 9. _consume({880283429 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AK -> #AK + <- ConditionalJump[IF_ICMPNE] #X -> #AK + <- ConditionalJump[IF_ICMPNE] #AK -> #AK + <- ConditionalJump[IF_ICMPNE] #K -> #AK +===#Block AH(size=4, flags=0)=== + 0. if (pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10) == 26034181) + goto AG + 1. throw nullconst; + 2. lvar28 = "AH : var expect: 26034181"; + 3. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 26034181) + goto AN + -> ConditionalJump[IF_ICMPNE] #AH -> #AN + -> ConditionalJump[IF_ICMPEQ] #AH -> #AG + -> TryCatch range: [AH...AG] -> AI ([Ljava/io/IOException;]) + <- UnconditionalJump[GOTO] #O -> #AH +===#Block AG(size=3, flags=0)=== + 0. throw new java/io/IOException(); + 1. lvar66 = "AG : var expect: 96268669"; + 2. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 96268669) + goto AX + -> ConditionalJump[IF_ICMPNE] #AG -> #AX + -> TryCatch range: [AH...AG] -> AI ([Ljava/io/IOException;]) + <- ConditionalJump[IF_ICMPEQ] #AH -> #AG +===#Block AI(size=4, flags=0)=== + 0. _consume(catch()); + 1. lvar40 = "AI : var expect: 0"; + 2. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AQ + 3. goto P + -> ConditionalJump[IFNE] #AI -> #AQ + -> UnconditionalJump[GOTO] #AI -> #P + <- TryCatch range: [AH...AG] -> AI ([Ljava/io/IOException;]) + <- TryCatch range: [AH...AG] -> AI ([Ljava/io/IOException;]) +===#Block P(size=23, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Character.digit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1157052188) != -1) + goto P + 2. if (java.lang.Character.digit(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1157052188) != {2087345862 ^ lvar10}) + goto P + 3. lvar132 = "[Constant] 1297991678 -> 2087345862 predicate=825727288"; + 4. _consume({233399223 ^ lvar10}); + 5. throw new java/lang/RuntimeException("Failed to proper vm"); + 6. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != -1) + goto P + 7. if (java.lang.Character.getNumericValue(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1431189994 ^ lvar10}) + goto P + 8. lvar126 = "[Constant] 1685692626 -> 1431189994 predicate=825727288"; + 9. _consume({2051377248 ^ lvar10}); + 10. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 11. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1127856956) != 21977833) + goto P + 12. if (java.lang.Math.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1127856956) != {1630057163 ^ lvar10}) + goto P + 13. lvar128 = "[Constant] 1344220147 -> 1630057163 predicate=825727288"; + 14. _consume({370507441 ^ lvar10}); + 15. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 16. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != 68094140) + goto P + 17. if (java.lang.Integer.min(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1105305961) != {201406604 ^ lvar10}) + goto P + 18. lvar130 = "[Constant] 1026990516 -> 201406604 predicate=825727288"; + 19. _consume({1445331241 ^ lvar10}); + 20. throw new java/io/IOException(); + 21. lvar76 = "P : var expect: 257657323"; + 22. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 257657323) + goto BA + -> ConditionalJump[IF_ICMPNE] #P -> #BA + -> ConditionalJump[IF_ICMPNE] #P -> #P + <- ConditionalJump[IF_ICMPNE] #P -> #P + <- ConditionalJump[IF_ICMPNE] #F -> #P + <- UnconditionalJump[GOTO] #W -> #P + <- ConditionalJump[IF_ICMPNE] #Q -> #P + <- UnconditionalJump[GOTO] #AI -> #P + <- ConditionalJump[IF_ICMPNE] #T -> #P + <- ConditionalJump[IF_ICMPNE] #A -> #P +===#Block BA(size=6, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 257657323) + goto BA + 2. if (java.lang.Integer.hashCode(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {2139306365 ^ lvar10}) + goto BA + 3. lvar112 = "[Constant] 2133386653 -> 2139306365 predicate=11263200"; + 4. _consume({1300692355 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #BA -> #BA + <- ConditionalJump[IF_ICMPNE] #BA -> #BA + <- ConditionalJump[IF_ICMPNE] #P -> #BA +===#Block AQ(size=11, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 4) + goto AQ + 2. if (java.lang.Integer.numberOfLeadingZeros(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1721181494 ^ lvar10}) + goto AQ + 3. lvar168 = "[Constant] 1091931915 -> 1721181494 predicate=662874685"; + 4. _consume({1424722734 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 0) + goto AQ + 7. if (java.lang.Character.getType(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1208442658 ^ lvar10}) + goto AQ + 8. lvar166 = "[Constant] 1871050015 -> 1208442658 predicate=662874685"; + 9. _consume({144412276 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AQ -> #AQ + <- ConditionalJump[IF_ICMPNE] #E -> #AQ + <- ConditionalJump[IFNE] #AI -> #AQ + <- ConditionalJump[IF_ICMPNE] #AQ -> #AQ +===#Block AX(size=6, flags=0)=== + 0. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 1. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 96268669) + goto AX + 2. if (java.lang.Character.toLowerCase(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {1217868518 ^ lvar10}) + goto AX + 3. lvar122 = "[Constant] 800241795 -> 1217868518 predicate=1730513509"; + 4. _consume({2124593970 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("double"); + -> ConditionalJump[IF_ICMPNE] #AX -> #AX + <- ConditionalJump[IF_ICMPNE] #AX -> #AX + <- ConditionalJump[IF_ICMPNE] #AG -> #AX +===#Block AN(size=6, flags=0)=== + 0. throw new java/lang/RuntimeException("Failed to proper vm"); + 1. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 26034181) + goto AN + 2. if (java.lang.Math.absExact(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {776031309 ^ lvar10}) + goto AN + 3. lvar86 = "[Constant] 1959685424 -> 776031309 predicate=1519329661"; + 4. _consume({284603248 ^ lvar10}); + 5. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AN -> #AN + <- ConditionalJump[IF_ICMPNE] #AH -> #AN + <- ConditionalJump[IF_ICMPNE] #AN -> #AN +===#Block AL(size=11, flags=0)=== + 0. throw new java/io/IOException("Failed to proper vm"); + 1. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != -199414816) + goto AL + 2. if (java.lang.Integer.rotateRight(pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10), 1529987227) != {2144908761 ^ lvar10}) + goto AL + 3. lvar108 = "[Constant] 1203066869 -> 2144908761 predicate=946725420"; + 4. _consume({1316129242 ^ lvar10}); + 5. throw new java/lang/IllegalAccessException("Failed to proper vm"); + 6. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != 1307126627) + goto AL + 7. if (java.lang.Math.subtractExact(1517175641, pslmxlxlobvpuknt.ycljuptvbdeihrjh.rovephdzuhsjqppr(lvar10)) != {326198746 ^ lvar10}) + goto AL + 8. lvar110 = "[Constant] 723290102 -> 326198746 predicate=946725420"; + 9. _consume({1375778798 ^ lvar10}); + 10. throw new java/lang/RuntimeException("double"); + -> ConditionalJump[IF_ICMPNE] #AL -> #AL + <- ConditionalJump[IF_ICMPNE] #AL -> #AL + <- ConditionalJump[IF_ICMPNE] #C -> #AL + <- ConditionalJump[IF_ICMPNE] #W -> #AL diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/Skidfuscator.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/Skidfuscator.java index 70bc42d..73bc490 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/Skidfuscator.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/Skidfuscator.java @@ -56,6 +56,7 @@ import dev.skidfuscator.obfuscator.transform.impl.hash.InstanceOfHashTransformer; import dev.skidfuscator.obfuscator.transform.impl.hash.StringEqualsHashTransformer; import dev.skidfuscator.obfuscator.transform.impl.hash.StringEqualsIgnoreCaseHashTransformer; +import dev.skidfuscator.obfuscator.transform.impl.loop.LoopConditionTransformer; import dev.skidfuscator.obfuscator.transform.impl.misc.AhegaoTransformer; import dev.skidfuscator.obfuscator.transform.impl.number.NumberTransformer; import dev.skidfuscator.obfuscator.transform.impl.pure.PureHashTransformer; @@ -147,45 +148,6 @@ public class Skidfuscator { public Skidfuscator(SkidfuscatorSession session) { this.session = session; this.exemptAnalysis = new ExemptManager(); - } - - /** - * Runs the execution of the obfuscator. - */ - public void run() { - LOGGER.setDebug(session.isDebug()); - LOGGER.post("Beginning Skidfuscator Community..."); - _verifyEnvironment(); - if (session.isAnalytics()) { - _runAnalytics(); - } - - if (session.isDex()) { - // WIP - } - - /* - * Initializes a null skid directory. This skid directory is used as a - * cache or a temporary directory, most often for silly things such as - * JPhantom or in the near future as a cache for the Ghost pre-computed - * mappings. - */ - SkiddedDirectory.init(null); - - /* - * Here is initialized the skid cache. - * - * The SkidCache is an extension of MapleIR's IRCache - */ - this.irFactory = new SkidCache(this); - - /* - * Here we initialize our opaque predicate type. As of right now - * only one has been completed: the direct integer opaque predicate. - * In the future, it will be possible to add compatibility for other - * types such as longs, byte arrays etc... - */ - LOGGER.post("Resolving predicate analysis..."); this.predicateAnalysis = new SimplePredicateAnalysis.Builder() .skidfuscator(this) /* @@ -231,13 +193,54 @@ public void run() { /* Builder */ .build(); + } + + /** + * Runs the execution of the obfuscator. + */ + public void run() { + LOGGER.setDebug(session.isDebug()); + LOGGER.post("Beginning Skidfuscator Community..."); + _verifyEnvironment(); + if (session.isAnalytics()) { + _runAnalytics(); + } + + if (session.isDex()) { + // WIP + } + + /* + * Initializes a null skid directory. This skid directory is used as a + * cache or a temporary directory, most often for silly things such as + * JPhantom or in the near future as a cache for the Ghost pre-computed + * mappings. + */ + SkiddedDirectory.init(null); + + /* + * Here is initialized the skid cache. + * + * The SkidCache is an extension of MapleIR's IRCache + */ + this.irFactory = new SkidCache(this); + + /* + * Here we initialize our opaque predicate type. As of right now + * only one has been completed: the direct integer opaque predicate. + * In the future, it will be possible to add compatibility for other + * types such as longs, byte arrays etc... + */ + LOGGER.post("Resolving predicate analysis..."); + if (session.isDebug()) LOGGER.log("Finished resolving predicate analysis!"); _importConfig(); _importExempt(); _importClasspath(); - _importJvm(); + final Set sources = _importJvm(); + this.getClassSource().addLibraries(sources.toArray(new LibraryClassSource[0])); if (!session.isFuckIt()) { _verify(); @@ -476,8 +479,9 @@ protected void _importExempt() { LOGGER.log("Finished importing exemptions"); } - protected void _importJvm() { + public Set _importJvm() { /* Import JVM */ + final Set sources = new HashSet<>(); LOGGER.post("Beginning importing of the JVM..."); /* @@ -498,7 +502,8 @@ protected void _importJvm() { GhostHelper.getJvm(session, LOGGER, session.getRuntime()), 0 ); - this.classSource.addLibraries(jvmClassSource); + + sources.add(jvmClassSource); wrapper.tick(); } LOGGER.post("✓ Success"); @@ -531,10 +536,11 @@ protected void _importJvm() { continue; } - this.classSource.addLibraries((jvmClassSource = new LibraryClassSource( + jvmClassSource = new LibraryClassSource( GhostHelper.getJvm(session, LOGGER, file), 0 - ))); + ); + sources.add(jvmClassSource); wrapper.tick(); } } @@ -542,6 +548,8 @@ protected void _importJvm() { } LOGGER.log("Finished importing the JVM"); LOGGER.log(String.format("Imported %d jvm classes!", jvmClassSource.size())); + + return sources; } protected void _importClasspath() { @@ -709,6 +717,7 @@ public List getTransformers() { new StringEqualsHashTransformer(this), new StringEqualsIgnoreCaseHashTransformer(this), new InstanceOfHashTransformer(this), + //new LoopConditionTransformer(this), /* new FlatteningFlowTransformer(this),*/ new AhegaoTransformer(this) diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/context/SkidfuscatorContext.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/context/SkidfuscatorContext.java new file mode 100644 index 0000000..d81ce38 --- /dev/null +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/context/SkidfuscatorContext.java @@ -0,0 +1,15 @@ +package dev.skidfuscator.obfuscator.context; + +import org.mapleir.app.service.ApplicationClassSource; + +public class SkidfuscatorContext { + private ApplicationClassSource mainSource; + + public SkidfuscatorContext(ApplicationClassSource applicationClassSource) { + this.mainSource = applicationClassSource; + } + + public void resolveJdk() { + + } +} diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidApplicationClassSource.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidApplicationClassSource.java index 6a34eb8..88f0802 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidApplicationClassSource.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidApplicationClassSource.java @@ -1,19 +1,26 @@ package dev.skidfuscator.obfuscator.creator; import dev.skidfuscator.obfuscator.Skidfuscator; +import dev.skidfuscator.jghost.GhostHelper; +import dev.skidfuscator.jghost.tree.GhostLibrary; import org.mapleir.app.service.ApplicationClassSource; import org.mapleir.app.service.ClassTree; +import org.mapleir.app.service.LibraryClassSource; +import org.mapleir.app.service.LocateableClassNode; import org.mapleir.asm.ClassNode; import org.topdank.byteengineer.commons.data.JarClassData; import org.topdank.byteengineer.commons.data.JarContents; import org.topdank.byteengineer.commons.data.LocateableJarContents; +import java.io.File; +import java.io.IOException; import java.util.Collection; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; public class SkidApplicationClassSource extends ApplicationClassSource { - //private final LocateableJarContents nodes; private final Skidfuscator skidfuscator; public SkidApplicationClassSource(String name, boolean phantom, JarContents nodes, Skidfuscator skidfuscator) { @@ -39,4 +46,36 @@ public ClassTree getClassTree() { } return classTree; } + + public void importLibrary(File file) throws IOException { + final ApplicationClassSource libraryClassSource = GhostHelper.getLibraryClassSource( + skidfuscator.getSession(), Skidfuscator.LOGGER, file); + /* Add library source to class source */ + this.addLibraries(new LibraryClassSource( + libraryClassSource, + 5 + )); + } + + public Set getMissingClassNames() { + Set missingClasses = new HashSet<>(); + for (String className : nodeMap.keySet()) { + ClassNode node = nodeMap.get(className); + if (node != null) { + String superName = node.getName(); + if (superName != null && !contains(superName)) { + missingClasses.add(superName.replace('/', '.')); + } + Collection interfaces = node.getInterfaces(); + if (interfaces != null) { + for (String iface : interfaces) { + if (!contains(iface)) { + missingClasses.add(iface.replace('/', '.')); + } + } + } + } + } + return missingClasses; + } } diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidClassTree.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidClassTree.java index 3dba567..eaa93d1 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidClassTree.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/creator/SkidClassTree.java @@ -57,9 +57,13 @@ public void verifyVertex(ClassNode cn) { } if(cn != rootNode) { - ClassNode sup = cn.node.superName != null - ? requestClass0(cn.node.superName, cn.getName()) - : rootNode; + ClassNode sup; + + try { + sup = requestClass0(cn.node.superName, cn.getName()); + } catch (Exception e) { + throw new IllegalStateException(String.format("No superclass %s for %s", cn.node.superName, cn.getName())); + } if(sup == null) { throw new IllegalStateException(String.format("No superclass %s for %s", cn.node.superName, cn.getName())); } diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/number/pure/VmHashTransformer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/number/pure/VmHashTransformer.java index 7751d14..c8fabdb 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/number/pure/VmHashTransformer.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/number/pure/VmHashTransformer.java @@ -133,6 +133,8 @@ public SkiddedHash hash(int starting, BasicBlock vertex, PredicateFlowGetter cal this.selectRandomMethod(); + System.out.println("Hashed: " + hashed + " Expr: " + hashExpr); + return new SkiddedHash(hashExpr, hashed); } catch (VMException | PanicException e) { e.printStackTrace(); diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/predicate/renderer/IntegerBlockPredicateRenderer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/predicate/renderer/IntegerBlockPredicateRenderer.java index 8138563..6d601f3 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/predicate/renderer/IntegerBlockPredicateRenderer.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/predicate/renderer/IntegerBlockPredicateRenderer.java @@ -97,6 +97,10 @@ void handle(final InitSkidTransformEvent event) { skidfuscator.setLegacyHasher(new LegacyHashTransformer(skidfuscator)); skidfuscator.setBitwiseHasher(new BitwiseHashTransformer(skidfuscator)); + + if (skidfuscator.getVmHasher() != null) { + throw new IllegalStateException("VmHasher is already initialized"); + } skidfuscator.setVmHasher(new BitwiseHashTransformer(skidfuscator)); } diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidClassNode.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidClassNode.java index bf9b1b2..a0235d9 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidClassNode.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidClassNode.java @@ -26,9 +26,9 @@ public class SkidClassNode extends ClassNode { @Getter private final Skidfuscator skidfuscator; @Getter - private final ClassOpaquePredicate classPredicate; + private ClassOpaquePredicate classPredicate; @Getter - private final ClassOpaquePredicate staticPredicate; + private ClassOpaquePredicate staticPredicate; private transient SkidMethodNode clinitNode; private transient Boolean mixin; @Getter @@ -42,12 +42,15 @@ public class SkidClassNode extends ClassNode { public SkidClassNode(org.objectweb.asm.tree.ClassNode node, Skidfuscator session) { super(node, false); this.skidfuscator = session; - this.classPredicate = skidfuscator - .getPredicateAnalysis() - .getClassPredicate(this); - this.staticPredicate = skidfuscator - .getPredicateAnalysis() - .getClassStaticPredicate(this); + + if (skidfuscator != null) { + this.classPredicate = skidfuscator + .getPredicateAnalysis() + .getClassPredicate(this); + this.staticPredicate = skidfuscator + .getPredicateAnalysis() + .getClassStaticPredicate(this); + } for (MethodNode method : node.methods) { super.getMethods().add(new SkidMethodNode(method, this, session)); diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidMethodNode.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidMethodNode.java index aae1823..106d7b4 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidMethodNode.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/skidasm/SkidMethodNode.java @@ -35,7 +35,7 @@ @Getter public class SkidMethodNode extends MethodNode { private SkidControlFlowGraph cfg; - private final BlockOpaquePredicate flowPredicate; + private BlockOpaquePredicate flowPredicate; private final Skidfuscator skidfuscator; private final List invokers; private MethodOpaquePredicate predicate; @@ -49,9 +49,12 @@ public SkidMethodNode(org.objectweb.asm.tree.MethodNode node, ClassNode owner, S super(node, owner); this.skidfuscator = skidfuscator; this.invokers = new ArrayList<>(); - this.flowPredicate = skidfuscator - .getPredicateAnalysis() - .getBlockPredicate(this); + + if (skidfuscator != null) { + this.flowPredicate = skidfuscator + .getPredicateAnalysis() + .getBlockPredicate(this); + } this.attributes = new AttributeMap(); } diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/AbstractExpressionTransformer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/AbstractExpressionTransformer.java index 44c67d3..96af0d9 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/AbstractExpressionTransformer.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/AbstractExpressionTransformer.java @@ -19,7 +19,7 @@ public AbstractExpressionTransformer(Skidfuscator skidfuscator, String name) { } @Listen(EventPriority.LOWEST) - void handle(final RunMethodTransformEvent event) { + protected void handle(final RunMethodTransformEvent event) { final SkidMethodNode methodNode = event.getMethodNode(); if (shouldSkipMethod(methodNode)) { diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/flow/exception/BasicExceptionTransformer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/flow/exception/BasicExceptionTransformer.java index ba1908a..14b4a3b 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/flow/exception/BasicExceptionTransformer.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/flow/exception/BasicExceptionTransformer.java @@ -157,7 +157,7 @@ void handle(final RunMethodTransformEvent event) { // Todo change blocks to be skiddedblocks to add method to directly add these final ConstantExpr var_const = new AlertableConstantExpr(hash.getHash(), Type.INT_TYPE); - final ConditionalJumpStmt jump_stmt = new FakeConditionalJumpStmt(hash.getExpr(), var_const, fuckup, ConditionalJumpStmt.ComparisonType.NE); + final ConditionalJumpStmt jump_stmt = new FakeConditionalJumpStmt(hash.getExpr().copy() , var_const, fuckup, ConditionalJumpStmt.ComparisonType.NE); if (entry.get(entry.size() - 1) instanceof UnconditionalJumpStmt) entry.add(entry.size() - 1, jump_stmt); diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/loop/LoopConditionTransformer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/loop/LoopConditionTransformer.java new file mode 100644 index 0000000..f1c565c --- /dev/null +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/loop/LoopConditionTransformer.java @@ -0,0 +1,105 @@ +package dev.skidfuscator.obfuscator.transform.impl.loop; + +import dev.skidfuscator.obfuscator.Skidfuscator; +import dev.skidfuscator.obfuscator.transform.AbstractTransformer; +import dev.skidfuscator.obfuscator.util.RandomUtil; +import org.mapleir.ir.cfg.BasicBlock; +import org.mapleir.ir.cfg.ControlFlowGraph; +import org.mapleir.ir.code.Expr; +import org.mapleir.ir.code.Stmt; +import org.mapleir.ir.code.expr.ArithmeticExpr; +import org.mapleir.ir.code.expr.ComparisonExpr; +import org.mapleir.ir.code.expr.ConstantExpr; +import org.mapleir.ir.code.stmt.ConditionalJumpStmt; +import org.objectweb.asm.Type; +import dev.skidfuscator.obfuscator.event.annotation.Listen; +import dev.skidfuscator.obfuscator.event.impl.transform.method.RunMethodTransformEvent; + +import java.util.HashSet; + +public class LoopConditionTransformer extends AbstractTransformer { + public LoopConditionTransformer(Skidfuscator skidfuscator) { + super(skidfuscator, "Loop Condition"); + } + + @Listen + void handle(final RunMethodTransformEvent event) { + final ControlFlowGraph cfg = event.getMethodNode().getCfg(); + if (cfg == null) { + return; + } + + // We need to work on a copy since we'll be modifying the blocks + for (BasicBlock block : new HashSet<>(cfg.vertices())) { + for (Stmt stmt : new HashSet<>(block)) { + if (!(stmt instanceof ConditionalJumpStmt)) { + continue; + } + + ConditionalJumpStmt jumpStmt = (ConditionalJumpStmt) stmt; + Expr left = jumpStmt.getLeft(); + Expr right = jumpStmt.getRight(); + + // Only handle integer comparisons for now + if (!left.getType().equals(Type.INT_TYPE) || + !right.getType().equals(Type.INT_TYPE)) { + continue; + } + + transformCondition(jumpStmt); + this.success(); + } + } + } + + private void transformCondition(ConditionalJumpStmt jumpStmt) { + Expr left = jumpStmt.getLeft(); + Expr right = jumpStmt.getRight(); + + // Generate random constants for obfuscation + int multiplier = RandomUtil.nextInt(10) + 1; // Small multiplier to reduce intermediate overflow + int mask = RandomUtil.nextInt(); + + // First apply XOR + Expr xorLeft = new ArithmeticExpr( + left.copy(), + new ConstantExpr(mask), + ArithmeticExpr.Operator.XOR + ); + + Expr xorRight = new ArithmeticExpr( + right.copy(), + new ConstantExpr(mask), + ArithmeticExpr.Operator.XOR + ); + + // Then multiply + Expr mulLeft = new ArithmeticExpr( + xorLeft, + new ConstantExpr(multiplier), + ArithmeticExpr.Operator.MUL + ); + + Expr mulRight = new ArithmeticExpr( + xorRight, + new ConstantExpr(multiplier), + ArithmeticExpr.Operator.MUL + ); + + // Finally, take modulo of the original value to preserve bounds + // This ensures array indices stay within bounds + Expr boundedLeft = new ArithmeticExpr( + mulLeft, + right.copy(), // Use the original right value (usually array length) for modulo + ArithmeticExpr.Operator.REM + ); + + // For the right side, we keep it unchanged if it's likely an array length + // Otherwise, apply the same transformation + Expr boundedRight = right; + + // Update the jump condition with transformed expressions + jumpStmt.setLeft(boundedLeft); + jumpStmt.setRight(boundedRight); + } +} \ No newline at end of file diff --git a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/pure/PureHashTransformer.java b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/pure/PureHashTransformer.java index ca4dbce..a192fd5 100644 --- a/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/pure/PureHashTransformer.java +++ b/dev.skidfuscator.obfuscator/src/main/java/dev/skidfuscator/obfuscator/transform/impl/pure/PureHashTransformer.java @@ -12,7 +12,7 @@ public PureHashTransformer(Skidfuscator skidfuscator) { super(skidfuscator, "Pure Encryption"); } - @Listen + @Listen(EventPriority.HIGHEST) void handle(final InitSkidTransformEvent event) { if (skidfuscator.getVmHasher() == null) { throw new IllegalStateException("VmHasher is null"); diff --git a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/core/TestSkidfuscator.java b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/core/TestSkidfuscator.java index 928cafe..c67baa1 100644 --- a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/core/TestSkidfuscator.java +++ b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/core/TestSkidfuscator.java @@ -47,7 +47,7 @@ public TestSkidfuscator(Class[] test, Consumer this.test = test; this.callback = callback; - IntegerBlockPredicateRenderer.DEBUG = true; + IntegerBlockPredicateRenderer.DEBUG = false; } public static boolean SKIP = false; diff --git a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/SampleJarTest.java b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/SampleJarTest.java index d17119f..54cf564 100644 --- a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/SampleJarTest.java +++ b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/SampleJarTest.java @@ -23,7 +23,7 @@ public class SampleJarTest { - @RepeatedTest(20) + @RepeatedTest(1) public void test2() throws Exception { final File input = new File("src/test/resources/test.jar"); final File output = new File("src/test/resources/test-out.jar"); diff --git a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/loop/LoopTest.java b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/loop/LoopTest.java new file mode 100644 index 0000000..4d6e302 --- /dev/null +++ b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/test/loop/LoopTest.java @@ -0,0 +1,22 @@ +package dev.skidfuscator.test.loop; + +import dev.skidfuscator.core.SkidTest; +import dev.skidfuscator.obfuscator.util.RandomUtil; +import dev.skidfuscator.testclasses.TestRun; +import dev.skidfuscator.testclasses.java_lang_String.EqualsTestClass; +import dev.skidfuscator.testclasses.loop.LoopConditionTestClass; + +public class LoopTest extends SkidTest { + @Override + public Class getMainClass() { + return LoopConditionTestClass.class; + } + + @Override + public Class[] getClasses() { + return new Class[]{ + LoopConditionTestClass.class, + RandomUtil.class + }; + } +} diff --git a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/java_lang_String/EnumNameTestClass.java b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/java_lang_String/EnumNameTestClass.java new file mode 100644 index 0000000..5b1561d --- /dev/null +++ b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/java_lang_String/EnumNameTestClass.java @@ -0,0 +1,28 @@ +package dev.skidfuscator.testclasses.java_lang_String; + +import dev.skidfuscator.testclasses.TestRun; + +public class EnumNameTestClass implements TestRun { + private enum TestEnum { + FIRST_VALUE, + SECOND_VALUE, + THIRD_VALUE + } + + @Override + public void run() { + // Test direct enum name comparison + assert TestEnum.FIRST_VALUE.name().equals("FIRST_VALUE") : "Failed enum name test #1"; + + // Test enum name comparison with variable + TestEnum value = TestEnum.SECOND_VALUE; + assert value.name().equals("SECOND_VALUE") : "Failed enum name test #2"; + + // Test enum name comparison with method call + assert getEnumValue().name().equals("THIRD_VALUE") : "Failed enum name test #3"; + } + + private TestEnum getEnumValue() { + return TestEnum.THIRD_VALUE; + } +} \ No newline at end of file diff --git a/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/loop/LoopConditionTestClass.java b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/loop/LoopConditionTestClass.java new file mode 100644 index 0000000..49ab54d --- /dev/null +++ b/dev.skidfuscator.obfuscator/src/test/java/dev/skidfuscator/testclasses/loop/LoopConditionTestClass.java @@ -0,0 +1,56 @@ +package dev.skidfuscator.testclasses.loop; + +import dev.skidfuscator.testclasses.TestRun; + +public class LoopConditionTestClass implements TestRun { + @Override + public void run() { + // Test simple for loop + int sum1 = 0; + for (int i = 0; i < 5; i++) { + sum1 += i; + } + assert sum1 == 10 : "Failed simple for loop test"; + + // Test while loop with variable condition + int sum2 = 0; + int count = 0; + int max = 5; + while (count < max) { + sum2 += count; + count++; + } + assert sum2 == 10 : "Failed while loop test"; + + // Test do-while loop + int sum3 = 0; + int j = 0; + do { + sum3 += j; + j++; + } while (j < 5); + assert sum3 == 10 : "Failed do-while loop test"; + + // Test nested loops + int sum4 = 0; + for (int x = 0; x < 3; x++) { + for (int y = 0; y < 2; y++) { + sum4 += x + y; + } + } + assert sum4 == 9 : "Failed nested loops test"; + + // Test loop with method call in condition + int sum5 = 0; + int k = 0; + while (k < getLimit()) { + sum5 += k; + k++; + } + assert sum5 == 10 : "Failed loop with method call test"; + } + + private int getLimit() { + return 5; + } +} \ No newline at end of file diff --git a/dev.skidfuscator.obfuscator/src/test/resources/config/runtime_new.hocon b/dev.skidfuscator.obfuscator/src/test/resources/config/runtime_new.hocon index f45204a..77ab5d3 100644 --- a/dev.skidfuscator.obfuscator/src/test/resources/config/runtime_new.hocon +++ b/dev.skidfuscator.obfuscator/src/test/resources/config/runtime_new.hocon @@ -55,3 +55,6 @@ flowException { exempt: [] } +flowCondition { + enabled: false +} diff --git a/dev.skidfuscator.sdk/src/main/java/sdk/SDK.java b/dev.skidfuscator.sdk/src/main/java/sdk/SDK.java index 4d465e4..49b4db9 100644 --- a/dev.skidfuscator.sdk/src/main/java/sdk/SDK.java +++ b/dev.skidfuscator.sdk/src/main/java/sdk/SDK.java @@ -58,4 +58,14 @@ private static Set computeHierarchyHashes(Class cls, int seed) { return Collections.unmodifiableSet(hashes); } + + public static boolean checkEnumName(Enum enumValue, String hashedName, int seed) { + if (enumValue == null) { + return false; + } + + // Hash the enum's name and compare with the provided hash + String actualHash = LongHashFunction.xx3(seed).hashChars(enumValue.name()) + ""; + return actualHash.equals(hashedName); + } } diff --git a/org.mapleir.parent/org.mapleir.app-services/src/main/java/org/mapleir/app/service/ClassTree.java b/org.mapleir.parent/org.mapleir.app-services/src/main/java/org/mapleir/app/service/ClassTree.java index deef403..999874d 100644 --- a/org.mapleir.parent/org.mapleir.app-services/src/main/java/org/mapleir/app/service/ClassTree.java +++ b/org.mapleir.parent/org.mapleir.app-services/src/main/java/org/mapleir/app/service/ClassTree.java @@ -62,7 +62,7 @@ public List getMissingClasses() { sup = cn.node.superName != null ? requestClass0(cn.node.superName, cn.getName()) : rootNode; - } catch (RuntimeException e) { + } catch (Exception e) { // ignore } if(sup == null) { @@ -73,7 +73,7 @@ public List getMissingClasses() { ClassNode iface = null; try { iface = requestClass0(s, cn.getName()); - } catch (RuntimeException e) { + } catch (Exception e) { // ignore } if(iface == null) {