mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-13 16:38:08 +00:00
Fixed: [#2394] Broken deobfuscation on incorrect length of ActionStrictMode
Fixed: [#2394] ActionStrictMode with mode larger than 1 now ignored
This commit is contained in:
@@ -13,6 +13,8 @@ All notable changes to this project will be documented in this file.
|
||||
- AS1/2 - Push action hilighting, GetProperty, Call action hilighting
|
||||
- [#2381] Font color values with alpha allowed in html edittext, but alpha ignored
|
||||
- [#2384] Vanishing pins on AS3 code editing save, on script deletion and few other cases
|
||||
- [#2394] Broken deobfuscation on incorrect length of ActionStrictMode,
|
||||
- [#2394] ActionStrictMode with mode larger than 1 now ignored
|
||||
|
||||
## [22.0.1] - 2024-11-20
|
||||
### Added
|
||||
@@ -3686,6 +3688,7 @@ Major version of SWF to XML export changed to 2.
|
||||
[#2389]: https://www.free-decompiler.com/flash/issues/2389
|
||||
[#2381]: https://www.free-decompiler.com/flash/issues/2381
|
||||
[#2384]: https://www.free-decompiler.com/flash/issues/2384
|
||||
[#2394]: https://www.free-decompiler.com/flash/issues/2394
|
||||
[#2366]: https://www.free-decompiler.com/flash/issues/2366
|
||||
[#2367]: https://www.free-decompiler.com/flash/issues/2367
|
||||
[#2372]: https://www.free-decompiler.com/flash/issues/2372
|
||||
|
||||
@@ -1942,7 +1942,7 @@ public class SWFInputStream implements AutoCloseable {
|
||||
case 0x2D:
|
||||
return new ActionFSCommand2(getCharset());
|
||||
case 0x89:
|
||||
return new ActionStrictMode(this);
|
||||
return new ActionStrictMode(actionLength, this);
|
||||
// SWF3 Actions
|
||||
case 0x81:
|
||||
return new ActionGotoFrame(actionLength, this);
|
||||
|
||||
@@ -57,11 +57,12 @@ public class ActionStrictMode extends Action {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param actionLength Action length
|
||||
* @param sis SWF input stream
|
||||
* @throws IOException On I/O error
|
||||
*/
|
||||
public ActionStrictMode(SWFInputStream sis) throws IOException {
|
||||
super(0x89, 1, sis.getCharset());
|
||||
public ActionStrictMode(int actionLength, SWFInputStream sis) throws IOException {
|
||||
super(0x89, actionLength, sis.getCharset());
|
||||
mode = sis.readUI8("mode");
|
||||
}
|
||||
|
||||
@@ -104,6 +105,9 @@ public class ActionStrictMode extends Action {
|
||||
|
||||
@Override
|
||||
public void translate(Map<String, Map<String, Trait>> uninitializedClassTraits, SecondPassData secondPassData, boolean insideDoInitAction, GraphSourceItem lineStartItem, TranslateStack stack, List<GraphTargetItem> output, HashMap<Integer, String> regNames, HashMap<String, GraphTargetItem> variables, HashMap<String, GraphTargetItem> functions, int staticOperation, String path) {
|
||||
if (mode != 1) {
|
||||
return;
|
||||
}
|
||||
output.add(new StrictModeActionItem(this, lineStartItem, mode));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user