AS2 deobfuscation fixes

This commit is contained in:
honfika@gmail.com
2016-03-04 10:50:38 +01:00
parent f0d43d42a3
commit c6826da2b6
2 changed files with 10 additions and 1 deletions

View File

@@ -50,6 +50,10 @@ public class ActionCall extends Action {
@Override
public boolean execute(LocalDataArea lda) {
if (lda.stack.size() == 0) {
return false;
}
lda.stage.callFrame(EcmaScript.toInt32(lda.stack.pop()));
return true;
}

View File

@@ -52,7 +52,12 @@ public class ActionCallMethod extends Action {
return false;
}
String methodName = lda.popAsString();
ActionScriptObject obj = (ActionScriptObject) lda.pop();
Object obj0 = lda.pop();
if (!(obj0 instanceof ActionScriptObject)) {
return false;
}
ActionScriptObject obj = (ActionScriptObject) obj0;
int numArgs = (int) (double) lda.popAsNumber();
if (lda.stack.size() < numArgs) {
return false;