📒akamai分析笔记(三)
00 分钟
2025-5-30
2025-7-3
type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: 一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 
notion image
 

AI辅助分析

概述

这段代码看起来是一个浏览器指纹识别和加密处理系统的一部分,可能用于网站认证、反爬虫或者用户跟踪。它收集浏览器信息,然后通过一系列加密和混淆步骤生成一个唯一标识符或令牌。

详细分析

1. FGq 对象

文件开始定义了一个大型的 FGq 对象,包含大量浏览器和系统信息:
这个对象包含几个主要部分:
  • 基本识别信息(版本、指纹等)
  • din 数组:包含浏览器详细信息,如用户代理、屏幕尺寸、语言等
  • mst 数组:包含各种度量和状态信息
  • 其他配置和状态信息
这里的数据很可能是浏览器指纹的组成部分,用于创建一个唯一的识别标记。

2. 时间戳函数

这个简单的函数返回当前的时间戳(从1970年1月1日至今的毫秒数)。注意到它使用了 Date['now']() 而不是更常见的 Date.now(),这可能是为了规避某些代码分析工具。

3. 对象序列化

这一步将 FGq 对象转换为JSON字符串,并记录当前时间戳。同样,它使用 JSON["stringify"] 而不是 JSON.stringify,可能是出于混淆目的。

4. dH 函数

这个函数执行以下操作:
  1. 定义一个包含各种数字的 DG 数组,可能用作加密常量
  1. 定义几个工具函数:
      • c5:右移位操作
      • lh:按位与操作
      • WX:取模操作
  1. 从输入参数 ZDn 中提取值(第一个是字符串,第二个是数字)
  1. 将字符串按冒号分割
  1. 使用一个基于位操作的算法在数组元素之间进行复杂的交换操作
  1. 最后将数组重新用冒号连接成字符串并返回
这个函数本质上是一个基于种子值(第二个参数)的洗牌算法,将输入字符串的各部分重新排序,产生混淆效果。

5. 字符映射函数

这个函数将输入字符串中的特定字符替换为对应的数字。映射关系存储在 X1 对象中,使用十六进制转义序列(如 \x32 表示字符 '2')作为键。

6. EPq 函数

这是最复杂的函数,执行以下步骤:
  1. 定义多个辅助函数,如比较、位操作等
  1. 创建一个大型常量数组 DG(与 dH 函数中的相同)
  1. 创建一个包含127个元素的数组 lFq
  1. 填充一个字符串 hUq,其中包含ASCII值32至126的可打印字符
  1. 对输入字符串 gbq 的每个字符进行基于 MNq 种子的变换:
      • 使用位操作更新 MNq
      • 检查字符的Unicode码点
      • 基于计算出的索引替换字符
  1. 返回变换后的字符串
这个函数实现了一种简单的替换密码,但种子值和替换规则较为复杂。

7. 主要执行流程

这部分代码:
  1. 使用 dH 函数处理序列化的 FGq 对象,种子值为 1056437
  1. 输出中间结果 fnn
  1. 将结果传递给 EPq 函数,种子值为 8888888
  1. 输出进一步处理后的结果 p

8. 结果组装

最后这部分代码:
  1. 记录处理结束时的时间戳
  1. 创建一个包含时间差和其他固定值的字符串 sDq
  1. 定义几个额外的变量和常量
  1. 将这些值组合成一个数组 TOq,并用分号连接成字符串 xcq
  1. xcqsDq 和前面生成的 p 用分号连接,形成最终结果 result
  1. 输出最终结果

总体功能

这段代码的整体功能是:
  1. 收集浏览器和系统信息
  1. 将这些信息序列化为字符串
  1. 通过一系列加密和混淆步骤处理这个字符串
  1. 生成一个最终令牌,可能用于:
      • 浏览器指纹识别
      • 反爬虫措施
      • 会话验证
      • 用户跟踪
代码使用了多种混淆技术,包括:
  1. 使用方括号表示法访问属性而非点表示法
  1. 使用不透明的变量名(如 FGqdHlh 等)
  1. 大量使用位操作
  1. 复杂的字符串处理和变换

代码流程分析

分析代码的运行逻辑
环境参数解释如下:
首先他收集了很多环境。环境如下:
然后通过JSON格式化代码
第一次通过;分割然后进行位移运算
然后对时间戳进行分析看看耗时多久。
上一篇
akamai分析笔记(二)-反混淆篇
下一篇
akamai分析笔记(一)

评论
Loading...