js逆向-逆向部分技巧总结

前面我们已经学习了不少JavaScript逆向相关的知识,包括浏览器调试、Hook、AST、无限debugger的绕过以及JavaScript的模拟调用等,这些知识点都比较松散,有时大家学完了可能觉得没有形成一个知识体系,或者说没有一个常规“套路”来应对一些JavaScript逆向的处理流程。

本节中,我们就对前面的知识点做一个串联和总结,总结出JavaScript逆向过程中常用的流程,这个流程适用于大多数JavaScript逆向过程。大家熟练运用之后,可以在不同情况下运用不同的技巧来进行JavaScript逆向操作。

总的来说,JavaScript逆向可以分为三大部分:寻找入口、调试分析、模拟执行。下面我们来分别介绍。

  • 寻找入口:这是非常关键的一步,逆向在大部分情况下就是找一些加密参数到底是怎么来的,比如请求中token、sign等参数到底是在哪里构造的,这个关键逻辑可能写在某个关键的方法里面或者隐藏在某个关键变量里面。一个网站加载了很多JavaScript文件,那么怎么从这么多JavaScript代码里面找到关键的位置,那就是一个关键问题。这就是寻找入口。
  • 调试分析:找到入口之后,比如说我们可以定位到某个参数可能是在某个方法里面执行的了,那么里面的逻辑究竟是怎样的,里面调用了多少加密算法,经过了多少变量赋值和转换等,这些我们需要先把整体思路搞清楚,以便于我们后面进行模拟调用或者逻辑改写。在这个过程中,我们主要借助于浏览器的调试工具进行调试分析,或者借助于一些反混淆工具进行代码的反混淆等。
  • 模拟执行:经过调试分析之后,我们差不多已经搞清楚整个逻辑了,但我们的最终目的还是写爬虫,怎么爬到数据才

js逆向-逆向部分技巧总结相关推荐

  1. 微信公众平台js算法逆向

    大家好我是J哥,js逆向已经是爬虫工程师进阶必会的了,今天我来带领大家演练一下关于微信公众平台js算法逆向的学习,希望对大家有所帮助. 一.首先我们对页面整体进行分析和我们所要配对的环境 https: ...

  2. 原生js循环展示dom_web前端教程:JS高阶编程技巧-惰性函数

    框架(framework)是一个框子--指其约束性,也是一个架子--指其支撑性.是一个基本概念上的结构,用于去解决或者处理复杂的问题. Web前端教程 框架这个广泛的定义使用的十分流行,尤其在软件概念 ...

  3. JavaScript 逆向调试常用技巧

    1. 断点调试 接下来介绍一个非常重要的功能 -- 断点调试.在调试代码的时候,我们可以在需要的位置上打断点,当对应事件触发时,浏览器就会自动停在断点的位置等待调试,此时我们可以选择单步调试,在面板中 ...

  4. 2018xman冬令营选拔赛第2题wp-Android结合js的逆向实践

    第2题wp 绕着绕着就出来了 1.      使用jd-gui反编译apk源代码. 2.      查看主进程中的OnCreate()函数: 点击按钮a的时候,会创建b对象,b对象会执行url中的js ...

  5. Python 爬虫逆向破解案例实战 (三):凡科网逆向之闭包技巧

    目录 1. 凡科网逆向分析 2. 代码实现 3. 总结 1. 凡科网逆向分析 点击 此处 进入到 凡科网 的主页面,在键盘中按下 <Fl2> 快捷键或者是鼠标右键单击选择 检查(inspe ...

  6. iOS逆向 — 逆向微信,透视聊天背景

    作为逆向的巩固练习 利用后摄像头获取视频流 实现微信聊天界面的背景透视 后置摄像头对着大广州塔 项目源代码放在了我的Github仓库 1. 概述 前两天逆向了微信实现伪装定位,想着想再实现一个好玩的 ...

  7. js 常用的开发技巧

    字符串常用技巧 时间对比:时间个位数形式需补0 const time1 = "2019-03-31 21:00:00"; const time2 = "2019-05-0 ...

  8. 使用Chrome Dev Tools, deb.js调试Javascript小技巧

    本文讲介绍一些基于 Chrome Dev Tools 的实用的客户端Javascript 调试小技巧.我将重点关注那些无从下手,不知道该在哪儿添加断点的情景. 首先看下本文主题: 找出哪段代码正在修改 ...

  9. JS日常开发小技巧(持续更新)

    前言 整理总结了一些日常开发中的JS小技巧,可以简化代码,使代码看起来更加简洁明了. 一.数组去重 数组去重的方法有很多种,比如:for循环.双重for循环等,思路一般是生成一个新数组,然后遍历原数组 ...

最新文章

  1. 前端之图形学-2 着色器
  2. 第六周项目四-静态成员应用
  3. 在想要放弃的时候想想是什么在支撑着你走到了这一步。
  4. php 右下脚弹窗,纯js的右下角弹窗实例代码
  5. Maven内置属性及使用
  6. 方差、标准差、均方根误差
  7. 后端程序员不得不会的 Nginx 转发匹配规则
  8. 描述性统计分析案例题_SPSS问卷数据统计分析之项目分析
  9. hdu 6184 Counting Stars(三元环计数)
  10. Hudi-表的存储类型及比较
  11. 电脑网页游戏微端服务器失败,电脑重装后微端游戏玩不了,网页也进不了
  12. 用python绘制字符画
  13. SpringBoot+Mybatis+Thymeleaf-Build Blog site_2
  14. 王叁寿:大数据是传统信息化厂商的掘墓人
  15. 价值规律在现代社会基本失效
  16. xposed开发11 - 微信红包
  17. [第五空间2019 决赛]PWN5
  18. 如何提高英阅读英文技术资料
  19. 巴山老狼《丑陋的中国皇帝》系列之二——不太丑陋、有几分可爱、还有几分搞笑的刘备父子
  20. 龙芯2K1000运行linux,龙芯2K1000支持补丁有望在Linux 5.13进入内核

热门文章

  1. 遥感图像-Deep Feature Alignment Neural Networks for Domain Adaptation of Hyperspectral Data高光谱数据深度特征对齐神经
  2. matlab 点云根据法向量投影到六个平面
  3. 带外通道技术(OOB)总结
  4. 工件表面图案正反及混料检测流程
  5. 超详细——入门Github的代码上传
  6. Unity3D中文视频教程【超清+精选】
  7. 【C++】如何阅读别人的代码?如何阅读别人的C++代码?如何高效学习他人代码
  8. 用MATLAB求解拟合公式系数和拟合优度
  9. ZYNQ-Linux设备树驱动下的双DMA循环切换传输数据
  10. 数据同步工具—sqoop 2.x