標(biāo)記registerNative后獲得地址跳轉(zhuǎn)過(guò)去,紅色部分為重點(diǎn):
關(guān)鍵函數(shù)
F7進(jìn)入后流程大概為:包名 --> strlen--> malloc-->FindClass--> free--> 方法名--> 返回 -->strlen--> 參數(shù)--> strlen-->malloc--> free -->GetMethodID(這里可以獲取方法名,參數(shù)和返回)--> free --> oncreate-->ExceptionCheck-->strlen-->malloc-->CallNonvirtualVoidMethodA(調(diào)用非虛實(shí)例,從這里可以看出函數(shù)是否返回呀)-->free--> ExceptionCheck其實(shí)還是需要你觀察得到的數(shù)據(jù),自己修復(fù)的
1. 讀取bytecode(這張圖來(lái)之52pojie的歐陽(yáng)峰峰,我忘了截圖了,偷懶就偷一張圖)
2. Bytecode處理,反正我沒(méi)看出來(lái)所以然。
3. 然后會(huì)調(diào)到解密分支,這里是專業(yè)計(jì)算跳轉(zhuǎn)
4. 跳轉(zhuǎn)完成就開(kāi)始工作了
幾個(gè)需要注意的函數(shù):
最后我的apk獻(xiàn)給大家:下載刪除zip后綴就好了
360-003.apk.zip (796.92 KB, 下載次數(shù): 21)
|