python使用pyexejs库运行js代码

python使用pyexejs库运行js代码

前言:有些网站的账号密码不是通过明文传输,而使用js加密后传输。可以先将字典用js加密算法加密,再通过bp爆破,。

一、pyexejs安装

pip install pyexejs

二、使用方法
1:t=exejs.compile(js代码)返回js对象t
2:t.call(函数名,[参数1,参数2])调用函数并返回值。参数可选
3:t.eval(参数名)运行js代码,返回参数值。

import execjs

js_code = '''        
        function x(a, b)
        {
          return a+b;
        }
        var c = "hello";
        var d=1,e=2;
        var f=d+e;
        '''

t = execjs.compile(js_code);#通过compile命令转成一个js对象
hanshu = t.call('x', 3, 4); # 调用函数返回值,call(函数名,[参数1,参数2]print(hanshu);

var_c = t.eval('c');#返回参数值,eval()
print(var_c);

var_f = t.eval('f');
print(var_f);

运行结果:

7
hello
3

三、从文件中读取运行
有时候运行的js代码太多,因此从文件中读取可提高代码可读性。

import execjs

with open('js.js','r')  as f:
    js_code = f.read();
print(js_code);

t = execjs.compile(js_code);#通过compile命令转成一个js对象
hanshu = t.call('x', 3, 4); # 调用函数返回值,call(函数名,[参数1,参数2]print(hanshu);

var_c = t.eval('c');#返回参数值,eval()
print(var_c);

var_f = t.eval('f');
print(var_f);

输出结果(js.js与.py文件同目录):

function x(a, b)
{
  return a+b;
}
var c = "hello";
var d=1,e=2;
var f=d+e;

7
hello
3

(注:本人菜鸡,个人见解,如有错误,欢迎评论指出)
参考文章:
潇洒郎:Python 使用pyexejs运行js代码
python3 用execjs执行JS代码----调用JS方法和变量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值