gpt4 book ai didi

javascript - 如何在 Python 中解压 Javascript

转载 作者:行者123 更新时间:2023-11-28 21:18:42 25 4
gpt4 key购买 nike

我想检索 javascript 脚本的内容,而不是在请求时执行它。

编辑:我知道Python没有执行javascript代码。问题是,当我请求这个在线 JS 脚本时,它会被执行。我无法检索脚本的内容。也许我想要的是像这样解码脚本 http://jsunpack.jeek.org/dec/go

这就是我请求 js 文件的代码:

def request(self, uri):
data = None
req = urllib2.Request(uri, data, self.header)
response = urllib2.urlopen(req)
html_text = response.read()
return html_text.decode()

我大致知道脚本的内部是什么样子,但发出请求后我得到的只是一条“已加载”消息。我的猜测是 JS 代码被执行。有什么方法可以只请求代码吗?

最佳答案

urllib2 中没有 HTML 或 JavaScript 解释器。该模块除了获取资源并将其原始返回给您之外什么也不做;它当然不会尝试执行它收到的任何 JavaScript 代码。如果您没有收到预期的响应,请使用 wget 等工具检查 URL,或使用 Wireshark 或 Fiddler 监视网络连接,以查看服务器实际返回的内容。

(decode() 这里仅将 HTTP 响应正文的字节转换为 Unicode 字符 - 使用默认字符编码,这可能不是一个好主意。)

预计到达时间:

I guess what I want is to decode the Javascript like so jsunpack.jeek.org/dec/go

啊,那是完全不同的游戏。您可以获取该源 here ,不过您还需要安装 Mozilla 的 JavaScript 引擎 SpiderMonkey,以允许其运行下载的 JavaScript。

没有办法在不运行混淆的 JavaScript 的情况下自动“解包”它,因为打包代码可以做任何事情,而且 JS 是一种图灵完备的语言。该工具所做的就是使用一些包装器代码来运行它,这些代码用于诸如加壳器/混淆器通常使用的 eval 之类的函数。不幸的是,这种破坏很容易被检测到,因此,如果您尝试解压的是恶意软件,您会发现失败的次数与成功的次数一样多。

关于javascript - 如何在 Python 中解压 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com