Android Hook怎么劫持參數是接口并且調用接口里面的方法。
就是類似于android用戶點擊事件,劫持setOnClickListener方法,并且拿到OnClickListener參數然后執(zhí)行這個接口參數的onClick的方法。實現用戶沒有點擊,又hook程序主動調用[size=13.066666603088379px]onClick方法騙過應用,讓應用以為用戶點擊了。圖片上的只是一個實現例子,現在的問題是這個參數轉化不了Class,然后就無法調用里面的方法
插入代碼
```
if(!lpparam?.packageName.equals("com.xxx.xxx")) return
XposedBridge.log("找到相關應用")
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("找到相關接口")
item.getMethod("onClick").invoke(item,"這里是View")
}
}
param.result = {}
}
})