做JS逆向时,Python如何调用JS代码
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍了做JS逆向时,Python如何调用JS代码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇做JS逆向时,Python如何调用JS代码文章都会有所收获,下面
千家信息网最后更新 2025年01月16日做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安全错误
数据库的锁怎样保障安全
中国第二网络安全产业园区
思科网络技术题库
工行软件开发中心不续签
易享网络技术有限公司
信息网络技术高速发展
人才库软件开发商
永州软件开发培训好不好
软件开发与应用技术怎么样
巴彦县网络安全宣传活动
要认证的网络安全吗
服务器设置域名映射ip
维护网络安全的协议
谈谈对网络安全的想法和看法
oracle数据库怎么写语句
java哪个文件连接数据库
网络安全cs什么意思
2022年小迪网络安全渗透培训
为什么数据库不能安装失败
淘宝秒杀服务器
山东租赁软件开发平台
excel能连数据库吗
木棉树软件开发有限公司怎么样
重庆网络技术学院官网
计算机网络技术电子书下载
软件开发工程师的感想
北京乐游软件开发有限公司
云服务器能做货运平台吗
计算机网络技术课程实训目的
软件开发需要具备内容
山东租赁软件开发平台