5584197 发表于 2022-4-29 19:18:08

小白JS调试问题

爬虫小白自动登陆网页,已经找到加密的地方,a={xxx:xxx},
n = JSON.decode(a).params.random;

又找到 JSON.decode()的代码
JSON = new Hash({
    stringify: JSON.stringify,
    parse: JSON.parse
});
(function() {
JSON.decode = function(a, b) {}
}

调试的时候报错
未定义Hash
之后又提示未定义JSON
之后搜索不到对应的代码了

请问怎么理解JSON和Hash,后续应该补全哪里的代码
应该补充哪块知识,要学了JavaScript再回来学爬虫么?

1q23w31 发表于 2022-4-29 19:18:09

5584197 发表于 2022-5-1 00:38
直接搜索hash会得到非常多的cookie.hash的代码,正确的hash应该是一个名叫Hash的函数吧?有可能是下面 ...

不是这段,你可以调试一下代码找或者可以试试把这个加密部分的js全部复制下来再运行

南归 发表于 2022-4-29 20:46:21

学爬虫肯定要攻克js这一关

1q23w31 发表于 2022-4-30 08:52:16

找到Hash的初始定义代码

新源 发表于 2022-4-30 22:37:06

南归 发表于 2022-4-29 20:46
学爬虫肯定要攻克js这一关

的确

5584197 发表于 2022-5-1 00:38:51

本帖最后由 5584197 于 2022-5-1 00:43 编辑

1q23w31 发表于 2022-4-30 08:52
找到Hash的初始定义代码

直接搜索hash会得到非常多的cookie.hash的代码,正确的hash应该是一个名叫Hash的函数吧?有可能是下面这个么?

Hash.implement({
    has: Object.prototype.hasOwnProperty,
    keyOf: function(a) {
      return Object.keyOf(this, a)
    },
    hasValue: function(a) {
      return Object.contains(this, a)
    },
    extend: function(a) {
});
Hash.extend = Object.append;
Hash.alias({
    indexOf: "keyOf",
    contains: "hasValue"
});

雪之下雪乃. 发表于 2022-5-2 11:57:59

这个是js中的构造函数 他这边的话应该是重写了json的这个方法来达到使用的时候对他进行额外的拓展功能,hash的话可能是哈希散列这种的加密方式, 想看的话取搜这个Hash关键字就可以了 不过他可能是在其他的地方引入的。

5584197 发表于 2022-5-3 00:43:50

雪之下雪乃. 发表于 2022-5-2 11:57
这个是js中的构造函数 他这边的话应该是重写了json的这个方法来达到使用的时候对他进行额外的拓展功能,has ...

非常感谢!!谢谢,打算去学一下js再来
页: [1]
查看完整版本: 小白JS调试问题