自动收集webpack调用模块

自动收集webpack调用模块

之前的文章介绍过JS逆向中处理webpack的通用方法。那篇文章中是将所需模块所在的JS文件整个拷贝到本地来了。往往这些文件巨大而且不止一个,但是其实我们只需要其中的某些模块。有没有办法自动获取到所有需要的模块而不用拷贝整个JS文件嘛?答案是有的。

加断点

找到源代码中加载我们所需模块的位置,这里为21725模块,在此位置和下一行代码位置加上断点。

进入加载器内部在第一行加上一句无效代码并在此处加上断点

收集模块

刷新页面,将代码执行先经过21725模块然后再到加载器的断点处,此时我们需要几个步骤

  1. 清空模块缓存变量d
  2. 创建一个接收所需模块的变量sss
  3. 在加载器内部断点的下一行增加条件断点,断点条件为sss[e]=f[e], 0,这是一个逗号表达式,条件结果永远为false也就是断点不会停,但是会执行语句sss[e]=f[e],将模块塞入到对象sss中
  1. 继续执行代码直到断点停在加载21725模块代码的下一行代码处
  2. 此时在控制台执行语句,控制台就会打印出加载21725模块所需的所有模块
javascript 复制代码
const pairs = Object.keys(sss).map(key => {
  return `"${key}":${sss[key].toString()}`;
});const result = `{${pairs.join(',')}}`;console.log(result);

注意

收集模块时涉及到的模块缓存变量r、获取模块的f、模块的名称e,可能是随机生成的,不能直接套用我例子中的代码。

相关推荐
浩浩测试一下4 小时前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
浩浩测试一下4 小时前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
程序0077 小时前
.NET玩转爬虫 遇到反爬 jsl cookie
逆向
RSCompany12 小时前
Frida 17 以后 Python API 跑旧版 JS 报 Java is not defined ?一行 import 直接恢复 Frida 16 体验
开发语言·python·逆向·hook·frida·android逆向·frida17
浩浩测试一下1 天前
汇编中的JCC指令 (逆向分析)
汇编·逆向·标志位·jcc指令·跳转指令·标志位寄存器
浩浩测试一下1 天前
汇编中的段与段寄存器(大小)段序 (逆向分析)
汇编·逆向·二进制·字节序·windows编程·内存地址排序
浩浩测试一下3 天前
汇编 位运算 (逆向分析)
汇编·逆向·位运算·asm·windows编程·二进制逆向
浩浩测试一下3 天前
汇编 高低八位寄存器数据存储方式(逆向分析)
汇编·网络安全·逆向·二进制·免杀·寄存器·windows编程
泡泡以安7 天前
Unidbg学习笔记(十三):固定随机干扰项
android·逆向
泡泡以安7 天前
Unidbg学习笔记(十六):Console Debugger
android·逆向