QingYi. 发表于 2021-7-2 10:47

对某网站进行webpack改写

续写昨天的网站:https://www.52pojie.cn/thread-1468829-1-1.html
网易云这边已经有热心人士帮我把图片加进去了:https://www.52pojie.cn/thread-1453411-1-1.html


对付这种网站有三种方式:1.抠函数(太麻烦)2.直接调用加密函数(标准的才行) 3.webpack改写

今天我们来记录一下webpack改写:

我们先把断点打好,具体怎么操作看我昨天的帖子。

我们断到加密的地方,然后点进去这个看

我们可以看到,这边函数调用无限多的函数,去扣函数是不可能的

我们直接把这个js整个复制出来,浏览器去运行

其实他是一个一个的数组,里面有很多的对象,但是对象里面都是 有参数的(e,t,n) 我们不知道这个参数是从哪里来的,猜测,这个不是入口,应该是有别的js调用了他

我们找到他有很多js,我们先看第一个 runtime 进去看看

进来之后我们在这边打个断点去刷新一下我们的页面,他会在这边断下

我们一步一步的单步调试

然后会跳到这边,我们直接在return这边打个断点,然后直接跳到这个断点来

我们可以看到这个r里面的值是不是和我们之前的那些值好像大同小异啊

然后我们继续单步调试,看到这边有一个call我们断下来(不懂call的可以百度学习一下)

进入函数

我们可以看到他这个e调用了这个模块,我们看看这个e是什么个东西 点进去

我们进来之后,让他走一步,发现这个函数就是入口,是他在暗中作祟

大家可以自己一步一步来 单步调试,我就不调试了。


根据上面的分析,我们发现,如果要引用别的模块的话,必须调用这个函数
function f(r) {
      if (n)
            return n.exports;
      var t = n = {
            i: r,
            l: !1,
            exports: {}
      };
      return e.call(t.exports, t, t.exports, f),
      t.l = !0,
      t.exports
    }

我们模块有了,再把这个runtime拿出来
我们把两个全部提取出来

我们要去想,这玩意是局部变量,我们要怎么把它拿出来

我们在代码的最上面写一个变量 :    var lt = null;

然后就赋值一下

ok,我们现在去试一下好不好使

但是不知道填什么值,怎么办,我们去找一下--------发现他是p去调用的

p在哪?在上面

到这里,本次教程结束




后面的大家可以自己去写函数使用

把这一段拿过来
Encrypt: function(l) {
                        var n = p.enc.Utf8.parse("t171420100302rsa")
                        , t = p.enc.Utf8.parse("t171420100302rsa")
                        , e = p.enc.Utf8.parse(l)
                        , a = p.AES.encrypt(e, n, {
                            iv: t,
                            mode: p.mode.CBC,
                            padding: p.pad.Pkcs7
                        });
                        return p.enc.Base64.stringify(a.ciphertext)
                  }

封装成函数,放在同一个文件里面,把l拿到。就可以了,具体怎么操作看我昨天的帖子就行。


有感而发:之前做算法题的时候,有人说:“很多高手不愿意写题解,因为自己懂了之后就进入下一题。如果要把怎么做给大家说一说,就要花费十几个小时去做”
大致意思是这样,今天我总算体会到了(又吹嘘了自己一番hh)

QingYi. 发表于 2021-7-2 18:07

PPZ丿皮皮智 发表于 2021-7-2 17:17
有名字吗我去找

鬼鬼JS

QingYi. 发表于 2021-7-2 14:09

PPZ丿皮皮智 发表于 2021-7-2 13:26
请问楼主这是什么软件吖。过程中用到啥软件能否分享一下呢十分感谢

这个软件有引流性质 不方便分享出来

734347398 发表于 2021-7-2 12:35

很有价值的一篇分析文章,感谢楼主

三滑稽甲苯 发表于 2021-7-2 13:11

可以,增长知识了

PPZ丿皮皮智 发表于 2021-7-2 13:26

https://attach.52pojie.cn/forum/202107/02/100039lvrgss48ef4gi8ex.png请问楼主这是什么软件吖。过程中用到啥软件能否分享一下呢十分感谢

PPZ丿皮皮智 发表于 2021-7-2 17:17

QingYi. 发表于 2021-7-2 14:09
这个软件有引流性质 不方便分享出来

{:1_937:}有名字吗我去找

PPZ丿皮皮智 发表于 2021-7-3 11:30

QingYi. 发表于 2021-7-2 18:07
鬼鬼JS

十分感谢!

pearpear888 发表于 2021-7-3 22:24

学到了,谢谢楼主分享

Wits 发表于 2021-7-30 13:17

页: [1] 2
查看完整版本: 对某网站进行webpack改写