做JS逆向时,Python如何调用JS代码
发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这篇文章主要介绍了做JS逆向时,Python如何调用JS代码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇做JS逆向时,Python如何调用JS代码文章都会有所收获,下面
千家信息网最后更新 2024年10月02日做JS逆向时,Python如何调用JS代码
这篇文章主要介绍了做JS逆向时,Python如何调用JS代码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇做JS逆向时,Python如何调用JS代码文章都会有所收获,下面我们一起来看看吧。
配置环境
node.js
选好版本直接下就好了,它会自动加入系统环境的,检查Node.js版本,出现版本号就说明配置好了。
Pyexecjs
pip install pyexecjs
基本使用
先检查一下使用的引擎是否为node.js
import execjsprint(execjs.get().name)运行结果:Node.js (V8)
运行js代码
pyexecjs
运行js
代码有两种方法
一、eval()
eval()
可以直接执行js
代码
import execjsprint(execjs.eval("a = new Array(1, 2, 3)"))运行结果:[1, 2, 3]
二、compile()
代码量多的话就推荐用这个方法,先将js
代码写入一个文件中,需要的时候读取执行即可。
创建js_text.js
文件,写入如下代码:
function a(str) { return str;}
python
代码:
import execjswith open('js_text.js', 'r', encoding='utf-8') as f: jstext = f.read()ctx = execjs.compile(jstext)a = '123456'result = ctx.call('a', a)print(result)运行结果:123456
先调用compile
编译js
代码,再调用call
方法进行执行,call
的第一个参数的js
代码中的函数名,第二个参数是该函数需要的参数(如果有多个参数,直接逗号写下一个参数即可)。
常见的问题
js
代码返回的字符串如果有特殊字符的话可能会出错。
解决方法就是先将字符串进行 base64 编码后再返回。
function a(str) { return new Buffer(str).toString("base64");}
有了这个方法你就可以不用重写代码了,直接扣js
代码运行即可,扣代码有时会有些变量未声明,在js
代码中查找补全即可,帮助你节省脑力。
关于"做JS逆向时,Python如何调用JS代码"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"做JS逆向时,Python如何调用JS代码"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
代码
运行
参数
方法
字符
版本
知识
结果
内容
函数
字符串
文件
环境
篇文章
先将
检查
配置
特殊
不用
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发主要有以下三种环境
HTML 图片与数据库连接
服务器配置多系统
数据库连接显示10038
一触即发软件开发
5心服务器
java所用数据库
家里电脑当服务器
gta5怎么加服务器
截取第二个相同的数据库
迁安创新软件开发品质保障
软件开发核心词汇
网络安全重要指示精神
数据库的符号怎么打出来的
部队网络安全内容大全
垃圾数据库解决的问题
网络安全与防御问题
数据库检索课题
电商平台网络安全
中学生法制主题展馆软件开发
众义泰网络技术北京有限公司
云服务器远程桌面连接不上怎么办
我国5g网络技术征文
常见的机架式服务器高度为
腾讯云轻量应用服务器能换系统吗
哪一条不属于精益软件开发的
苏州 数据库
内蒙古民族大学网络技术专业
数据库允许为空
微信聊天信息是如何传到服务器