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.
![List of issues](/flash/images/issue_list.png)
#2185 MochiCrypt decryption throws null pointer exception on specific SWF
Author:
nosamu
![user user](/flash/images/user.png)
Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: Packers
State: upgraded ![Help](/flash/images/help.png)
![Help](/flash/images/help.png)
> What steps will reproduce the problem?
1. Turn on "Auto load embedded SWFs" in FFDec's advanced settings
2. Try to open the attached SWF in FFDec.
> What is the expected output? What do you see instead?
I expect FFDec to successfully open the SWF. And ideally it would also be able to load the
embedded encrypted SWF.
Instead the SWF fails to load. The dialog says: "Cannot load SWF file:
java.lang.NullPointerException"
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
FFDEC version: 20.1.0 nightly 2761
Operating system: Windows 10 64-bit
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
Here is the full error:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:126)
at com.jpexs.decompiler.flash.gui.Main.parseOpenable(Main.java:1310)
at com.jpexs.decompiler.flash.gui.Main$OpenFileWorker.doInBackground(Main.java:1585)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at
com.jpexs.decompiler.flash.tags.DefineBinaryDataTag.loadEmbeddedSwf(DefineBinaryDataTag.ja
va:136)
at com.jpexs.decompiler.flash.SWF.loadAllEmbeddedSwfs(SWF.java:1503)
at com.jpexs.decompiler.flash.SWF.<init>(SWF.java:1470)
at com.jpexs.decompiler.flash.SWF.<init>(SWF.java:1403)
at com.jpexs.decompiler.flash.gui.Main$10.open(Main.java:1125)
at com.jpexs.decompiler.flash.gui.Main$10.doInBackground(Main.java:1299)
at com.jpexs.decompiler.flash.gui.Main$10.doInBackground(Main.java:1083)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:61)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:78)
... 3 more
![Download](/flash/images/disk.png)
This file contains new kind of MochiCrypt packer - I call it 16 bit as it uses 16 bit
length field.
Previously only 32bit MochiCrypt was supported.
In nightly 2763, I added support for 16bit MochiCrypt.
Unfortunately, as multiple MochiCrypt packers are available, one cannot be sure which one
to use.
So automatic loading is not possible in this case.
You need to select proper unpacker with context menu "Use unpacker".
State: new→upgraded