JS逆向|Python调用js代码的方案汇总

举报
悦来客栈的老板 发表于 2022/08/06 23:47:07 2022/08/06
【摘要】 关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 一.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:


   
  1. import execjs
  2. jscode = """
  3. function add(a,b)
  4. {
  5. return a + b;
  6. }
  7. """
  8. ctx = execjs.compile(jscode)
  9. value = ctx.call("add",1,2)
  10. 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:


   
  1. from node_vm2 import VM
  2. with VM() as vm:
  3. vm.run("""
  4. var sum = 0, i;
  5. for (i = 0; i < 10; i++) sum += i;
  6. """)
  7. print(vm.run("sum"))

这个库在我电脑的环境下,调用demo出错,大佬们说很好用,可能是我电脑环境的问题。

7c00cb21a39fcc54a588aa36415b4e54.png

尝试修改,又有另外的问题,暂时作罢。

三.py-mini-race库

安装方式:

pip install py-mini-racer
  

PyPi地址:

https://pypi.org/project/py-mini-racer/
  

调用Demo:


   
  1. from py_mini_racer import MiniRacer
  2. ctx = MiniRacer()
  3. value = ctx.eval("1+1")
  4. print (value)

更多的调用方式请参考其Pypi文档。

四.系统命令方式

  1. 如果不需要返回结果:

    os.system("node xxx.js")
        
  2. 需要返回结果:

value = os.popen("node xxx.js").read()
  

五.交流学习

加我好友,拉你进群,现在快开6群了,学习氛围浓,注意,严禁讨论破解相关的话题。

d9e36f521c3a2bf5c759a1243db5a871.jpeg

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/126188543

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。