Commit Graph
62 Commits
Author SHA1 Message Date
Jindra Petřík 7d18834c81 feat!: redesigned loop detector (#2542)
Instead of walking code structures to get loops,
the loops are populated by new faster algorithm.
Also, we do not join adjacent GraphParts anymore
in non-obfuscated code.
For proper switch handling, the code is decompiled
in two passes everytime (Previously, the second pass
was used only sometimes).
In first pass we do not process ifs as it may break
switch detection. Second pass is executed after we know
the switches position.

Fixes #2542
2026-04-06 21:06:19 +02:00
Jindra Petřík e577257532 Update year in license header. 2026-01-16 21:33:23 +01:00
Jindra Petřík f8eefae60e Fix test. 2025-08-02 13:54:08 +02:00
Jindra Petřík 90a82a538a Print SafeStr list at the bottom (AS3) 2025-07-25 19:30:13 +02:00
Jindra Petřík 3f9f349a69 Update year in license headers to 2025 2025-05-26 07:41:42 +02:00
Josh Soref 95dfac7cc5 spelling: settings
Signed-off-by: Josh Soref <[email protected]>
2024-10-29 16:55:43 +01:00
Josh Soref 2f216b0755 spelling: expected
Signed-off-by: Josh Soref <[email protected]>
2024-10-29 16:55:43 +01:00
Josh Soref db8453094e spelling: execute
Signed-off-by: Josh Soref <[email protected]>
2024-10-29 16:55:43 +01:00
Jindra Petřík 531cb00e1d Organize imports 2024-10-13 20:43:18 +02:00
Jindra Petřík 38bcab878b Remove "static operation". 2024-08-08 19:27:14 +02:00
Jindra Petřík 19c771bf44 Update license year 2024-08-05 11:17:25 +02:00
Jindra Petřík 5141263960 Fixed #223 AS2 Detecting uninitialized class fields 2023-10-16 09:36:06 +02:00
Jindra Petřík 487d1f8b14 Update license year 2023-03-19 22:43:41 +01:00
Jindra Petřík 8b6dd09069 organize imports 2022-12-18 23:10:24 +01:00
Jindra Petřík cfca80c409 Added Search in the advanced settings 2022-11-14 10:04:55 +01:00
Jindra Petřík 1c9f81fceb Added #1701 Setting charset for SWF files with version 5 or lower 2022-11-14 10:04:55 +01:00
Jindra Petřík c73a754a51 Fixed Adding new frames did not set correct timelined to ShowFrame
Add tag before / after refactoring.
2022-11-06 21:44:39 +01:00
Jindra Petřík 1d82af4855 Update license header year 2022-11-06 21:44:39 +01:00
Jindra Petřík d3477d910c Fixed: #1838 AS3 - Properly handling of long unsigned values, hex values, default uint values etc.
Changed: AS3 integer values are internally (e.g. in the lib) handled as java int type instead of long.
2022-10-22 15:27:44 +02:00
Jindra Petřík 526f484513 Fixed AS1/2 - switch with nontrivial expressions like and/or,ternar (second pass) 2021-11-29 17:15:56 +01:00
Jindra Petřík c6b1e528df update license header year 2021-02-08 20:15:19 +01:00
Jindra Petřík 7f6181360f AS3 p-code more RAbcDasm like (parenthesis after True/False/Undefined/Null trait kinds)
AS3 method trait p-code indentation
AS3 editation of body traits (slot/const only)
2021-02-08 20:15:19 +01:00
Jindra Petřík 02660f396e AS1/2 deobfuscation of empty stack pops - returning Undefined instead 2018-05-28 18:00:32 +02:00
Jindra Petřík c0e6e728d9 AS2 class detector - checking classes only in DoInitAction tags 2018-01-27 11:34:51 +01:00
Jindra Petřík 2bf7597cea update license headers 2018-01-16 20:24:33 +01:00
[email protected] cf58f71f10 AVM2 execution fixes 2016-12-30 21:19:48 +01:00
Jindra Petřík 6781d86a6c Reformat and organize imports 2016-08-06 07:21:58 +02:00
Jindra Petřík 12e3d208ce Merge origin/master 2016-01-03 14:35:18 +01:00
Jindra Petřík b3bbdd113e player test fix 2016-01-03 12:36:38 +01:00
[email protected] 646d696251 fixes again 2016-01-01 14:30:08 +01:00
[email protected] 1cea429e7b copyright year updated 2016-01-01 14:06:56 +01:00
Jindra Petřík c4c69abf83 Experimental execution of AS1/2 in FFDec Flash viewer (very basic, needs testing and many improvements) 2015-12-29 08:05:23 +01:00
[email protected] 16a27789e3 swf.tags and sprite.subtags are private to avoid modifying the list without setting the isModified flag + some small chages 2015-12-27 10:19:27 +01:00
[email protected] c563a7449b allow trait specification in pcode import 2015-12-15 12:46:08 +01:00
[email protected] 0cf0df67ea using existing getOffset method everywhere, made offset is privete 2015-11-30 09:16:51 +01:00
Jindra Petřík 1237762e60 AS1/2 debugger
debugger listening only when really debugging started
fail to listen message
break reason displayed
2015-11-21 19:12:42 +01:00
[email protected] dc3cbaf317 do not write everyting to the output while testing instruction executions 2015-11-18 17:35:48 +01:00
[email protected] 9b03c3d5de further as2/3 execution fixes 2015-11-18 17:18:14 +01:00
zavarkog 0555e6a535 disable test in flashplayertest.java 2015-11-18 10:34:18 +01:00
zavarkog e9072207c1 as3 execution fixes 2015-11-18 10:33:13 +01:00
[email protected] 61917dad6d execute multiple AS2 action list with 1 call 2015-11-17 16:01:02 +01:00
[email protected] 722c4fae24 ecmascript and push byte fix 2015-11-16 11:09:49 +01:00
[email protected] 9d67ada6bc line endings ? 2015-11-15 12:05:47 +01:00
[email protected] 577847e397 execute multiple avm2code list in 1 call (ready) 2015-11-15 11:36:22 +01:00
[email protected] 4039613e4d missing file... 2015-11-11 09:37:55 +01:00
[email protected] be7b3d1b97 execute multiple avm2code list in 1 call (much faster than loading flashplayer every time).. not ready yet 2015-11-11 09:29:11 +01:00
[email protected] e62b886a09 AS3 instruction execution fixes 2015-11-05 08:53:57 +01:00
[email protected] 3508a67fc1 some AS3 instruction executions implemented 2015-11-04 07:49:49 +01:00
[email protected] 45c1cae754 execution tests added 2015-11-03 13:42:34 +01:00
[email protected] 56bd4cd1f6 AS2 deobfuscation improvement 2015-11-01 12:12:04 +01:00