js逆向

js逆向

Node.js 运行环境

本文专注于逆向还原场景下的 Node.js 使用,包括如何在本地运行扣出的 JS 代码、利用内置模块辅助逆向分析,以及补全浏览器环境。 vm 模块允许在隔离的沙箱上下文中执行代码,是运行不受信任 JS 代码的常用方式。 vm.runInNewContext(code, sandbox, options) vm.Script 适合需要多次执行同一段代码的场景(预编译): vm.createContext(sandbox) 将一个普通对象提升为 vm 上下文(contextify): 逆向场景推荐使用 vm 而非 eval,原因:扣出的浏览器代码通常会访问

By yellowdog

js逆向

JavaScript AST 学习笔记

几乎所有编程语言都有 AST,这是编译器/解释器的基础。 Babel 的 visitor 模式有几个让人别扭的地方: Facebook 出品,用于批量自动化修改代码,典型场景是库升级迁移。 先用 AST Explorer 验证节点类型:在写任何遍历逻辑之前,先把目标代码粘进 https://astexplorer.net,选对解析器(babel/parser 或 acorn),点击你关心的代码位置查看节点类型和字段名。手写遍历时节点名打错是最常见的低级错误。 用 path.node 读,用 path.replaceWith 写:path.node 是当前

By yellowdog

js逆向

Babel TypeScript 类型完全参考

本文档专门面向 TypeScript 使用者,覆盖 Babel 工具链所有包的完整类型定义,重点解决"对象很多、没有类型提示很费心神"的问题。 配合 技巧步骤/Babel AST入门 阅读,后者侧重基本用法和实战示例,本文侧重 TypeScript 类型系统。 1. 安装与 TypeScript 配置(#%E5%AE%89%E8%A3%85%E4%B8%8E-typescript-%E9%85%8D%E7%BD%AE) 2. @babel/parser 类型详解(#babelparser-%E7%B1%BB%E5%9E%8B%E8%AF%A6%E8%A7

By yellowdog