首頁(yè)
社區(qū)
課程
招聘
Android Hook怎么劫持參數(shù)是接口并且調(diào)用接口里面的方法。

就是類(lèi)似于android用戶(hù)點(diǎn)擊事件,劫持setOnClickListener方法,并且拿到OnClickListener參數(shù)然后執(zhí)行這個(gè)接口參數(shù)的onClick的方法。實(shí)現(xiàn)用戶(hù)沒(méi)有點(diǎn)擊,又hook程序主動(dòng)調(diào)用[size=13.066666603088379px]onClick方法騙過(guò)應(yīng)用,讓?xiě)?yīng)用以為用戶(hù)點(diǎn)擊了。圖片上的只是一個(gè)實(shí)現(xiàn)例子,現(xiàn)在的問(wèn)題是這個(gè)參數(shù)轉(zhuǎn)化不了Class,然后就無(wú)法調(diào)用里面的方法

 

插入代碼
```
if(!lpparam?.packageName.equals("com.xxx.xxx")) return
XposedBridge.log("找到相關(guān)應(yīng)用")
val onClickListener = lpparam?.classLoader?.loadClass("android.view.View\$OnClickListener")
XposedHelpers.findAndHookMethod(
"android.view.View",
lpparam!!.classLoader,
"setOnClickListener",
onClickListener,
object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) {
super.beforeHookedMethod(param)
for (item in param.args){
XposedBridge.log(item.toString())
if(item is Class<*>){
XposedBridge.log("找到相關(guān)接口")
item.getMethod("onClick").invoke(item,"這里是View")
}
}
param.result = {}
}
})

收藏
1條回答
ObjectAgx 2021-8-19

回復(fù)
  參與學(xué)習(xí)     人
  提問(wèn)次數(shù)     100 個(gè)
我的問(wèn)答 領(lǐng)取收益
0
我的提問(wèn)
0
我的回答
0
學(xué)習(xí)收益