mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-09 13:41:55 +00:00
Added #2090 Support for Mochicrypt packed binarydata tags - loading SWF as subtree
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
package com.jpexs.decompiler.flash.gui;
|
||||
|
||||
import com.jpexs.decompiler.flash.gui.hexview.HexView;
|
||||
import com.jpexs.decompiler.flash.packers.MochiCryptPacker;
|
||||
import com.jpexs.decompiler.flash.packers.Packer;
|
||||
import com.jpexs.decompiler.flash.tags.DefineBinaryDataTag;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
@@ -44,6 +46,8 @@ public final class BinaryPanel extends JPanel {
|
||||
private DefineBinaryDataTag binaryDataTag = null;
|
||||
|
||||
private final MainPanel mainPanel;
|
||||
|
||||
private final JLabel swfInsideLabel;
|
||||
|
||||
public BinaryPanel(final MainPanel mainPanel) {
|
||||
super(new BorderLayout());
|
||||
@@ -64,10 +68,13 @@ public final class BinaryPanel extends JPanel {
|
||||
setBinaryData(binaryDataTag);
|
||||
}
|
||||
});*/
|
||||
|
||||
swfInsideLabel = new JLabel(AppStrings.translate("binarydata.swfInside"));
|
||||
|
||||
swfInsidePanel = new JPanel();
|
||||
swfInsidePanel.setBackground(new Color(253, 205, 137));
|
||||
swfInsidePanel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
||||
swfInsidePanel.add(new JLabel(AppStrings.translate("binarydata.swfInside")));
|
||||
swfInsidePanel.add(swfInsideLabel);
|
||||
swfInsidePanel.setFocusable(true);
|
||||
swfInsidePanel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
|
||||
swfInsidePanel.addMouseListener(new MouseAdapter() {
|
||||
@@ -88,7 +95,15 @@ public final class BinaryPanel extends JPanel {
|
||||
data = binaryDataTag == null ? null : binaryDataTag.binaryData.getRangeData();
|
||||
if (data != null) {
|
||||
hexEditor.setData(data, null, null);
|
||||
swfInsidePanel.setVisible(binaryDataTag.innerSwf == null && binaryDataTag.isSwfData());
|
||||
boolean isSwfData = binaryDataTag.isSwfData();
|
||||
if (isSwfData) {
|
||||
if (binaryDataTag.usedPacker != null) {
|
||||
swfInsideLabel.setText(AppStrings.translate("binarydata.swfInside.packer").replace("%packer%", binaryDataTag.usedPacker.getName()));
|
||||
} else {
|
||||
swfInsideLabel.setText(AppStrings.translate("binarydata.swfInside"));
|
||||
}
|
||||
}
|
||||
swfInsidePanel.setVisible(binaryDataTag.innerSwf == null && isSwfData);
|
||||
} else {
|
||||
hexEditor.setData(new byte[0], null, null);
|
||||
swfInsidePanel.setVisible(false);
|
||||
|
||||
Reference in New Issue
Block a user