akamai鼠標軌跡

各位肯定被akamai鼠標軌跡、點擊事件、鍵盤事件,網頁交互困擾
那么我們就研究一下鼠標軌跡、點擊事件

AST解混淆, 拿到解混淆后的代碼,
如下,sensor_data就是我們要搞的參數
如何解混淆這里就不贅述了,需要的可以看我上一篇文章!

在這里插入圖片描述

開始之前,先講一下分析思路
第一:首先有了全局的obj,那完全可以把obj作為一個日志功能,通過obj看函數的執行流程,就是要逆向的主流程
第二:akm有大量的數值計算,只扣部分數值,會影響其他數值的計算不成功,所以我計劃扣整個流程,一比一還原執行流程

那么正片開始
1、前期步驟:相關代碼,全部拿下來,缺什么補什么

找到目標參數: sensor_data, 把整個函數拿下來
如下:可以看到:Yun就是我要的參數, 而Yun又來自tEn

// 生成值 函數
var Qvn = function () {var w7n = false;var b7n = pV(lm(z8n["ajTypeBitmask"], E7n), 0) || pV(lm(z8n["ajTypeBitmask"], K7n), 0);var AFn = pV(lm(z8n["ajTypeBitmask"], cJn), 0);if (sQ(z8n["aprApInFlight"], false) && AFn) {z8n["aprApInFlight"] = true;w7n = true;}z8n["ajTypeBitmask"] = 0;// var xJn = fD();// xJn["open"]("POST", VFn, true);// xJn["onloadend"] = function () {//     qvn && qvn(xJn, w7n, b7n);// };var YUn = Fx["JSON"]["stringify"](tEn);var EZ = "{\"sensor_data\":"["concat"](YUn, "}");// console.log(EZ)sensor_data.push(EZ);Qxn = 0;
};

往前找堆棧,tEn是在下方這個函數生成的,
可以看到該函數有很多值,直接全扣下來(重點)

