Shutd0wn 发表于 2018-7-19 20:44

xposedHook-给web页面添加自己的js

项目地址:https://github.com/sepyeight/HookWebViewRunCostomeJs
主要需求:一次面试公司需要抓取手机app内部web页面的数据,当时说python人家表示不行,需要xposed到手机,今天有时间,实现了demo,给需要的人
主要点:
被hook的app代码,简单写了几行

1.如果执行自己的js
    private class MyWebViewClient extends WebViewClient{
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            XposedBridge.log(url);
            return true;
      }

      @Override
      public void onPageFinished(WebView view, String url) {
            // Execute your javascript below
            String jsLine = initJS();
            XposedBridge.log("jsLine->>"+jsLine);
            view.loadUrl("javascript:"+jsLine);
      }
    }

继承webViewClient重写onPageFinished加入你的js,然后添加WebViewClient进去
@Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                super.beforeHookedMethod(param);
                XposedHelpers.findAndHookMethod("android.webkit.WebView", lpparam.classLoader, "setWebViewClient", WebViewClient.class, new XC_MethodHook() {
                  @Override
                  protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        param.args = new MyWebViewClient();
                  }
                });
            }

2.回调方法到java层
window.android.startFunction(book_json);
基本就这样了,测试无法直接修改html添加jquery代码等,大佬会的可以告诉我。

少不更事 发表于 2018-7-20 15:45

iwang110 发表于 2018-7-20 10:26
能否hookjs里面的参数

可以看看Proxy
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy
再结合楼主的方法试试

Shutd0wn 发表于 2018-7-19 20:51

自己做沙发

Anakin 发表于 2018-7-19 23:09

谢谢楼主分享研究下Js   楼主不能这样啊你怎么又是楼主又是沙发   也不留些给兄弟

qcwap2012 发表于 2018-7-19 23:09

可以可以,感谢分享。

iwang110 发表于 2018-7-20 10:26

能否hookjs里面的参数

Evil0r 发表于 2018-7-20 11:47

谢谢分享 ~~~

fcguo800 发表于 2018-7-20 13:44

好厉害,新手好好学习一下,感谢分享。

ruby 发表于 2018-7-20 18:46

可以替换里面的参数

cyhcuichao 发表于 2018-7-20 21:58

小白一枚前来学习
页: [1] 2
查看完整版本: xposedHook-给web页面添加自己的js