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#2515 AS1/2 edit: getUrl not compiled correctly
Author:
Randomno
RandomnoDate created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS1/2Direct Editation
State: closed 

> What steps will reproduce the problem?
Edit ActionScript in attached SWF (either button script).
> What is the expected output? What do you see instead?
Expected P-Code:
GetUrl "http://example.com/1", "BLANK"
Actual P-Code:
ConstantPool "BLANK", "http://example.com/1", "getUrl"
Push constant0
Push constant1
Push 2
Push constant2
CallFunction
Pop
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
24.0.1
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
Similar to #1494. "getURL" in AS will compile to GetURL2, but other casing fails.
button_site.swf (1 KiB)This is fixed in nightly 3280.
The ActionGetUrl is now decompiled with correct casing = getURL.
Also when ActionGetURL2 is not needed, the getURL is compiled as ActionGetURL.
Note that ActionScript1/2 is case sensitive since SWF version 7,
so calling getUrl won't be the same as getURL.
State: new→upgraded
Thanks, it works now.
I compiled that SWF with CS6 and it treats getUrl (or any other casing) as ActionGetURL
with SWF version 15, so I'm not sure when the case sensitivity applies. Strictly speaking
FFDEC and CS6 are compiling this code differently:
getUrl("http://example.com/1","BLANK");
Also, the P-Code edit window in FFDEC still says "GetUrl", while the opcode info window
says "GetURL", not sure if that's intended.
Yes, you're right, it seems that case sensitivity for SWF version 7+ does not apply to
built-in global functions (at least most of them).
I have confirmed that these are case insensitive:
call
chr
duplicateMovieClip
eval
fscommand
getProperty
getTimer
getVersion
gotoAndPlay
gotoAndStop
int
length
loadMovie
loadMovieNum
loadVariables
loadVariablesNum
mbchr
mblength
mbord
mbsubstring
nextFrame
nextScene
Number
ord
play
prevFrame
prevScene
print
printAsBitmap
printAsBitmapNum
printNum
random
removeMovieClip
setProperty
startDrag
stop
stopAllSounds
stopDrag
String
substring
targetPath
toggleHighQuality
trace
unloadMovie
unloadMovieNum
Please try nightly 3282,
it should compile the getUrl with any case.
I also modified the P-code window that it shows official casing - GetURL.
Great, thank you
State: upgraded→closed
