If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.

#1347 Exported JPG images can't be opened
Author:
fancool

Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: Broken JPEGExportImages
State: closed 

> What steps will reproduce the problem?
Export images via GUI or command line interface from the attached SWF file.
> What is the expected output? What do you see instead?
The image in it is exported as below. Image viewers can't open it.
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
10.0.0 on Windows 8.1 Enterprise
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
This problem occurs to me quite often, not just for this particular SWF file. I will be
very grateful if you could fix it!
hmm... interesting. the result looks good, but usually the image view applications cannot
open it, but Java can decode it.
There is a workaroud: when you export it, select png format.
To found out what's going wrong, I exported the image using another decompiler software
(which can export it correctly), and compared the results. It seems that JPEXS Free Flash
Decompiler exported everything correctly, except for the header. See "ffdec.png" for the
header of the image exported by JPEXS Free Flash Decompiler, and see
"other_decompiler.png" for the header of the image exported by other decompiler.
This is exactly the same problem as in #1153
Your Jpeg2 tag has wrong inner data. Sometimes SWFs can have erroneous header in Jpeg
data, but only in the beginning of the data.
From SWF specification:
"The data in this tag begins with the JPEG SOI marker 0xFF, 0xD8 and ends with the EOI
marker 0xFF, 0xD9.
Before version 8 of the SWF file format, SWF files could contain an erroneous header of
0xFF, 0xD9, 0xFF, 0xD8
before the JPEG SOI marker."
FFDec removes it if it is the first 4 bytes.
In 1_other_decompiler.jpg there are more differences than needed. It is enough to remove
the 4 extra bytes (ffdec_original.jpg => ffdec_fixed.jpg)
How did you create this SWF file? If it was created with official Adobe Flash/Animate,
then we should solve this problem, but it is not easy. It is not enough to simply remove
the ffd9ffd9 bytes from the data, because it may contain this byte sequance in a valid
place. So the data should be processed somehow.
Ok, FFDec could recompress the image (since it can load that), but I'd prefer to export
the original bytes.
Thank you for the information! Now I know where the problem is. Since these SWF movies are
not my own works, I'll need to do some research to find out their creation process. I'll
make another post when I obtain more information.
This was fixed in nightly 1828.
The JPEG file is reorganized to properly display.
State: new→upgraded
State: upgraded→closed