If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : You can now close your own issues and reopen them later if needed. You can also comment closed issues.
List of issues#2704 The speed of importing files to SWF via FFDec CLI has become slower
Author:
demnd
demndDate created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS1/2PerformanceXML
State: upgraded 

v26.0.0
We have the following repository with a CMake build: https://github.com/doodlum/SkyUI-Community. We
import AS scripts and XML files into SWF. We recently switched to v26.0.0 and the import
speed has become slower. In v25.1.3, the speed was faster. Personally, I use the Ninja
generator for parallel assembly.
Could you provide simple example that I can run on example SWF file
with the exact CLI command so I can reproduce it?
I'll try this now and give you the command. We use CMake, which automatically imports AS
and XML files into SWF files located in data/interface.
The decompilation of AS is definitely slower, I did some changes which lead to more
precise outputs which require two pass decompilation.
So if your programs for example after importing runs the decompilation part, it might be
slower.
Anyway, the code compilation (AS direct editation) and XML import should remain the same.
It seems I can't upload the 8 MB test case.
I used the following PowerShell script:
# A quick script to process all SWFs
$timer = Measure-Command {
$ffdec = "./tools/FFDec/ffdec-cli.exe"
# Creating output and copying files
Remove-Item -Path "./output" -Recurse -Force -ErrorAction SilentlyContinue
Copy-Item -Path "./data/interface" -Destination "./output" -Recurse -Force
# Getting all SWF files
$swfs = Get-ChildItem -Path "./output" -Filter "*.swf" -Recurse
foreach ($swf in $swfs) {
$name = $swf.BaseName
$xml = if (Test-Path "./source/swf/$name.xml") { "./source/swf/$name.xml" }
elseif (Test-Path "./source/swf/skyui/$name.xml") {
"./source/swf/skyui/$name.xml" }
else { $null }
$as = $null
if (Test-Path "./build/debug/_staging/AS_${name}/__Packages") { $as =
"./build/debug/_staging/AS_${name}/__Packages" }
elseif (Test-Path "./build/debug/_staging/AS_skyui_${name}/__Packages") { $as =
"./build/debug/_staging/AS_skyui_${name}/__Packages" }
if ($xml) { & $ffdec -xml2swf $xml $swf.FullName }
if ($as) { & $ffdec -config autoDeobfuscate=false,decompile=false -onerror abort
-importScript $swf.FullName $swf.FullName $as }
Write-Host "Processed: $name" -ForegroundColor Green
}
}
Write-Host "`nLead time: $($timer.TotalSeconds) sec" -ForegroundColor Cyan
What do you mean can't upload? You mean here to the issue tracker? Is there any error
message?
Error 504
Yes, I'm trying to upload a file here, it stops at about 60-70%
No, error 503
Not Found
The requested URL /domains/free-decompiler.com/flash/issues/<!DOCTYPE html><html
lang="cs"><head><meta name="robots" content="noindex,follow" /><title>503 Service
Temporarily Unavailable</title></head><body><h1>Service Temporarily Unavailable</h1><p>The
server is temporarily unable to service your request due to maintenance downtime or
capacity problems. Please try again later.</p><p>Ctete instrukce v nasi znalostni bazi:
<b><a href="http:/kb.wedos.com/a/232/503.html" target="_blank">Chyba 503 Service
Temporarily Unavailable</a></b></p></body></html> was not found on this server.
Place your version of FFDec in the ffdec/tools folder. Then run it in PowerShell:
.\process-swf.ps1
https://drive.google.com/file/d/1VAUw4gE1wktCZVV691uCNCwhkVjexqPq/view?usp=sharing
On my computer the script took
100.1745172 sec with 25.1.3
116.2762381 sec with 26.0.0
97.6468321 sec with current nightly 3503.
So I think the times of the 25.1.3 and current nightly are very close,
so I guess it is no longer a problem.
If it's still a problem, then provide clearer examples.
State: new→upgraded
On my computer, the script took
81.667685 seconds with 25.1.3
91.3596428 seconds with 26.0.0
93.9456928 seconds with the current nightly 3503.
93.8312737 seconds with the current nightly 3503 (2)
The issue isn't actually critical, but it's just more noticeable when building with CMake.
I thought I'd report this just in case. Perhaps there are more checks when importing
scripts with version 26.0.0, but I'm not particularly knowledgeable about it)
