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.

#916 Replacing "Shape" will corrupt the SWF.
Author:
leeuniverse

Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: closed 

This is the same issue that I reported already that was just closed, but I didn't do a
"complete" testing.
With the Nightly version 601 that fixed the issue, I only tested replacing an "Image", did
not test replacing a "Shape" as I had also done originally when reporting the issue.
The replacing of a "Shape" issue still exists, at least with 607. Didn't try image with
this version.
But replacing image was fixed with 601, assuming still is with the latest nightly.
Here's the SWF and png image I was trying to replace the shape with.
The # of the image is the same for the shape to be replaced.
Sorry....

I don't really know what is the problem with the swf which is saved by FFDec, Adobe flash
player seems to open it successfully :(
Could you please attach a working swf which was created with a 3rd party tool?
The above upload is of course the SWF before I did anything.
The image provided is the same # of the SHAPE to be replaced.
Here's the SWF re-compiled with the 3rd party tool that doesn't crash, with image replaced
but as an SVG file, it doesn't do image replacement for Shapes.
One issue however, is you've noticed it say's the SWF has been protected by SWF Protect
DEMO or whatever, is that true?

If it shows that text, then probably true. Otherwise why would it show that?
I've noticed, that you replaced a lot of images/shapes, etc in the attached swf. Could you
please replace only 1 shape? There are too much differences in the file, hard to find the
problem.
So please replace 1 shape with ffdec and with a 3rd party tool, and attach both files
(wrong and working)
Okay, here you go.... Included original, and then an SWF with only One SHAPE replaced
with an image, png also included that used to replace. I also tested it, and the game
crashed when loading into battle which is when the SWF comes into play, being a
DamagePanel.

Sorry, but is still have problem with the attached files...
The image (shape351.png) is not the same as which is in
DamagePanel_one_image_replaced_third_party.swf (323), ok, they are similar, but shape351
is shifted vertically. why?
2nd: why is it called shape351? shape165 was replaced, right?
So please attach again the following files:
- original (ok, i have it, so not important, just to be sure:))
- modified with 3rd party tool (it should be working)
- modified with ffdec (it should be wrong)
- the imported image file
and specify which shape should be replaced.
Thanks.
shape351 is simply the name of what it "was" where I got it from.
Just rename it to 165 if you want. Of course, name doesn't matter right when replacing?
The above you have the original and the third party already.
You don't need to me give you the compile with JPEXS do you? You can just do that right
with the image above and the original and then compare?
Hope that's okay.... Thanks much. Let me know how goes. :)
Of course the filename doesn't matter. My problem is that the image which is in the
DamagePanel_one_image_replaced_third_party.swf file is not the same that you attached.
See the attached files.


165.png in replaced_shape_corrupted_swf.zip is a 3rd variant of this image...
shape351_from_last_zip.png is not only shifted, the colors are different, too.
So please attach the file I listed above.
Okay, sorry about the confusian, I've got all the files as requested with the correct
image used with each.

The only issue however is the third party app requires the image in SVG form, so I don't
know if that's going to be an issue for you, but I did as you requested.
Hey, here's another example of an SWF that I tried to replace the SHAPE with an image....
All files/examples included.

They of course all "crash" when ran in the Game.
Could you please try the attached files?


Test 1.... Seems to work without problem. Good job. :)
Test 2,3,4 ALL Crash....
Please test this file, too.
If it is ok, then you can try the latest nightly build.

It's working..... Thanks much. And sorry for the confusion, was just doing so much
stuff, mixed and matched images, lol
Ok, so the problem was that your player does not support PNG files in DefineBitsJPEG2 tag
for some reason, however it is valid according to flash specification. (And it was really
working in Adobe Flash player) Now FFDec adds the PNG files to a DefineBitsLossless2 tag.
JPEXS: You can remove the *test*.swf files if you want, they are edited files, some of
them are corrupt, too.
I close this issue now, please create new issue if you find any new bug.
State: new→closed