js逆向点点数据:自动扣webpak-webpackJsonp思路

url链接:点点数据-App应用市场数据分析,AppStore排行榜,ASO,ASM优化平台

请求数据是k,网址是个标准的webpak,不过有有很多个js文件,文件加起来十几mb,就很恶心

js逆向点点数据:自动扣webpak-webpackJsonp思路_第1张图片

扣的话还是扣知乎webpak的老办法,导出加载器,将最下面列表改成对象{},然后将1593加密包放进去运行调用js逆向点点数据:自动扣webpak-webpackJsonp思路_第2张图片

 然后打印下他运行了那些对象,可以看到1593后面又加载了59

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==在控制台搜索59:function,将59方法页抠出来,按照扣知乎wenpak的方法一直这样扣也能扣出来,但是比较耗费时间,能不能自动把所需要的js扣出来呢?js逆向点点数据:自动扣webpak-webpackJsonp思路_第3张图片


window.code = '';
n = function (e) {
        if (r[e])
            return r[e].exports;
        var d = r[e] = {
            i: e,
            l: !1,
            exports: {}
        };
        console.log(e)

        window.code += e+':'+ o[e] +',\r\n'
        return o[e].call(d.exports, d, d.exports, n),
        d.l = !0,
        d.exports
    }


window.zhiyuan = n;

在加载器下方打上断点,hook重写加载器,window.code += e+':'+ o[e] +',\r\n',方法+字符串就变成文本,这样就可以自动加载所需的方法

js逆向点点数据:自动扣webpak-webpackJsonp思路_第4张图片

 运行完后打印下code,发现有2.2mb,复制下来放到加载器对象后面js逆向点点数据:自动扣webpak-webpackJsonp思路_第5张图片

 js逆向点点数据:自动扣webpak-webpackJsonp思路_第6张图片

 运行成功得到加密参数

js逆向点点数据:自动扣webpak-webpackJsonp思路_第7张图片

 新打开个浏览器窗口,将加载器重新,调用1593这个方法,成功得到502kb的js,缩小了很多。复制下来放到自执行下面,再次运行也能运行成功。

js逆向点点数据:自动扣webpak-webpackJsonp思路_第8张图片

 再次缩小的原理就是加载器在网页上运行的时候,会初始化执行,将所有经过.call的对象缓存在浏览器,后面再次调用不用在执行,不会耗费多余的资源。第一次复制下来的js如果过大的话,可以将有加载器所在的js最后一行删除掉,这里一般都会初始化加载缓存js,一般格式都为:

某某某(),不执行这一行复制下来的js就会小很多


 

你可能感兴趣的:(js逆向,爬虫,javascript)