javascript
JS逆向:维普期刊rs5(非正面对抗)
注意事項
? ? ? ??發(fā)布的一切文章,僅供學習逆向,請勿做盈利非法等用途,侵權等聯(lián)系刪除!
一、介紹
打開斷點調試就可以發(fā)現(xiàn)是很明顯的瑞數(shù)加密(ts 數(shù)組、debugger 位置...)
瑞樹加密基本在兩個點:(不同網站基本是一樣的,但是字段名不一樣)
請求參數(shù):G5tA5iQ4
請求cookie:GW1gelwM5YZuT(一般都是結尾帶 T 的這個,S 是請求響應回來的)
這里采用 rpc 破解參數(shù)(結尾介紹什么是 rpc):
目的:找生成的位置,有返回值的地方
引用:然后把函數(shù)不可直接調用的通過 window 進行調用,可直接調用的就直接調用
注意:我不會說的很細,有問題直接問
二、請求參數(shù)生成
直接啟動器看 send 方法,這里只有 open 的時候使用了 url 參數(shù),點進去看,發(fā)現(xiàn)參數(shù)是 _$6N 生成的
直接 window.gk_params = _$6N 把方法拿出來以供調用,可以看到完全一致
三、cookie 生成
rs的 cookie ,每次點擊(mousedown,mouseup)都會重新生成
這里先 hook 一下,找到調用的地方 _$so 就是 cookie,追堆棧再看一下變量交換之前是什么
可以看到,第一次完全看到 cookie 是 _$w_ 那么就在這里的控制流開始做一個插樁(日志、條件斷點隨你)
這里來到控制流開始的地方
可以看到 _$w_ 以及 _$dT 兩個參數(shù)運行的所有過程,現(xiàn)在就對這兩個進行調試,找到 cookie 生成的地方
可以看到,當 _$dT 為 372、126、448 之后才把 cookie _$w_ 生成,于是修改原來的條件斷點
把每次的 _$dT 都 push 進列表,然后這里取 3 個是為了精準定位,斷點之后往下走
發(fā)現(xiàn)到 cookie 生成的地方,于是看堆棧,往回找
這里插樁的時候就發(fā)現(xiàn),cookie 的生成和時間是有關系的,所以每次 cookie 都不一樣
于是通過 window.gk_getcookie 把函數(shù) _$6E 拿出來,但是參數(shù)其實會發(fā)現(xiàn)每次都是一樣的所以這里直接拿就行了
總結
通過這一次分析其實也就知道大概的流程了,當然了這只是非正面對抗的其中一種方法
不過貌似rs最新一代有不少地方都用了(應該),所以 5 的話看看就好
?rpc 這個其實就是在瀏覽器上起一個 websocket 連接,與 python 等語言進行溝通,達到控制瀏覽器的目的(免補環(huán)境,可以只用來生成參數(shù)或者直接發(fā)請求),rpc 可以寫成油猴插件,不想用別人的可以自己寫,自己定制是非常爽的,這個部分這里就不講了,有興趣的留言
有人要說了那我為啥不用 selenium? 逆向方法是多樣的,喜歡就好
僅供學習逆向,不做其它目的使用。
總結
以上是生活随笔為你收集整理的JS逆向:维普期刊rs5(非正面对抗)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [other] 强力删除命令
- 下一篇: 中国农产品冷链物流行业运营动态及前景发展