码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JS逆向核心流程


    JS逆向核心流程:

    • 从分析网络请求 -->
    • 定位加密参数生成处 -->
    • 扣加密参数的 “JS加密算法代码” -->
    • 补浏览器环境 -->
    • 到最终的node调用;

    这个流程是JS逆向的主经脉,是JS逆向的核心,其中每个步骤都有各自的体系化分析方案,如 “定位加密参数生成处”,其方案有:

    • 搜索加密参数
    • 通过请求的Initiator去跟调用栈
    • xhr断点请求发送位置
    • DOM断点响应数据渲染位置
    • Event Listener断点触发事件位置
    • hook对象赋值-对象属性访问

    等等。。。将这一系列分析方案结合起来形成体系化,最终的目的就是:“定位加密参数生成处”,然后进入后续流程-- 扣加密参数的“js加密算法代码”;

    对不同的反爬网站进行逆向,我们都要亲自去走前三个步骤,难有通杀方案;
    前三个步骤都需要我们花时间去打磨,去练,才能运用自如,以应对更高难度的逆向;

    而 “补浏览器环境” 这个步骤却比较特殊,有可行的通杀方案,
    这个步骤的最终目的是 让扣出来的 “JS加密算法代码” 能在 node环境中正确运行。
    实现这个目的的方案有两个:

    1. 将 “JS加密算法代码” 中使用到的浏览器环境逻辑替换掉;如:
    var flag;
    if(navigator.userAgent){
    flag=true
    } 
    替换为 var flag=true;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 使用js来伪造浏览器的各种环境,如 BOM: navigator.userAgent DOM:document.cookie等;

    当然这两种方案可以糅合使用,但是其缺陷依然存在:

    • 第一种方案难点在于 需要定位代码使用了哪些浏览器环境,然后才能进行逻辑替换; 而且当网站js逻辑更新时,需要再替换一遍。。无法对不同网站进行通杀

    • 第二种方案难点在于 浏览器环境太多,需要伪造的对象太多了,但是补的足够多时可 ”通杀“。

    为了减少在这个步骤花费的精力,极大提高工作效率,我们选择优化第二种方案 达到通杀目的:
    通杀方案 – 通过js模拟一个趋于完美的浏览器环境,让扣出来的 “JS加密算法代码” 犹如运行在真实浏览器中;
    这个方案工程代码量较大,需要借助 “补环境框架” 来组织各种浏览器环境代码以达到最终效果。
    “补环境框架直通车“:JS逆向之浏览器补环境详解

  • 相关阅读:
    Mac M1通过VMWare Fusion安装Centos7记录(镜像和网络有大坑)
    【代码随想录算法训练Day65】卡码网47.参加科学大会、卡码网94. 城市间货物运输 I
    Jasypt加解密、信息脱敏
    YOLO目标检测——口罩规范佩戴数据集+已标注xml和txt格式标签下载分享
    SpringBoot学习笔记-配置spring.mvc.view.prefix和suffix
    【vue3】element-plus,Checkbox-Group多选框之绑定选中数据,数据不显示选中问题
    基于java的学生考勤信息管理系统设计【附源码】
    iOS插件
    # Vue3 toRef 和 toRefs 函数
    探索HSE化工安全系统在化工生产中的作用
  • 原文地址:https://blog.csdn.net/qq_36291294/article/details/127702973
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号