feat(v2.4.0): JSVMP 双路径攻克体系 + jsdom 环境补丁知识库
基于实战经验重构 JSVMP 分析框架: - SKILL.md: 新增路径选择决策树(路径 A 算法追踪 vs 路径 B 环境伪装) - SKILL.md: 路径 B「环境伪装六步法」完整方法论(采集→对比→分级→补丁→验证→端到端) - SKILL.md: 新增场景 10「JSVMP + jsdom 环境伪装」、解法模式 E - SKILL.md: 标注三板斧适用边界与局限,经验法则扩充至 22 条 - references/jsdom-env-patches.md: 新增 jsdom 环境补丁知识库(Function.toString 三层防御 / plugins 完整模拟 / DOM 布局属性 / 30+ API 存根) - cases/: 新增经验库系统(模板 + 首个 JSVMP 实战案例含 58 项环境检测差异全表) - references/jsvmp-analysis.md: JSVMP 专项分析详细指南 - references/troubleshooting.md: 常见问题排查指南 - templates/python-request/: Python 项目模板 - 各 references 文档增强、Python 技术栈支持、MCP v1.1 适配(44→52 工具) Made-with: Cursor
This commit is contained in:
+33
-4
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# 检查 JS 逆向项目所需的依赖环境
|
||||
# 检查 JS 逆向项目所需的依赖环境(Node.js + Python)
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
@@ -7,7 +7,7 @@ YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo "=========================================="
|
||||
echo " JS 逆向工程环境检查"
|
||||
echo " JS 逆向工程环境检查(Node.js + Python)"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
@@ -43,13 +43,33 @@ check_node_module() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_python_module() {
|
||||
local module=$1
|
||||
local import_name=${2:-$1}
|
||||
local name=${3:-$1}
|
||||
|
||||
if python3 -c "import $import_name" 2>/dev/null; then
|
||||
local version=$(python3 -c "import $import_name; print(getattr($import_name, '__version__', 'installed'))" 2>/dev/null || echo "installed")
|
||||
echo -e " ${GREEN}✓${NC} $name: $version"
|
||||
return 0
|
||||
else
|
||||
echo -e " ${YELLOW}○${NC} $name: 未安装(可选)"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
errors=0
|
||||
|
||||
echo "▸ 基础环境"
|
||||
echo "▸ Node.js 环境"
|
||||
check_command "node" "Node.js" "https://nodejs.org/ 或 brew install node" || ((errors++))
|
||||
check_command "npm" "npm" "随 Node.js 一起安装" || ((errors++))
|
||||
echo ""
|
||||
|
||||
echo "▸ Python 环境"
|
||||
check_command "python3" "Python 3" "https://python.org/ 或 brew install python3"
|
||||
check_command "pip3" "pip3" "随 Python 3 一起安装"
|
||||
echo ""
|
||||
|
||||
echo "▸ 浏览器"
|
||||
if [ -f "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ]; then
|
||||
chrome_version=$("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version 2>/dev/null)
|
||||
@@ -69,6 +89,14 @@ check_node_module "node-forge" "node-forge"
|
||||
check_node_module "jsdom" "jsdom"
|
||||
echo ""
|
||||
|
||||
echo "▸ Python 包"
|
||||
check_python_module "requests" "requests" "requests"
|
||||
check_python_module "pycryptodome" "Crypto" "pycryptodome"
|
||||
check_python_module "execjs" "execjs" "PyExecJS"
|
||||
check_python_module "curl_cffi" "curl_cffi" "curl_cffi"
|
||||
check_python_module "httpx" "httpx" "httpx"
|
||||
echo ""
|
||||
|
||||
echo "▸ 可选工具"
|
||||
check_command "curl" "curl" "系统自带"
|
||||
check_command "jq" "jq" "brew install jq"
|
||||
@@ -79,7 +107,8 @@ if [ $errors -gt 0 ]; then
|
||||
echo -e " ${RED}检查完成: $errors 个必需依赖缺失${NC}"
|
||||
echo ""
|
||||
echo " 快速安装缺失依赖:"
|
||||
echo " npm install -g crypto-js axios node-forge"
|
||||
echo " Node.js: npm install -g crypto-js axios node-forge"
|
||||
echo " Python: pip3 install requests pycryptodome execjs"
|
||||
exit 1
|
||||
else
|
||||
echo -e " ${GREEN}检查完成: 环境就绪${NC}"
|
||||
|
||||
Reference in New Issue
Block a user