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#1095 '§§dup' appearing on simple function
Author: ilufang
Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: closed
> What steps will reproduce the problem?
Open the swf file, navigate to script common.util.Util._$(). (line 307 in the editor) and
let the decompiler decompile the code.
The settings are all default. Turning on and off auto-deobfuscation causes no difference
to the output.
> What is the expected output? What do you see instead?
A simple function decompiles with stray "§§dup"s, see below.
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
I am running FFDec_7.1.1 Release .jar file on MacOS (10.11), Java 8 update 65 (Although I
think this problem is not probably related to runtime environment).
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
Hello. When trying to decompile a swf, ffdec returned the code with stray "§§dup"s. I
have read similar issues about '§§' and understand that this is a temporary workaround,
but just for your information, and this simple function does not seem to be obfuscated.
P-CODE
======
method
name "Util.as$4:anonymous"
param Qname(PackageNamespace(""),"Number")
returns Qname(PackageNamespace(""),"Number")
body
maxstack 3
localcount 2
initscopedepth 0
maxscopedepth 0
code
getlex Qname(PackageNamespace(""),"Math")
dup
pushstring "floor"
getproperty
MultinameL([PrivateNamespace("common.util:Util"),StaticProtectedNs("common.util:Util"),Sta
ticProtectedNs("Object"),PackageNamespace("common.util"),PackageInternalNs("common.util"),
PrivateNamespace("FilePrivateNS:Util"),PackageNamespace(""),Namespace("f5708698caba8c51c7d
1d2070ac5ad10")])
swap
getlocal_1
call 1
returnvalue
Decompiled:
===========
ret.m = function(param1:Number):Number
{
return §§dup(Math)["floor"](param1);
};
Expected:
=========
I do not own the source code, but I speculate that the function should be something like:
return Math["floor"](param1);
Notes:
======
The swf file contains manually obfuscated code (those unintelligible RegExps), but I think
'§§dup' is not used to obfuscate the code.
The file was named decoded because it was previously encrypted, and the file uploaded
should be standard swf with Actionscript 3.
By the way, moving the caret in p-code panel seem to point the caret to incorrect code in
the decompiled AS code panel.
Thank you for your wonderful decompiler!
Core_decoded.swf (186 KiB)
In current nightly(1202+), the dups are hidden by default,
it should solve the problem.
State: new→upgraded
I close this issue due to inactivity. Please create new issue if problem still exists.
State: upgraded→closed