import com.jpexs.decompiler.flash.SWF;
import com.jpexs.decompiler.flash.abc.ABC;
import com.jpexs.decompiler.flash.abc.types.MethodBody;
import com.jpexs.decompiler.flash.abc.types.traits.Trait;
import com.jpexs.decompiler.flash.action.ActionList;
import com.jpexs.decompiler.flash.helpers.SWFDecompilerListener;
import com.jpexs.decompiler.flash.tags.base.ASMSource;
import com.jpexs.decompiler.graph.GraphTargetItem;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DeobfuscatorSample implements SWFDecompilerListener {
@Override
public byte[] proxyFileCatched(byte[] data) {
System.out.println("proxyFileCatched");
return null;
}
@Override
public void actionListParsed(ActionList actions, SWF swf) {
System.out.println("actionListParsed");
}
@Override
public void actionTreeCreated(List<GraphTargetItem> tree, SWF swf) {
System.out.println("actionTreeCreated");
}
@Override
public void swfParsed(SWF swf) {
System.out.println("swfParsed");
Map<String, ASMSource> asms = swf.getASMs(true);
for (ASMSource asm : asms.values()) {
try {
asm.getActions();
} catch (InterruptedException ex) {
Logger.getLogger(DeobfuscatorSample.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
@Override
public void abcParsed(ABC abc, SWF swf) {
System.out.println("abcParsed");
}
@Override
public void methodBodyParsed(MethodBody body, SWF swf) {
System.out.println("methodBodyParsed");
}
@Override
public void avm2CodeRemoveTraps(String path, int classIndex, boolean isStatic, int scriptIndex, ABC abc, Trait trait, int methodInfo, MethodBody body) throws InterruptedException {
System.out.println("avm2CodeRemoveTraps");
}
}