ngiokweng 发表于 2023-9-3 22:08

某度翻譯逆向分析


> 目標網站:aHR0cHM6Ly9mYW55aS5iYWlkdS5jb20vI2VuL2NodC9oZWxsbw==
>

## 請求參數跟值

- 下個XHR斷點,一步一步跟很容易可以來到這處
- 請求參數就是`this.paramData`
- 這時一個快捷的方法是先看看`this.constructor`,看`paramData`是否在構造函數裡就已經賦值



- 一看發現果然如此



- 然後向上一層就能找到參數生成的地方
- 慢慢調試,會發現除了`sign`外,其他參數都能固定
- 生成`sign`的函數也很容易扣,用一般webpack的扣法就能搞出來


## Acs-Token跟值

- 在上述跟值的過程中就能看到`Acs-Token`賦值的地方


打個條件斷點跟到這裡,再往前就是異步



- 在異步的地方下斷點,測試後發現代碼會走2次這裡,若第2次時再按`F8`就會去到上一步條件斷點的位置
- 因此在第2次時按`F11`


然後發現`n`是生成好的`Acs-Token`,代表我們又更前了一步


繼續向前跟會發現`Acs-Token`在`n.gs`的回調函數中出現



- 跟進`n.gs`,來到另一個名為`acs-2060.js?_=XXXX`的代碼中,而`n.gs`就會下圖紅框的這個函數
- 根據文件名其實就可以推測`Acs-Token`的值就是在這裡生成,而`n.gs`這個函數就可以作為生成Acs-Token的入口,最終結果會在回調函數的參數生傳入



## Acs-Token生成

複製整份`acs-2060.js?_=XXXX`的代碼,放到補環境框架裡,在日志可以看到,它很貼心地幫我們將入口函數導出了,直接在全局就能使用



- 調用方法如下,然後就是補補環境讓它能出值就可以了
- 經測試發現它對環境的校驗並不強,能出值基本上就能用了?( 或許吧



附上一張請求成功的圖^^


thinkfish 发表于 2023-9-4 12:51

坐头把交椅,不明觉厉

pojieneo520 发表于 2023-9-4 21:34

过来瞅瞅,哈哈

ztqddj007 发表于 2023-9-5 08:31

学习一下

zhy1992 发表于 2023-9-5 08:44

webpack的扣法 这个是咋用的能介绍一下不

ngiokweng 发表于 2023-9-5 09:30

zhy1992 发表于 2023-9-5 08:44
webpack的扣法 这个是咋用的能介绍一下不

網上有很多大佬的教程了,你去搜一搜應該就有了

JuneYip 发表于 2023-9-5 09:43

不明觉厉,谢谢大大分享

Beens 发表于 2023-9-5 10:40

学习学习

lstar 发表于 2023-9-5 12:00

学习一下是怎样的

Lynn27 发表于 2023-9-6 00:05

好像很厉害的样子
页: [1] 2
查看完整版本: 某度翻譯逆向分析