mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 04:30:45 +00:00
Merge origin/master
This commit is contained in:
@@ -34,7 +34,6 @@ import java.awt.Graphics2D;
|
||||
import java.awt.Insets;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
@@ -94,6 +93,8 @@ public class AdvancedSettingsDialog extends AppDialog {
|
||||
|
||||
/**
|
||||
* Creates new form AdvancedSettingsDialog
|
||||
*
|
||||
* @param selectedCategory
|
||||
*/
|
||||
public AdvancedSettingsDialog(String selectedCategory) {
|
||||
initComponents(selectedCategory);
|
||||
@@ -387,7 +388,7 @@ public class AdvancedSettingsDialog extends AppDialog {
|
||||
val = "";
|
||||
}
|
||||
if (itemType == Calendar.class) {
|
||||
tf.setText(new SimpleDateFormat().format(((Calendar) item.get()).getTime()));
|
||||
tf.setText(new SimpleDateFormat().format(((Calendar) val).getTime()));
|
||||
} else {
|
||||
tf.setText(val.toString());
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.jpexs.decompiler.flash.gui;
|
||||
|
||||
import com.jpexs.debugger.flash.DebuggerCommands;
|
||||
import com.jpexs.debugger.flash.messages.out.OutStepContinue;
|
||||
import com.jpexs.decompiler.flash.ApplicationInfo;
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SWFBundle;
|
||||
@@ -29,7 +28,6 @@ import com.jpexs.decompiler.flash.gui.helpers.CheckResources;
|
||||
import com.jpexs.decompiler.flash.tags.ABCContainerTag;
|
||||
import com.jpexs.helpers.ByteArrayRange;
|
||||
import com.jpexs.helpers.Cache;
|
||||
import com.jpexs.helpers.CancellableWorker;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import com.jpexs.helpers.utf8.Utf8Helper;
|
||||
import com.sun.jna.Platform;
|
||||
@@ -44,21 +42,15 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javax.swing.AbstractButton;
|
||||
@@ -79,6 +71,7 @@ public abstract class MainFrameMenu implements MenuBuilder {
|
||||
private KeyEventDispatcher keyEventDispatcher;
|
||||
|
||||
private SWF swf;
|
||||
|
||||
protected final Map<String, HotKey> menuHotkeys = new HashMap<>();
|
||||
|
||||
@Override
|
||||
@@ -326,26 +319,6 @@ public abstract class MainFrameMenu implements MenuBuilder {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void restoreControlFlow(ActionEvent evt) {
|
||||
if (Main.isWorking()) {
|
||||
return;
|
||||
}
|
||||
|
||||
restoreControlFlow(false);
|
||||
}
|
||||
|
||||
protected void restoreControlFlowAll(ActionEvent evt) {
|
||||
if (Main.isWorking()) {
|
||||
return;
|
||||
}
|
||||
|
||||
restoreControlFlow(true);
|
||||
}
|
||||
|
||||
protected void restoreControlFlow(boolean all) {
|
||||
mainFrame.getPanel().restoreControlFlow(all);
|
||||
}
|
||||
|
||||
protected void showProxyActionPerformed(ActionEvent evt) {
|
||||
if (Main.isWorking()) {
|
||||
return;
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SWFBundle;
|
||||
import com.jpexs.decompiler.flash.SWFSourceInfo;
|
||||
import com.jpexs.decompiler.flash.abc.ABC;
|
||||
import com.jpexs.decompiler.flash.abc.ClassPath;
|
||||
import com.jpexs.decompiler.flash.abc.RenameType;
|
||||
import com.jpexs.decompiler.flash.abc.ScriptPack;
|
||||
import com.jpexs.decompiler.flash.abc.avm2.AVM2ConstantPool;
|
||||
@@ -84,7 +83,6 @@ import com.jpexs.decompiler.flash.gui.controls.JPersistentSplitPane;
|
||||
import com.jpexs.decompiler.flash.gui.dumpview.DumpTree;
|
||||
import com.jpexs.decompiler.flash.gui.dumpview.DumpTreeModel;
|
||||
import com.jpexs.decompiler.flash.gui.dumpview.DumpViewPanel;
|
||||
import com.jpexs.decompiler.flash.gui.editor.LineMarkedEditorPane;
|
||||
import com.jpexs.decompiler.flash.gui.helpers.ObservableList;
|
||||
import com.jpexs.decompiler.flash.gui.player.FlashPlayerPanel;
|
||||
import com.jpexs.decompiler.flash.gui.tagtree.TagTree;
|
||||
@@ -142,7 +140,6 @@ import com.jpexs.decompiler.flash.types.MATRIX;
|
||||
import com.jpexs.decompiler.flash.types.RECT;
|
||||
import com.jpexs.decompiler.flash.types.sound.SoundFormat;
|
||||
import com.jpexs.decompiler.flash.xfl.FLAVersion;
|
||||
import com.jpexs.decompiler.graph.DottedChain;
|
||||
import com.jpexs.helpers.CancellableWorker;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import com.jpexs.helpers.Path;
|
||||
@@ -2275,47 +2272,6 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
}
|
||||
}
|
||||
|
||||
public void restoreControlFlow(final boolean all) {
|
||||
if ((!all) || confirmExperimental()) {
|
||||
new CancellableWorker<Void>() {
|
||||
@Override
|
||||
protected Void doInBackground() throws Exception {
|
||||
ABCPanel abcPanel = getABCPanel();
|
||||
if (all) {
|
||||
for (ABCContainerTag tag : abcPanel.getAbcList()) {
|
||||
tag.getABC().restoreControlFlow();
|
||||
}
|
||||
} else {
|
||||
ABC abc = abcPanel.abc;
|
||||
int bi = abcPanel.detailPanel.methodTraitPanel.methodCodePanel.getBodyIndex();
|
||||
if (bi != -1) {
|
||||
abc.bodies.get(bi).restoreControlFlow(abc.constants, abcPanel.decompiledTextArea.getCurrentTrait(), abc.method_info.get(abc.bodies.get(bi).method_info));
|
||||
}
|
||||
|
||||
abcPanel.detailPanel.methodTraitPanel.methodCodePanel.setBodyIndex(bi, abc, abcPanel.decompiledTextArea.getCurrentTrait(), abcPanel.detailPanel.methodTraitPanel.methodCodePanel.getScriptIndex());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
Main.startWork(translate("work.restoringControlFlow"), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void done() {
|
||||
View.execInEventDispatch(() -> {
|
||||
Main.stopWork();
|
||||
View.showMessageDialog(null, translate("work.restoringControlFlow.complete"));
|
||||
|
||||
getABCPanel().reload();
|
||||
updateClassesList();
|
||||
});
|
||||
}
|
||||
}.execute();
|
||||
}
|
||||
}
|
||||
|
||||
public void renameIdentifiers(final SWF swf) {
|
||||
if (swf == null) {
|
||||
return;
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Fast bytes parameter of the LZMA encoder
|
||||
config.name.pluginPath = Plugin Path
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Deobfuscation mode
|
||||
config.description.deobfuscationMode = Run deobfuscation on every file before ActionScript decompilation
|
||||
|
||||
config.name.showMethodBodyId = Show method body id
|
||||
config.description.showMethodBodyId = Shows the id of the methodbody for commandline import
|
||||
|
||||
@@ -362,9 +359,6 @@ config.description.swfSpecificConfigs = Contains the SWF specific configurations
|
||||
config.name.exeExportMode = EXE export mode
|
||||
config.description.exeExportMode = EXE export mode
|
||||
|
||||
config.name.deobfuscationOldMode = Switch deobfuscation to old (5.x) mode
|
||||
config.description.deobfuscationOldMode = Disable new deobfuscation and use the old one from previous versions. NOT RECOMMENDED.
|
||||
|
||||
config.name.ignoreCLikePackages = Ignore FlashCC / Alchemy or similar packages
|
||||
config.description.ignoreCLikePackages = FlashCC/Alchemy packages cannot usually be decompiled correctly. You can disable them to speedup other packages decompilation.
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Par\u00e0metre de bytes r\u00e0pids del codif
|
||||
config.name.pluginPath = Cam\u00ed de l'Extensi\u00f3
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Mode de desofuscaci\u00f3
|
||||
config.description.deobfuscationMode = Executa la desofuscaci\u00f3 a cada fitxer abans de la descompilaci\u00f3 d'ActionScript
|
||||
|
||||
config.name.showMethodBodyId = Mostra l'id del methodbody
|
||||
config.description.showMethodBodyId = Mostra l'identificador del methodbody per a importaci\u00f3 de l\u00ednia d'ordres
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Parametr fast bytes LZMA enkoderu
|
||||
config.name.pluginPath = Plugin Path
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = M\u00f3d deobfuskace
|
||||
config.description.deobfuscationMode = Typ deobfuskace
|
||||
|
||||
config.name.showMethodBodyId = Zobrazovat id body metod
|
||||
config.description.showMethodBodyId = Zobrazuje id body metody pro import p\u0159es p\u0159\u00edkazovou \u0159\u00e1dku
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Par\u00e1metro de bytes r\u00e1pidos del codi
|
||||
config.name.pluginPath = Directorio de Plugin
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Deobfuscation mode
|
||||
config.description.deobfuscationMode = Ejecutar desofuscaci\u00f3n en cada archivo antes de la decompilaci\u00f3n de ActionScript
|
||||
|
||||
config.name.showMethodBodyId = Mostrar identificador el cuerpo del m\u00e9todo
|
||||
config.description.showMethodBodyId = Mostrar el identificador del methodbody para la importaci\u00f3n de linea de comandos
|
||||
|
||||
@@ -362,9 +359,6 @@ config.description.swfSpecificConfigs = Contiene las configuraciones espec\u00ed
|
||||
config.name.exeExportMode = Modo de exportaci\u00f3n de EXE
|
||||
config.description.exeExportMode = Modo de exportaci\u00f3n de EXE
|
||||
|
||||
config.name.deobfuscationOldMode = Cambiar desofuscaci\u00f3n al viejo modo (5.x)
|
||||
config.description.deobfuscationOldMode = Deshabilitar la nueva desofuscaci\u00f3n y utilizar la vieja de versiones anteriores. NO RECOMENDADO.
|
||||
|
||||
config.name.ignoreCLikePackages = Ignorar paquetes FlashCC / Alchemy o similares
|
||||
config.description.ignoreCLikePackages = Los paquetes FlashCC/Alchemy usualmente no pueden ser decompilados correctamente. Puede deshabilitarlos para acelerar la decompilaci\u00f3n de otros paquetes.
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Param\u00e8tre vitesse des octets de l'encode
|
||||
config.name.pluginPath = Plugin Path
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Mode de d\u00e9sobfuscation
|
||||
config.description.deobfuscationMode = D\u00e9marrer la d\u00e9sobfuscation pour chaque fichiers avant la d\u00e9compilation ActionScript
|
||||
|
||||
config.name.showMethodBodyId = Afficher l'identifiant dans le corps de texte
|
||||
config.description.showMethodBodyId = Afficher l'identifiant dans le corps de la m\u00e9thode lors de l'importation en ligne de commande
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Az LZMA t\u00f6m\u00f6r\u00edt\u0151 "Fast by
|
||||
config.name.pluginPath = Plugin Path
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Deobfuszk\u00e1l\u00e1si m\u00f3d
|
||||
config.description.deobfuscationMode = Futtassa a deobfuszk\u00e1l\u00e1st minden f\u00e1jlon az ActionScript visszaford\u00edt\u00e1sa el\u0151tt
|
||||
|
||||
config.name.showMethodBodyId = Method body azonos\u00edt\u00f3 mutat\u00e1sa
|
||||
config.description.showMethodBodyId = Megmutatja a methodbody azonos\u00edt\u00f3t a parancssori import\u00e1l\u00e1shoz
|
||||
|
||||
@@ -362,9 +359,6 @@ config.description.swfSpecificConfigs = Az SWF specifikus be\u00e1llt\u00e1sokat
|
||||
config.name.exeExportMode = EXE export m\u00f3d
|
||||
config.description.exeExportMode = EXE export m\u00f3d
|
||||
|
||||
config.name.deobfuscationOldMode = Kapcsol\u00f3 a r\u00e9gi (5.x) deobfuszk\u00e1l\u00e1si m\u00f3d haszn\u00e1lat\u00e1hoz
|
||||
config.description.deobfuscationOldMode = Kikapcsolja az \u00faj deobfuszk\u00e1l\u00e1si m\u00f3dot \u00e9s az el\u0151z\u0151 verzi\u00f3kban l\u00e9v\u0151 m\u00f3dot haszn\u00e1lja. NEM AJ\u00c1NLOTT.
|
||||
|
||||
config.name.ignoreCLikePackages = FlashCC / Alchemy vagy hasonl\u00f3 csomagok figyelmen k\u00edv\u00fcl hagy\u00e1sa
|
||||
config.description.ignoreCLikePackages = FlashCC/Alchemy csomagok \u00e1ltal\u00e1ban nem ford\u00edthat\u00f3ak vissza hib\u00e1tlanul. Kikapcsolhatod hogy gyorsabban visszaford\u00edtsa a t\u00f6bbi csomagot.
|
||||
|
||||
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Parametro byte veloci del codificatore LZMA
|
||||
config.name.pluginPath = Percorso Plugin
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Modalit\u00e0 di deoffuscamento
|
||||
config.description.deobfuscationMode = Esegui deoffuscamento su ogni file prima della decompilazione ActionScript
|
||||
|
||||
config.name.showMethodBodyId = Mostra id corpo del metodo
|
||||
config.description.showMethodBodyId = Mostra id del corpo del metodo per importazione da riga di comando
|
||||
|
||||
@@ -362,9 +359,6 @@ config.description.swfSpecificConfigs = Contiene le configurazioni specifiche ag
|
||||
config.name.exeExportMode = Modalit\u00e0 di esportazione EXE
|
||||
config.description.exeExportMode = Modalit\u00e0 di esportazione EXE
|
||||
|
||||
config.name.deobfuscationOldMode = Passa alla vecchia modalit\u00e0 di deoffuscamento (5.x)
|
||||
config.description.deobfuscationOldMode = Disabilita il nuovo deoffuscamento ed utilizza quello delle versioni precedenti. SCONSIGLIATO.
|
||||
|
||||
config.name.ignoreCLikePackages = Ignora FlashCC / Alchimia o package simili
|
||||
config.description.ignoreCLikePackages = I package FlashCC / Alchimia non possono solitamente essere decompilati correttamente.\r\n\u00c8 possibile disattivarli per velocizzare la decompilazione di altri package.
|
||||
|
||||
|
||||
@@ -265,6 +265,3 @@ config.description.showMethodBodyId = Pokazuje id korpusu metody dla importu lin
|
||||
|
||||
config.name.pluginPath = Plugin Path
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Deobfuscation mode
|
||||
config.description.deobfuscationMode = Run deobfuscation on every file before ActionScript decompilation
|
||||
@@ -263,9 +263,6 @@ config.description.lzmaFastBytes = Snabb bytes parameter av LZMA kodare
|
||||
config.name.pluginPath = Plugin S\u00f6kv\u00e4g
|
||||
config.description.pluginPath = -
|
||||
|
||||
config.name.deobfuscationMode = Deobfuscation mode
|
||||
config.description.deobfuscationMode = K\u00f6r deobfuskering p\u00e5 alla filer innan ActionSctipt dekompilering
|
||||
|
||||
config.name.showMethodBodyId = Visa metod kropps id
|
||||
config.description.showMethodBodyId = Visar id:t utav methodbody f\u00f6r commandline importering
|
||||
|
||||
|
||||
Reference in New Issue
Block a user