JS逆向|Python调用js代码的方案汇总
【摘要】
关注它,不迷路。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
一.PyExecJS库
安装方式:
pip install PyExecJS==1.0.2
PyPi地址:
https://pypi.org/project/PyExecJS/1.0.2/
调...
关注它,不迷路。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
一.PyExecJS库
安装方式:
pip install PyExecJS==1.0.2
PyPi地址:
https://pypi.org/project/PyExecJS/1.0.2/
调用Demo:
-
import execjs
-
-
-
jscode = """
-
function add(a,b)
-
{
-
return a + b;
-
}
-
"""
-
-
-
ctx = execjs.compile(jscode)
-
value = ctx.call("add",1,2)
-
print (value)
方法很简单,这里的call函数,第一个实参是函数名,第二三个为函数的调用参数,从左到右依次对应。
它还有一个eval函数,具体调用方法可以参考上面的PyPi。
二.node_vm2库
安装方式:
pip install node_vm2
PyPi地址:
https://pypi.org/project/node-vm2/
API参考:
https://pypi.org/project/node-vm2/
代码demo:
-
from node_vm2 import VM
-
-
-
with VM() as vm:
-
vm.run("""
-
var sum = 0, i;
-
for (i = 0; i < 10; i++) sum += i;
-
""")
-
print(vm.run("sum"))
这个库在我电脑的环境下,调用demo出错,大佬们说很好用,可能是我电脑环境的问题。
尝试修改,又有另外的问题,暂时作罢。
三.py-mini-race库
安装方式:
pip install py-mini-racer
PyPi地址:
https://pypi.org/project/py-mini-racer/
调用Demo:
-
from py_mini_racer import MiniRacer
-
-
-
ctx = MiniRacer()
-
-
-
value = ctx.eval("1+1")
-
-
-
print (value)
更多的调用方式请参考其Pypi文档。
四.系统命令方式
如果不需要返回结果:
os.system("node xxx.js")
需要返回结果:
value = os.popen("node xxx.js").read()
五.交流学习
加我好友,拉你进群,现在快开6群了,学习氛围浓,注意,严禁讨论破解相关的话题。
文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/126188543
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)