在安裝之前,需要有node環(huán)境恰起,已經(jīng)安裝的請直接跳過這一步
https://www.runoob.com/nodejs/nodejs-install-setup.html
安裝 Python第三方包Execjs
pip3 install PyExecJS
執(zhí)行js
注:由于上述js代碼會生成window對象姜凄,并不能直接執(zhí)行成功桶错,需要額外的其他輔助甫男,下面舉2個例子
ctx = execjs.compile("""
function add(x, y) {
return x + y;
}
""")
print(ctx.call("add",1,2))
執(zhí)行結(jié)果雁佳,如下圖所示
混淆js代碼
function add(bi1,Pl2}
Python執(zhí)行混淆js代碼
import execjs
ctx = execjs.compile("""
function add(bi1,Pl2}
""")
print(ctx.call("add"言秸, 1, 2))
執(zhí)行結(jié)果曹体,如下圖所示:
只要執(zhí)行的是js代碼厅瞎,都是可以正常執(zhí)行
示例二饰潜,js時間的拼接:
import execjs
js_time = execjs.compile("""
function formatDate(now) {
var now = new Date(1230999938);
var year=now.getFullYear();
var month=now.getMonth()+1;
var date=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
}
""")
print(js_time.call('formatDate'))
執(zhí)行結(jié)果,如下圖所示:
重點拼接時間返回的js混淆代碼也是可以執(zhí)行的,但是它多了一個window對象磁奖,需要node安裝jsdom才行