// tEn生成函數
var pln = function (Xvn, Dln, input_list) {// tEn生成函數var vcn = 0;var B7n = {};var QJn = false;vcn = q3();var qgn = c1(q3(), Fx["window"].bmak["startTs"]);var hZ = "do_en";var VNn = "dm_en";var JEn = "t_en";var gNn = ""["concat"](hZ, ",")["concat"](VNn, ",")["concat"](JEn);// ffs 生成函數var Gbn = '0,-1,0,0,-1,-1,0;' + phn(input_list) + '0,-1,0,0,2108,2108,0;';var EEn = Fx["document"]["URL"]["replace"](new Fx["RegExp"]("\\\\|\"", "g"), "");// ajt 生成地方,bcn 在軌跡處會進行賦值, Cxn是定時任務, 1000ms 會自增 1var Tvn = ""["concat"](bcn, ",")["concat"](Cxn);if (QM(bxn["fpValCalculated"]) && (sQ(dnn, false) || EG(Cxn, 0))) {bxn = Fx["Object"]["assign"](bxn, PB(), {"fpValCalculated": true});}var Bbn = Rz(),F7n = Sbn(Bbn, 4),Cbn = F7n[0],tJn = F7n[1],MUn = F7n[2],VEn = F7n[3];var wNn = md(),JZ = Sbn(wNn, 4),PNn = JZ[0],Egn = JZ[1],chn = JZ[2],bUn = JZ[3];var LCn = RY(),CCn = Sbn(LCn, 6),bZ = CCn[0],wln = CCn[1],RJn = CCn[2],Znn = CCn[3],Kbn = CCn[4],G8n = CCn[5];var qZ = Fk(Fk(Fk(Fk(Fk(Cbn, tJn), nEn), fCn), MUn), VEn);。。。

扣這個函數的時候,會有很多值,在之前也能找到聲明,拿下來就行

在這里插入圖片描述

剩下的流程就是,一點一點扣環境數組的生成邏輯
當出現完整的數組環境,那就前期就ok了

在這里插入圖片描述

下邊就需要注意 tEn函數的執行流程 他如何被觸發?
get請求一次,獲取js文件
post兩次,兩次位置分別在哪里

在這里插入圖片描述
在這里插入圖片描述

重點:默認只有兩次發包,操作鼠標點擊才會發第三次post包,設置cookie為~0~

在這里插入圖片描述

我們把斷點放在tEn函數調用的地方
操作鼠標,滑動 — > 然后點擊
就能斷到事件類型的發包,可以看到Cgn函數

在這里插入圖片描述

可以看到,傳入了兩個參數 : Axn, Cvn
Axn: 存放我們的軌跡信息,有x y軸坐標信息
Cvn:事件類型: 1:是正常收集軌跡, 3:點擊事件

var Cgn = function (Axn, Cvn, input_list) {var dNn = Mz(Axn, Cvn, Fx["window"].bmak["startTs"]);nhn += dNn["ts"];if (dnn && dNn["eventLimitBiometricAutopost"]) {bcn = 4;// Fcn(QM(1), dNn[Vj()[gk(bm)](TO, QM({}), Ek, f8)]);} else if (dnn && sQ(Cvn, 3)) {bcn = 1;d8n = true;set_w8n()Fcn(false, input_list);}if (dnn && QM(d8n) && sQ(dNn["mmeCnt"], 20)) {bcn = 11;// set w8nset_w8n()Fcn(false, input_list);}
};

函數內部: Mz函數
拼接軌跡次數、標識、軌跡時間間隔、x坐標、y坐標
需要注意:參與計算了環境數組很多值!

var Mz = function (vL, Us, rD) {var qd = 0;var h9 = false;if (sQ(1, 1) && C2(1, 100) || CR(Us, 1) && C2(0, 75)) {var QK = vL;var mY = -1;var sI = -1;if (QK && QK["pageX"] && QK["pageY"]) {mY = Fx["Math"]["floor"](QK["pageX"]);sI = Fx["Math"]["floor"](QK["pageY"]);}var Ep = QK["toElement"];// if (Td(Ep, null)) Ep = QK["target"];var XW = Hq(Ep);qd = c1(q3(), rD);var R3 = ""["concat"](ZD, ",")["concat"](Us, ",")["concat"](qd, ",")["concat"](mY, ",")["concat"](sI);// if (UK(typeof QK["isTrusted"], "undefined") && sQ(QK["isTrusted"], QM({})))//     R3 = ""[Sk()[mQ(UP)].call(null, IX, sC, zs)](R3, GQ()[O6(St)](IY, ZF));R3 = ""["concat"](R3, ";");Ap = Fk(Fk(Fk(Fk(Fk(Ap, ZD), Us), qd), mY), sI);g3 = Fk(g3, R3);}if (sQ(Us, 1)) WY++; else mL++;ZD++;var K4;return K4 = {"ts": qd, "eventLimitBiometricAutopost": h9, "mmeCnt": WY}, K4;
};

收集軌跡
這個時候可以用全局的obj
記錄收集軌跡信息

在這里插入圖片描述

喂給AI
讓AI幫我們生成軌跡函數

function generateMouseList() {var mousList = [];var x = D2_21([700, 800]);var y = D2_21([300, 500]);var numPoints = D2_21([100, 200]);// 隨機生成鼠標軌跡for (var i = 0; i < numPoints; i++) {// 隨機坐標變化,假設變化范圍為-5到5var dx = Math.floor(Math.random() * 11) - 5;  // x坐標變化范圍 [-5, 5]var dy = Math.floor(Math.random() * 11) - 5;  // y坐標變化范圍 [-5, 5]// 更新坐標x += dx;y += dy;// 防止坐標超出范圍 (例如屏幕尺寸或界面限制)x = Math.max(0, Math.min(1920, x));  // 假設屏幕寬度為1920y = Math.max(0, Math.min(1080, y));  // 假設屏幕高度為1080// 隨機生成時間戳,保證時間流逝var timestamp = Math.floor(Math.random() * 1000) + 10000;// 假設每個點的類型 1 表示常規點,最后一個點為 3 表示結束var type = (i === numPoints - 1) ? 3 : 1;// 保存軌跡// mousList.push([x, y, timestamp, type]);mousList.push([x, y]);}return mousList;
}

最后拼接完整的流程 :
1、get請求 頁面
2、post —>第一次 發包
3、post —>第二次 發包
4、計算軌跡信息
5、post —>第三次 發包

在這里插入圖片描述

網站測試

在這里插入圖片描述

某adidas

在這里插入圖片描述
ok,完成~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95454.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95454.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95454.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

飛算JavaAI開發全流程解析:從自然語言到可運行工程的智能進化

引言 在數字經濟時代&#xff0c;企業級應用開發面臨著需求多變、交付周期緊、質量要求高的三重挑戰。傳統Java開發模式依賴人工進行需求確認、架構設計、代碼編寫和測試驗證&#xff0c;導致開發效率低下、溝通成本高企。據統計&#xff0c;一個中等規模的項目需要平均8周完成…

垃圾回收標記算法:三色標記

文章目錄1 三色標記流程1.1 初始標記1.2 并發標記1.3 重新標記1.4 清除階段&#xff08;Sweep&#xff09;1.5 為什么初始標記和重新標記需要STW&#xff0c;而并發標記不需要?2 并發標記的寫屏障3 多標問題4.漏標問題4.1 漏標的兩個必要條件4.2 解決方案一&#xff1a;增量更…

反射的詳解

目錄一、反射1.JDK,JRE,JVM的關系2.什么是反射3. 三種獲取Class對象(類的字節碼)的方式4.Class常用方法5. 獲取類的構造器6.反射獲取成員變量&使用7.反射獲取成員方法8.綜合例子一、反射 1.JDK,JRE,JVM的關系 三者是Java運行環境的核心組成部分&#xff0c;從包含關系上看…

Grafana Tempo日志跟蹤平臺

以下是Grafana Tempo文檔的總結&#xff08;基于最新版文檔內容&#xff09;&#xff1a; 核心概念 分布式追蹤系統&#xff1a;Tempo是開源的分布式追蹤后端&#xff0c;專注于高吞吐量、低成本存儲和與現有監控生態的深度集成 架構組成&#xff1a; Distributor&#xff1a…

Qt基本控件

Qt 的基本控件是構建用戶界面的基礎&#xff0c;涵蓋了按鈕、輸入框、容器、顯示組件等&#xff0c;適用于傳統 Widget 開發&#xff08;基于 QWidget&#xff09;。以下是常用基本控件的分類總結&#xff1a;一、按鈕類控件用于觸發交互操作&#xff0c;如提交、取消、選擇等。…

用Voe3做AI流量視頻,條條10W+(附提示詞+白嫖方法)

最近 AI 視頻的風從大洋彼岸吹過來&#xff0c;Voe3 的技術升級&#xff0c;誕生了很多很有意思的玩法。 比如&#xff1a;AI ASMR 切水果解壓視頻&#xff0c;卡皮巴拉旅行博主、雪怪 AI Vlog&#xff0c;動物奧運會、第一人稱視角穿越古戰場直播。 這些視頻的流量很好&…

嵌入式學習的第四十八天-中斷+OCP原則

一、GIC通用中斷控制器 1.GIC通用中斷控制器 GIC 是 ARM 公司給 Cortex-A/R 內核提供的一個中斷控制器&#xff0c;GIC接收眾多外部中斷&#xff0c;然后對其進行處理&#xff0c;最終通過VFIQ、VIRQ、FIQ 和 IRQ給內核&#xff1b;這四個 信號的含義如下&#xff1a; VFIQ:虛擬…

一周學會Matplotlib3 Python 數據可視化-繪制條形圖(Bar)

鋒哥原創的Matplotlib3 Python數據可視化視頻教程&#xff1a; 2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程講解利用python進行數據可視化 科研繪圖-Matplotlib&#xff0c;學習Matplotlib圖形參數基本設置&…

阿里研發效能提升【60篇】

阿里研發效能提升【60篇】 1、建立研發效能提升的系統框架 01、《從DevOps到BizDevOps&#xff0c;研發效能提升的系統方法》 視頻版&#xff1a;2021云棲大會云效BizDevOps論壇 文字版&#xff1a;深度 | 從DevOps到BizDevOps, 研發效能提升的系統方法-阿里云開發者社區 …

面試實戰 問題二十六 JDK 1.8 核心新特性詳解

JDK 1.8 核心新特性詳解 1. Lambda表達式 最核心的特性&#xff0c;簡化函數式編程&#xff0c;語法&#xff1a;(參數) -> 表達式 // 傳統方式 Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("傳統方式");} };// Lambda方式 Runn…

STM32H743開發周記問題匯總(串口通訊集中)

溢出錯誤出現的串口接收過程中&#xff0c;中斷接收在溢出后無法進入&#xff0c;需要重點考慮溢出問題&#xff0c;以下是溢出恢復代碼波特率115200 優先級0-1 高于定時器 初步診斷是數據流導致的接收溢出問題/*** brief 檢查并清除UART溢出錯誤&#xff08;帶狀態…

Linux中FTP配置與vsftpd服務部署指南

Linux中FTP配置與vsftpd服務部署指南 一、FTP 核心概念 1、基本定義 文件傳輸協議&#xff08;FTP&#xff09;&#xff0c;基于 C/S模式 工作。控制端口&#xff1a;21&#xff08;身份驗證與指令傳輸&#xff09; 數據端口&#xff1a;20&#xff08;主動模式數據傳輸&#x…

Web UI自動化測試的早期介入?

在傳統研發流程中&#xff0c;Web UI自動化測試常被視為“后期活動”——必須等待前端界面完全穩定才能啟動。這種滯后導致自動化測試難以覆蓋早期迭代&#xff0c;形成“開發等測試、測試等穩定”的惡性循環。本文將系統破解這一困局&#xff0c;提供一套從需求階段介入、持續…

基于學科競賽的高職計算機網絡教學解決方案

一、引言《關于深化產教融合的若干意見》明確提出 “推行面向企業真實生產環境的任務培養模式”&#xff0c;為我國職業教育發展指明了產教深度融合的方向。在數字經濟時代&#xff0c;計算機網絡技術正以前所未有的速度迭代更新&#xff0c;產業界對具備前沿技術應用能力和實踐…

猿大師中間件:Chrome網頁內嵌PhotoShop微信桌面應用程序

隨著桌面應用程序集成到網頁的需求不斷增長&#xff0c;尤其在Chrome瀏覽器缺乏原生調用EXE功能的情況下&#xff0c;傳統網頁內嵌解決方案面臨失效挑戰&#xff0c;猿大師中間件因此發展成為當前主流方案。 2025年猿大師發布了EXE、OCX、COM三個通用組件&#xff0c;自此猿大…

EF (Entity Framework) vs LINQ to SQL vs SqlSugar 全方位對比分析

文章目錄1. 概述與背景介紹1.1 Entity Framework (EF)1.2 LINQ to SQL1.3 SqlSugar2. 架構設計對比2.1 EF架構設計2.2 LINQ to SQL架構2.3 SqlSugar架構3. 性能對比3.1 基準測試數據3.2 性能分析3.3 內存使用4. 功能特性對比4.1 數據庫支持4.2 主要功能對比4.3 高級特性5. 開發…

MySQL 多表聯查與內外連接詳解

多表聯查是關系型數據庫的核心操作&#xff0c;用于從多個表中關聯數據。MySQL 支持多種連接方式&#xff0c;最常用的是內連接和外連接&#xff08;左/右/全外連接&#xff09;。一、多表聯查基礎語法 SELECT 列列表 FROM 表1 [連接類型] JOIN 表2 ON 連接條件 [連接類型] JOI…

《網絡爬蟲》

網絡爬蟲&#xff0c;是一種自動化程序&#xff0c;用于抓取互聯網上的數據。它們通過模擬瀏覽器行為&#xff0c;抓取網頁內容并提取有用信息。爬蟲廣泛應用于數據采集、搜索引擎索引、競爭對手分析等領域。爬蟲的工作流程&#xff1a;請求目標網頁&#xff1a;爬蟲首先發送 H…

openpnp - 頂部相機環形燈光DIY

文章目錄openpnp - 頂部相機環形燈光DIY概述筆記ENDopenpnp - 頂部相機環形燈光DIY 概述 底部相機燈光用環形燈(用鈑金折彎成一個10mm高的矩形盒子)是可以的。因為吸嘴落到Z方向和PCB平齊時&#xff0c;用COB燈帶裝在一個矩形盒子中正好能照射到吸嘴尖端高度附近。 頂部相機…

[AI React Web] E2B沙箱 | WebGPU | 組件樹 | 智能重構 | 架構異味檢測

第三章&#xff1a;E2B沙箱交互 在前兩章中&#xff0c;我們掌握了對話狀態管理和AI代碼生成管道的運作原理。 但生成代碼如何真正運行&#xff1f;這正是E2B沙箱交互的核心價值。 架構定位 E2B沙箱是專為open-lovable打造的虛擬計算環境&#xff0c;具備以下核心能力&…