LSPosed模块开发第二篇 hook Webview

hook webview的loadUrl方法

hook webview的loadUrl方法,打印webview加载的地址,修改参数将地址换成指定的url。

cpp 复制代码
        Class<?> clazz  = lpparam.classLoader.loadClass("android.webkit.WebView");
        if (clazz != null) {
            XposedHelpers.findAndHookMethod(clazz, "loadUrl", String.class, new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    super.beforeHookedMethod(param);
                    Log.i(TAG, "beforeHookedMethod: url= " + param.args[0]); //打印参数
                    param.args[0] = "https://blog.csdn.net/u013170888";           //修改参数
                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    Log.i(TAG, "afterHookedMethod: url= " + param.args[0]);  //打印修改后的参数
                }
            });
        }
相关推荐
zhaoyufei1331 天前
Android13删除Taskbar
android
6***B481 天前
存储过程(SQL)
android·数据库·sql
学困昇1 天前
C++中的异常
android·java·c++
Jerry1 天前
问题记录 - Android IdleHandler 没有执行
android
没有了遇见1 天前
Android ButterKnife Android 35情况下 适配 Gradle 8.+
android
方白羽1 天前
Android多层嵌套RecyclerView滚动
android·java·kotlin
菜就多学1 天前
SurfaceControlViewHost 实现跨进程UI渲染
android·设计
2501_915106321 天前
iOS App 测试工具全景分析,构建从开发调试到线上监控的多阶段工具链体系
android·测试工具·ios·小程序·uni-app·iphone·webview
小羊在奋斗1 天前
MySQL表的约束:从基础到核心(附场景+案例)
android·数据库·mysql
e***19351 天前
MySQL-mysql zip安装包配置教程
android·mysql·adb