Skip to content

Commit

Permalink
v1.1.0
Browse files Browse the repository at this point in the history
Changelog:
    Refractoring the version of the obfuscator to the end
    Adding the advanced module
    Pulling latest core deobfuscator version
    Minor changes
  • Loading branch information
pandaninjas committed Jul 22, 2022
1 parent 756b0d6 commit eb73226
Show file tree
Hide file tree
Showing 14 changed files with 194 additions and 27 deletions.
124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.example</groupId>
<artifactId>narumi-deobf-gui</artifactId>
<version>1.0.0</version>
<version>1.1.0</version>
<name>narumi-deobf-gui</name>

<properties>
Expand Down Expand Up @@ -64,7 +64,7 @@
<dependency>
<groupId>com.github.pandaninjas</groupId>
<artifactId>Deobfuscator</artifactId>
<version>3724606</version>
<version>edd277a</version>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,21 @@

public class DeobfuscatorGUIApp extends Application {
public static Stage stage;

public static boolean useRaw = false;
@Override
public void start(Stage stage) throws IOException {
DeobfuscatorGUIApp.stage = stage;
FXMLLoader fxmlLoader = new FXMLLoader(DeobfuscatorGUIApp.class.getResource("deobfuscator-gui-view.fxml"));
FXMLLoader fxmlLoader = new FXMLLoader(DeobfuscatorGUIApp.class.getResource((useRaw) ? "deobfuscator-gui-advanced-view.fxml": "deobfuscator-gui-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 320, 240);
stage.setTitle("Deobfuscator GUI");
stage.setTitle("Narumii Deobfuscator");
stage.setScene(scene);
stage.show();
}

public static void main(String[] args) {
if (args.length > 0 && args[0].equalsIgnoreCase("useraw")) {
useRaw = true;
}
launch();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import gq.malwarefight.narumiideobfgui.deobfuscatorutils.DeobfuscatorRegistry;
import javafx.fxml.FXML;
import javafx.geometry.Pos;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.FileChooser;
Expand Down Expand Up @@ -31,10 +33,12 @@ public class DeobfuscatorGUIController {
public VBox buttonContainer;
@FXML
public Label result;

@FXML
public ScrollPane test; // only for advanced mode
@FXML
protected void chooseInputFile() {
FileChooser fileChooser = new FileChooser();
fileChooser.setInitialDirectory(new File(System.getProperty("user.dir")));
File input = fileChooser.showOpenDialog(DeobfuscatorGUIApp.stage);
if (input == null) {
return;
Expand All @@ -46,6 +50,7 @@ protected void chooseInputFile() {
@FXML
protected void chooseOutputFile() {
FileChooser fileChooser = new FileChooser();
fileChooser.setInitialDirectory(new File(System.getProperty("user.dir")));
File output = fileChooser.showSaveDialog(DeobfuscatorGUIApp.stage);
if (output == null) {
return;
Expand All @@ -57,10 +62,18 @@ protected void chooseOutputFile() {

@FXML
public void initialize() {
for (ComposedTransformer composedTransformer : DeobfuscatorRegistry.composedTransformers) {
CheckBox box = new CheckBox(composedTransformer.name());
buttonContainer.getChildren().add(box);
deobfuscatorHashMap.put(box, composedTransformer);
if (!DeobfuscatorGUIApp.useRaw) {
for (ComposedTransformer composedTransformer : DeobfuscatorRegistry.composedTransformers) {
CheckBox box = new CheckBox(composedTransformer.name());
buttonContainer.getChildren().add(box);
deobfuscatorHashMap.put(box, composedTransformer);
}
} else {
for (Transformer transformer: DeobfuscatorRegistry.rawDeobfuscators) {
CheckBox box = new CheckBox(transformer.name());
buttonContainer.getChildren().add(box);
deobfuscatorHashMap.put(box, transformer);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package gq.malwarefight.narumiideobfgui.deobfuscatorutils;

import gq.malwarefight.narumiideobfgui.deobfuscatorutils.subclasses.latest_qProtectFlowTransformer;
import gq.malwarefight.narumiideobfgui.deobfuscatorutils.subclasses.latest_qProtectInvokeDynamicTransformer;
import uwu.narumi.deobfuscator.transformer.ComposedTransformer;
import uwu.narumi.deobfuscator.transformer.Transformer;

Expand Down Expand Up @@ -73,11 +75,11 @@ public class DeobfuscatorRegistry {
new ParamorphismKurwaNaChujTaKlasaRemoveTransformer(),
new ParamorphismPackerTransformer(),
new ParamorphismStringTransformer(),
new b3_0_qProtectFlowTransformer(),
new b3_0_qProtectInvokeDynamicTransformer(),
new qProtectFlowTransformer_b_3_0(),
new qProtectInvokeDynamicTransformer_b_3_0(),
new qProtectStackOperationTransformer(),
new b3_0_qProtectStringTransformer(),
new b31_qProtectStringTransformer(),
new qProtectStringTransformer_b3_0(),
new qProtectStringTransformer_b31(),
new qProtectTrashInvokeTransformer(),
new idk_qProtectFlowTransformer(),
new qProtectFieldFlowTransformer(),
Expand Down Expand Up @@ -128,7 +130,7 @@ public class DeobfuscatorRegistry {

public static ComposedTransformer[] composedTransformers = new ComposedTransformer[] {
new latest_qProtectTransformer(),
new v1_7_2_qProtectTransformer(),
new qProtectTransformer_v1_7_2(),
new StackAnalyzerBinsecureTransformer(),
new NoStackAnalyzerBinsecureTransformer(),
new BozoriuszTransformer(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package gq.malwarefight.narumiideobfgui.deobfuscatorutils.subclasses;

import uwu.narumi.deobfuscator.transformer.impl.qprotect.latest.qProtectFlowTransformer;

public class latest_qProtectFlowTransformer extends qProtectFlowTransformer {}
public class latest_qProtectFlowTransformer extends uwu.narumi.deobfuscator.transformer.impl.qprotect.latest.qProtectFlowTransformer {}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package gq.malwarefight.narumiideobfgui.deobfuscatorutils.subclasses;

import uwu.narumi.deobfuscator.transformer.composed.qprotect.latest.qProtectTransformer;

public class latest_qProtectTransformer extends qProtectTransformer {}
public class latest_qProtectTransformer extends uwu.narumi.deobfuscator.transformer.composed.qprotect.latest.qProtectTransformer {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

import uwu.narumi.deobfuscator.transformer.impl.qprotect.b3_0.qProtectFlowTransformer;

public class b3_0_qProtectFlowTransformer extends qProtectFlowTransformer {}
public class qProtectFlowTransformer_b_3_0 extends qProtectFlowTransformer {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

import uwu.narumi.deobfuscator.transformer.impl.qprotect.b3_0.*;

public class b3_0_qProtectInvokeDynamicTransformer extends qProtectInvokeDynamicTransformer {}
public class qProtectInvokeDynamicTransformer_b_3_0 extends qProtectInvokeDynamicTransformer {}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package gq.malwarefight.narumiideobfgui.deobfuscatorutils.subclasses;

import uwu.narumi.deobfuscator.transformer.impl.qprotect.b31.qProtectStringTransformer;
public class b31_qProtectStringTransformer extends qProtectStringTransformer {}
public class qProtectStringTransformer_b31 extends qProtectStringTransformer {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

import uwu.narumi.deobfuscator.transformer.impl.qprotect.b3_0.qProtectFlowTransformer;

public class b3_0_qProtectStringTransformer extends qProtectFlowTransformer {}
public class qProtectStringTransformer_b3_0 extends qProtectFlowTransformer {}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

import uwu.narumi.deobfuscator.transformer.composed.qprotect.v1_7_2.qProtectTransformer;

public class v1_7_2_qProtectTransformer extends qProtectTransformer {}
public class qProtectTransformer_v1_7_2 extends qProtectTransformer {}
4 changes: 3 additions & 1 deletion src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
requires javafx.fxml;
requires javafx.graphics;
requires javafx.controls;
requires Deobfuscator;
// requires Deobfuscator;
requires org.objectweb.asm;
requires Deobfuscator.edd277a;
opens gq.malwarefight.narumiideobfgui to javafx.fxml;
exports gq.malwarefight.narumiideobfgui to javafx.graphics;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version = "1.0" encoding = "UTF-8"?>

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<VBox xmlns:fx="http://javafx.com/fxml"
fx:controller="gq.malwarefight.narumiideobfgui.DeobfuscatorGUIController" alignment="CENTER">
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0"/>
</padding>
<HBox alignment="TOP_CENTER">
<Label>Input file</Label>
<TextField fx:id="inputName"/>
<Button text="Choose" onAction="#chooseInputFile"/>
</HBox>
<HBox alignment="TOP_CENTER">
<Label>Output file</Label>
<TextField fx:id="outputName"/>
<Button text="Choose" onAction="#chooseOutputFile"/>
</HBox>
<ScrollPane>
<VBox alignment="CENTER" fx:id="buttonContainer"/>
</ScrollPane>
<Button text="Deobfuscate" onAction="#deobfuscate"/>
<Label fx:id = "result"/>
</VBox>

0 comments on commit eb73226

Please sign in to comment.