我试图了解恶意JS脚本的作用。该脚本很模糊,因此我无法自行阅读。我知道它会创建一个 ActiveXObject 对象。
因此,我决定使用此名称声明我的对象,该名称除了输出日志外什么也不做。 病毒使用结构
var x = new ActiveXObject('file_name')
Google脚本不允许您声明自己的类(是吗?),所以我为新的AX对象声明了构造函数。一切正常,直到病毒尝试像
这样的功能访问AX对象。var AX = new ActiveXObject()
AX()
此返回类型不匹配(对象!=功能)。
我注释了第195行以防止错误。
运行功能doGet进行测试并查看日志。或者只是打开https://script.google.com/macros/s/AKfycbyiYp4kX07jMwjM6B0fynfMrqQwX1ykJHfy8wFpX6Op/dev
答案 0 :(得分:0)
function Foo(x){
var res = function(a,b){
//do something when call like function
return a+b;
};
//add props & methods
res.bar = x; //some prop
res.add = function(a){return res.bar+=a} //some method
res.quad = function(){return (res.bar*res.bar)} //other method
return res; //return function with custom prop&methods
};
var foo = new Foo(1);
console.log(foo.bar); //1
console.log(foo.add(2)); //3
console.log(foo.bar); //3
console.log(foo.quad()); //9
console.log(foo.bar); //3
console.log(foo(8,10)); //18 call like function