You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Shell批量清除受NDSW恶意软件感染的多行缩进JS文件?

批量清理受NDSW恶意软件感染的JS文件方案

可以通过Shell命令结合文本处理工具批量清理这类感染文件,核心是利用恶意代码的特征边界精准剔除,以下是具体方案:

核心特征定位

这段NDSW恶意代码有明确的起止标记:

  • 起始标识:;;if(ndsw===undefined){
  • 结束标识:末尾的}};(连续两个大括号加分号)

借助这两个边界可以精准定位并删除整个恶意代码块。

具体实现命令

方案1:GNU sed(Linux系统默认适用)

sed支持多行范围匹配,直接批量处理文件:

find /目标JS文件目录 -name "*.js" -type f -exec sed -i '
/;;if(ndsw===undefined){/,/^}};$/d
' {} \;
  • find 遍历指定目录下所有JS文件
  • -exec sed -i 对每个文件执行原地编辑
  • /起始标记/,/结束标记/d 删除标记范围内的所有行
  • ^}};$ 确保匹配恶意代码末尾的独立行,避免误删正常代码

方案2:awk(跨系统兼容,如macOS)

如果系统的sed不支持多行匹配,用awk更稳定:

find /目标JS文件目录 -name "*.js" -type f -exec bash -c '
awk "BEGIN { in_mal=0 }
/;;if(ndsw===undefined){/ { in_mal=1; next }
/^}};$/ { in_mal=0; next }
!in_mal { print }" "$1" > "$1.tmp" && mv "$1.tmp" "$1"
' _ {} \;
  • 通过in_mal变量标记是否处于恶意代码块内
  • 仅输出非恶意代码区域的内容到临时文件,最后替换原文件

关键注意事项

  • 操作前必须备份所有JS文件,防止误删正常代码
  • 先选取单个受感染文件测试命令,确认效果后再批量执行
  • 若恶意代码的起止标记有细微变异,需调整正则匹配规则

内容的提问来源于stack exchange,提问作者razor7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:44:54