阿里bxet逆向

TNanko發表於2024-04-16

宣告

本文章中所有內容僅供學習交流,抓包內容、敏感網址、資料介面均已做脫敏處理,嚴禁用於商業用途和非法用途,否則由此產生的一切後果均與作者無關,若有侵權,請聯絡我立即刪除!

目標網站

x82y

分析過程

引數直接搜尋etSign 透過可以看到是在et_f檔案生成引數

 window.etSign("GET" === e.type ? e.url + "?" + a : e.url)

解決方案

思路:

1、現在我們執行程式碼的話,會出現各種報錯,這是因為我們已經脫離了瀏覽器的環境去執行對應的程式碼塊,肯定會跟我們的Chromium的V8引擎環境會不同,產生的環境不一樣,我們本地用Nodejs去執行的話,那麼我們就會缺少對應環境,比如nodejs自身需要我們去定義window,以及各種dom和bom事件,那麼我們只需要去定義一下它所缺失的環境即可跑通整段程式碼。那麼這就是我們js逆向中所說的補環境。 2、我們當然也可以把程式碼給ast解除混淆,把複雜一一分析,把它加密方式給復刻下來,把整個加密,軌跡,都復刻一邊,這種叫做純算。

選擇:

在這裡,我選擇用純算去處理,我們解除一下混淆,下面我放解除混淆的之後結果與原檔案的對比圖 原檔案的部分混淆 解混淆的檔案 可以清晰的看到瀏覽器執行了什麼,得到了什麼,檢測了什麼

純算思路

模擬加密函式以及補齊對應的各種時間戳,滑鼠移動軌跡,滾軸上下滑動,以及dom和bom的檢測一般為0|1去校驗,與瀏覽器作比對即可知道每個物件init初始化了什麼,執行了什麼,拿到了什麼,加密成什麼。這樣的話,純算也十分簡單,思路有了,就差個黑奴就躺著點點滑鼠即可模擬純算,本期我是黑奴,搞了一天了,手麻了。

結果

最近想法

我開了個知識星球,把純算的成品都放到了裡面,有需要的小夥伴可以自行去取,裡面有jd的web端引數,阿里bxet純算、快手滑塊等等,主要是某些大佬加我問成品,很多人都打著白嫖的手段去加我好友為目的,問完基本就以後沒有任何的交集,這樣的交好友雀氏沒有任何意義。不如我直接開個星球,裡面直接放我逆向的成品以及逆向的思路,這樣大家各取所需,我也有點收益,意義更明確點,免得浪費大家的時間。星球如果你們遇到了什麼問題的話,也可以直接提出來,我肯定以我最大的能力去回答,後續的話,隨著知識星球的作品越來越多,漲價是必然的。同時也歡迎技術合作,有技術,有想法的一起交流成長。

計劃

下一次講講阿里140或者某音的最新ab。