Skip to content

python爬虫练习案例,汇总一些简单的js逆向案例,看准网,网易云评论、房天下,粉笔网,企名片,天翼云,巨潮资讯,tokencap,新榜资讯,公共资源交易,欧科云链,得物等

lexu1618/reverse_practice

 
 

Repository files navigation

PS: 本项目仅供学习交流,严禁用于任何商业和非法用途,非本人使用而产生的纠纷与一切后果均与本人无关。如有侵权,可联系本人删除(微信: wojiaoliyf)!


关于js逆向的参数定位技巧及无限debugger绕过


  • 生成 requirements.txt
    pipreqs reverse_practice --encoding=utf8 --force
    

关于 pycharm激活码chromedriver 环境的配置


忽略某个目录或者文件

  • 由于 node_modules 太大,且默认是可以被上传的。所以我们需要创建一个 .gitignore 文件,目的是忽略上传某个文件或者文件夹。
  • 步骤如下:

    创建 .gitignore 文件

    cd reverse_practice
    touch .gitignore
    

    创建好文件之后,在里边添加需要忽略的目录和文件即可

  • 忽略规则如下:
    target          //忽略这个target目录
    angular.json    //忽略这个angular.json文件
    log/*           //忽略log下的所有文件
    css/*.css       //忽略css目录下的.css文件
    

download this repository

  • 克隆本项目至本地
  • 准备 python 运行环境(version: 3.9.1)
    • cd reverse_practice
    • pip3 install -r requirements.txt
  • 准备 nodejs 运行环境(version: 14.17.3)
    • cd reverse_practice
    • npm install

爬虫辅助工具


从202207开始整理爬虫的一些逆向案例,不定时更新

个别网站的逆向思路及步骤,记录在py文件中

网站名称 网站url地址 文档 项目位置
欧科云链 链接 点击跳转 oklink
房天下 链接 点击跳转 passport_fang
企名片 链接 点击跳转 qimingpian
天翼云 链接 点击跳转 ctyun
猿人学 链接 yuanrenxue
巨潮资讯-数据中心 链接 webapi
MyToken 链接 点击跳转 mytokencap
新榜资讯 链接 newrank
粉笔网 链接 fenbi
福建省公共资源交易-交易信息 链接 点击跳转 ggzyfw_fujian
犀牛数据 链接 点击跳转 xiniu
全国建筑市场监管公共服务平台 链接 点击跳转 jzsc
得物(m.poizon.com) 链接 点击跳转 dewu
网易云 链接 music163
易车网 链接 点击跳转 yiche
巴比特-快讯 链接 点击跳转 8btc
加密解密-APP喵 链接 appmiu
艺恩 链接 endata
中国招投标公共服务平台 链接 ctbpsp
37网手游 链接 点击跳转 my_37
中国·国家地名信息库 链接 dmfw_mca
看准网 链接 kanzhun
崔佬搭建的练习网站 链接 scrape_spa2
浙江省核酸采样点查询 链接 点击跳转 hsddcx
酷我音乐 链接 music_kuwo
领导留言板 链接 点击跳转 liuyan
全国核酸检测机构查询 链接 点击跳转 bmfw
美食优惠聚合 链接 点击跳转 waitpay
查策网 链接 chacewang
裁判文书响应数据解密 链接 cpws
搜狐详情页图片地址解密 链接 点击跳转 souhu
黑猫投诉 链接 tousu_sign
猎聘 链接 点击跳转 liepin
阿里文学 链接 aliwx
当乐网 链接 点击跳转 oauth
一品威客 链接 点击跳转 ypwk
喜马拉雅 链接 点击跳转 xmly_login
滴滴外卖 链接 点击跳转 didiwaimai
红人点集 链接 点击跳转 hh1024

一些常见的乱码

  • 数据来源于爬虫交流群里边,一个大佬发的,如有侵权,请联系本人删除。 常见的乱码

一些常用的hook代码

以下汇总常用的hook代码,来源于公众号文章 JS 逆向之 Hook,吃着火锅唱着歌,突然就被麻匪劫了!

  • Hook cookies

    (function () {
      'use strict';
      var cookieTemp = '';
      Object.defineProperty(document, 'cookie', {
        set: function (val) {
          if (val.indexOf('__dfp') != -1) {
            debugger;
          }
          console.log('Hook捕获到cookie设置->', val);
          cookieTemp = val;
          return val;
        },
        get: function () {
          return cookieTemp;
        },
      });
    })();
  • Hook headers

    (function () {
        var org = window.XMLHttpRequest.prototype.setRequestHeader;
        window.XMLHttpRequest.prototype.setRequestHeader = function (key, value) {
            if (key == 'safe') {
                debugger;
            }
            return org.apply(this, arguments);
        };
    })();
  • Hook URL

    (function () {
        var open = window.XMLHttpRequest.prototype.open;
        window.XMLHttpRequest.prototype.open = function (method, url, async) {
            if (url.indexOf("login") != -1) {
                debugger;
            }
            return open.apply(this, arguments);
        };
    })();
  • Hook JSON.stringify

    (function() {
        var stringify = JSON.stringify;
        JSON.stringify = function(params) {
            console.log("Hook JSON.stringify ——> ", params);
            debugger;
            return stringify(params);
        }
    })();
  • Hook JSON.parse

    (function() {
        var parse = JSON.parse;
        JSON.parse = function(params) {
            console.log("Hook JSON.parse ——> ", params);
            debugger;
            return parse(params);
        }
    })();
  • Hook eval

    (function() {
        // 保存原始方法
        window.__cr_eval = window.eval;
        // 重写 eval
        var myeval = function(src) {
            console.log(src);
            console.log("=============== eval end ===============");
            debugger;
            return window.__cr_eval(src);
        }
        // 屏蔽 JS 中对原生函数 native 属性的检测
        var _myeval = myeval.bind(null);
        _myeval.toString = window.__cr_eval.toString;
        Object.defineProperty(window, 'eval', {
            value: _myeval
        });
    })();

About

python爬虫练习案例,汇总一些简单的js逆向案例,看准网,网易云评论、房天下,粉笔网,企名片,天翼云,巨潮资讯,tokencap,新榜资讯,公共资源交易,欧科云链,得物等

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.2%
  • Python 4.8%