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

网站遭入侵出现加密JavaScript代码,请求解码分析及解读方法

拆解这段恶意加密JavaScript代码&解密方法指南

嘿,咱们先把你拿到的这段加密代码拆开看,再聊聊以后遇到这类代码该怎么处理:

一、解码分析这段恶意代码

这段代码用了最常见的「Base64编码+eval()执行」的混淆套路,咱们一步步来:

1. 解码Base64内容

里面的atob()是浏览器自带的Base64解码函数,把引号里的编码字符串拿出来解码后,就能得到原始的JS代码:

var c = 0;
$(document).ready(function() {
    $("#b1").on('click', function() {
        ++c;
        if (c > 15) {
            $(this).attr({
                href: "http://www.xn--addas-o4a.de/final.html",
                target: "_self"
            });
        }
    });
    $("#b2").on('click', function() {
        if (c > 20) window.location = "http://www.xn--addas-o4a.de/final.html";
        else window.alert("Deel aan 20 van je vrienden over WhatsApp de Addas prooi!\n\nJe moet delen " + c);
    });
});

2. 代码功能分析

这是典型的恶意诱导传播脚本,具体逻辑是:

  • 初始化一个计数器c,初始值为0
  • 当页面上ID为b1的按钮被点击时,计数器c每次加1;点击超过15次后,这个按钮会被修改为跳转到恶意网站
  • 当点击ID为b2的按钮时:
    • 如果计数器c超过20,直接强制跳转到那个恶意网站
    • 没到20次的话,弹出荷兰语提示框(大意是“在WhatsApp上分享给20个朋友,你还需要分享c次”),诱导用户传播这个恶意页面

二、解读这类加密JavaScript代码的通用方法

这类加密/混淆的JS代码,本质都是用常见的编码或混淆手段藏起真实逻辑,拆解起来有固定套路:

  • 先识别编码类型
    先看代码结构:如果是eval(atob(...)),那就是Base64编码;如果有大量%xx字符,是URL编码;如果是一堆数字用fromCharCode拼接,那是ASCII编码。
    注意:绝对不要直接运行eval()!可以把atob()里的字符串复制出来,用浏览器控制台(按F12打开)输入atob("这里放编码字符串")回车,就能拿到解码后的内容。

  • 格式化压缩代码
    解码后的代码可能是一行压缩版,用JS格式化工具(比如浏览器控制台输出后右键“查看格式化代码”,或者用在线格式化工具)把代码排版整齐,就能清晰看到逻辑。

  • 分析关键行为
    重点看代码里的核心动作:有没有window.location跳转、alert诱导弹窗、发送请求(fetch/XMLHttpRequest)、修改页面内容这些,判断是恶意跳转、数据窃取还是诱导传播。

  • 进阶处理复杂混淆
    如果遇到更复杂的混淆(比如变量名乱改、控制流绕来绕去、自解密代码),可以用Chrome DevTools的调试器打断点一步步执行,或者用专门的去混淆工具来还原代码逻辑。


内容的提问来源于stack exchange,提问作者Shady M Rasmy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:08:12