某數分析第二彈

某數分析第二彈

海綿 平常學python python

今天咱們繼續上次的接着分析,上次說了咱們把eval動態運行的拿出來放到主頁面方便調試,可是咱們看到他這一段都是混淆過的
某數分析第二彈ajax

遞歸方式+混淆+簡單扁平化
首先市面上有混淆工具能夠達到這個效果,我本身也基於ast寫了一個混淆工具,扯遠了,咱們來看下他這個都是數組方式讀取字符串,在源碼搜索的時候
咱們發現了他初始化的位置,
某數分析第二彈
由於他是動態解析的這個數組,咱們只須要拿到他數組的成員放進去就好了,
某數分析第二彈
其實我看到這裏是很疑惑的,這個字符串居然沒有加密碼,赤裸裸啊。
而後咱們把字符串數組手動賦值以後咱們拷貝這一段js到我寫的混淆還原工具來看看
某數分析第二彈
沒壓力,瞬間還原,工具自動計算做用域替換的。而後咱們粘貼到notepad看看
某數分析第二彈
這麼看的話基本上他的全部東西都出來了,萬事俱備,就差調試, 咱們把這還原出來的js 替換上去,怎麼替換呢,就是把昨天分析的ret = eval (僞代碼把這個直接拷貝上去就好了,這樣也方便調試。刷新以後debugger咱們忘了處理,直接跳過算了,而後咱們看到了這個
某數分析第二彈
而後本着測試的精神,我又刷新了七八遍,發現一個問題
某數分析第二彈
這個頁面我是和js一塊兒保存的並無從服務器拉取最新的然是依舊能夠正常使用,由於他有兩處,咱們嘗試下這個
某數分析第二彈
這段若是固定了js直接報錯,不固定正常加密,這就頭大了,由於這是一段加密後的字符串咱們無論他是什麼反正一會都要解密咱們先無論。api

到了如今咱們能夠固定的調試他的第一層解密出來的js,由於你們都知道他的url是hook過的,也就是業務和反爬是分開的,因此咱們不須要刷新頁面來讓他走到斷點,咱們能夠這樣
某數分析第二彈
咱們在控制檯模擬他的其中一個接口而後回車
某數分析第二彈
已經成功請求了,咱們看他提交部分
某數分析第二彈
到這裏說明是任意的url,由於他是hook了ajax的api而他又是能夠任意url不限制的,咱們可使用xhr斷點數組

點擊這個加號咱們設置好他請求包含指定字符串的url就會斷下來服務器

$.get("/tmrpToken.token")

而後控制檯回車
某數分析第二彈
斷在了真正提交url的地方,咱們看到他是this.send
某數分析第二彈
咱們看到他的this就是XMLHttpRequest 對象,看到他的url已經徹底計算好了
某數分析第二彈
順着堆棧看,咱們先看send,點進去咱們把斷點下到這裏,由於他的變量之類的是根據做用域算的,複雜的話從頭來算比較好,上層變量有可能會重疊
,下好斷點咱們在從新提交一次
某數分析第二彈
第二次提交咱們能夠看到很是乾淨,咱們按f10單步走
某數分析第二彈
走到這一行咱們發現url出現了
某數分析第二彈
很是清楚他在231這個對象,咱們往上看
某數分析第二彈
他在這個函數執行完就有了咱們進去這個函數下斷點看看
某數分析第二彈
咱們f10單步發現他直接最後了,再進去這個函數繼續_$7e
某數分析第二彈
傳入三個參數
某數分析第二彈
繼續單步
某數分析第二彈
又一個_$p5,繼續
某數分析第二彈
仍是三個參數同樣,而後有個Function,咱們摳出來看下
某數分析第二彈
new一個函數而後傳進去三個參數,仍是這三個參數
某數分析第二彈
生成一個參數一調用參數二方法,傳入參數三咱們看下這三個參數
某數分析第二彈
咱們能夠直接這樣
某數分析第二彈
打印出位置咱們雙擊進去
某數分析第二彈
斷點進去以後咱們看
某數分析第二彈
這個函數沒有什麼蹊蹺,繼續走下去
某數分析第二彈ide

this._$oM = arguments[1] = _$ok(arguments[1])[0];

隱藏的很深啊
某數分析第二彈
咱們跟進去這個函數
某數分析第二彈
而後咱們單步發現他走到這裏就有結果了咱們看下它穿的參數
某數分析第二彈
姑且認爲參數2有用,咱們看下參數2那裏出來的
某數分析第二彈
參數2咱們看下他的參數
某數分析第二彈函數

var _$s2 = _$HW(_$59(_$qt("/tmrpToken.token")));

咱們看看工具

_$qt

某數分析第二彈
編碼剩下的無論他是什麼 函數,到時候直接扣就好了,咱們只分析
到如今咱們看到了$HW,$59,_$6p這三個是加密用的,至於內部邏輯,先無論,先測試下能不能加密
某數分析第二彈測試

把他單獨拿出來,而後寫一個加密函數this

function url_encry(_$di){
  var _$s2 = hm._$HW(hm._$59(encodeURIComponent("/tmrpToken.token")));
  return hm._$6p(769, 0, _$s2, _$di);
}

某數分析第二彈

如今看來咱們思路沒有錯,分析邏輯和加密邏輯是沒問題的,好了

篇幅有限,分析解密留着下次講解,慢慢吸取此次的

相關文章
相關標籤/搜索