From e5a5c596e8d5d237ad77313d048d68e3b521b83e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 18 Aug 2024 21:27:41 +0200 Subject: [PATCH] Fixed: Opening loaded files while playing even if not a valid SWF file - like images --- CHANGELOG.md | 1 + src/com/jpexs/decompiler/flash/gui/Main.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 346aaa2eb..3d79dec81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All notable changes to this project will be documented in this file. - [#2279] Embed assets with file base name ending with a space - Embed tag - Wav files need to be embedded in assets.swf - [#2282] FLA export - visible flag +- Opening loaded files while playing even if not a valid SWF file - like images ### Changed - Compound script has slot/const traits inside main script initializer diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java index 057511925..d5e5f3325 100644 --- a/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/src/com/jpexs/decompiler/flash/gui/Main.java @@ -74,6 +74,7 @@ import com.jpexs.helpers.ReReadableInputStream; import com.jpexs.helpers.Reference; import com.jpexs.helpers.Stopwatch; import com.jpexs.helpers.streams.SeekableInputStream; +import com.jpexs.helpers.utf8.Utf8Helper; import com.sun.jna.Platform; import com.sun.jna.platform.win32.Advapi32Util; import com.sun.jna.platform.win32.Kernel32; @@ -2490,7 +2491,15 @@ public class Main { @Override public void onLoaderModifyBytes(String clientId, byte[] inputData, String url, DebugLoaderDataModified modifiedListener) { - + if (inputData.length < 3) { + modifiedListener.dataModified(inputData); + return; + } + String signature = new String(inputData, 0, 3, Utf8Helper.charset); + if (!SWF.swfSignatures.contains(signature)) { + modifiedListener.dataModified(inputData); + return; + } final String hash = md5(inputData); OpenableOpened afterLoad = new OpenableOpened() { @Override