JPEXS Free Flash Decompiler Issue Tracker

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 issuesList of issues

#30 Unreachable opcode delete
Date created:
Type: feature
Visibility: Everybody
Assigned to:
State: closed Help

Hi, it would be nice to add the optional ability to delete unreachable opcodes. For example, many obfuscators add code like that to corrupt the control flow: ..... jump L15 //// HERE BEGIN JUNK OPCODES //// bitnot setlocal3 lessequals greaterequals newactivation pop lshift lessthan setlocal3 L15: some opcodes ....... So, if remove opcodes between jump and label(L15:) it would be clean control flow.
admin
Hi, most of the obfuscators do also the trick with pushtrue setlocal x pushfalse setlocal y and then use these local variables to change flow with pushtrue getlocal x ifeq and then they can insert junk opcode almost everywhere... unreachable opcodes can be deleted, but this is not very useful because all of the other tricks obfuscators do...
user
Well, yeah, about tricks with local bool vars I know too. But they can be easily replaced by jump and then just remove it. Usual are local Boolean variables don’t change the value, they just announced at the beginning of methods.
admin
Hi, please try new version - FFDec 1.3.0 it has new Deobfuscation menu which can remove deadcode.)
user
State: →closed
Title: Unreachable opcode delete→Unreachable opcode delete
Type: →feature
Visibility: →Everybody