Code Monkey home page Code Monkey logo

webviewpp's Introduction

logo

WebViewPP

Kotlin Xposed GitHub Repo stars GitHub Downloads LSPosed Downloads

Enable WebView debugging and add vConsole in it. Support WebView, TBS X5, UC U4, Crosswalk(XWalk), XWeb.

启用 WebView 调试并添加 vConsole,支持 WebView、TBS X5、UC U4、Crosswalk(XWalk)、XWeb。

Tutorial / 新手指南

Contacts / 联络

ScreenShots / 应用截图

Support Engine / 内核支持情况

Engine Name Version Debugging vConsole Comment
WebView X
TBS X5 X
UC U4 X 一些阿里系的 App 使用了魔改包,可能无法开启达到预期目标
Crosswalk X
XWeb X 由 Crosswalk 二改而来的引擎,大概只有微信在用

Repo of Rules / 规则仓库

WankkoRee/WebViewPP-Rules

To do / 计划

  • 增加注入Eruda
  • 增加注入Chii

Credits / 感谢

  • fankes/YukiHookAPI

    A modern Hook API which we used.

    本项目所采用的现代化 Hook API。

  • feix760/WebViewDebugHook

    Referenced the implementation about WebView debugging.

    参考了 WebView 调试的相关实现。

  • kooritea/debugwebview

    The inspiration for vConsole injection.

    vConsole 注入的灵感来源。

Trend / 趋势

Star Trend

webviewpp's People

Contributors

srdr0p avatar wankkoree avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webviewpp's Issues

Fix java.lang.UnsupportedOperationException: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f030171 a=-1} in androidx.appcompat.view.menu.MenuAdapter.getView (MenuAdapter.java:94)

Version v3.0.0.176.1778b59(15)

Stacktrace

androidx.appcompat.view.menu.MenuAdapter.getView (MenuAdapter.java:94);

androidx.appcompat.view.menu.MenuPopup.measureIndividualMenuWidth (MenuPopup.java:161);

androidx.appcompat.view.menu.StandardMenuPopup.tryShow (StandardMenuPopup.java:174);

androidx.appcompat.view.menu.StandardMenuPopup.show (StandardMenuPopup.java:208);

androidx.appcompat.view.menu.MenuPopupHelper.showPopup (MenuPopupHelper.java:299);

androidx.appcompat.view.menu.MenuPopupHelper.tryShow (MenuPopupHelper.java:185);

androidx.appcompat.view.menu.MenuPopupHelper.show (MenuPopupHelper.java:147);

androidx.appcompat.widget.PopupMenu.show (PopupMenu.java:238);

cn.wankkoree.xp.webviewpp.activity.App.$r8$lambda$soUTi837EtCPnOD5v8wLWo7MCm8;

cn.wankkoree.xp.webviewpp.activity.App$$ExternalSyntheticLambda23.onClick;

Reason

java.lang.UnsupportedOperationException: Failed to resolve attribute at index 1: TypedValue{t=0x2/d=0x7f030171 a=-1}

Link to App Center

Fix java.lang.NullPointerException: java.lang.NullPointerException in cn.wankkoree.xp.webviewpp.activity.Apps$AppListItemAdapter.update

Version v3.1.0.179.8ebb609(16)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.Apps$AppListItemAdapter.update (Apps.java);

cn.wankkoree.xp.webviewpp.activity.Apps.appResultContract$lambda$0 (Apps.java);

cn.wankkoree.xp.webviewpp.activity.Main$$InternalSyntheticLambda$1$4ddf64fa7d8019057030c08ac77977041252e8fe81f722dec2cb5c9d851e89a1$0.onActivityResult$bridge (Main.java);

androidx.activity.result.ActivityResultRegistry.doDispatch (ActivityResultRegistry.java);

androidx.activity.result.ActivityResultRegistry.dispatchResult (ActivityResultRegistry.java);

androidx.activity.ComponentActivity.onActivityResult (ComponentActivity.java:2);

androidx.fragment.app.FragmentActivity.onActivityResult (FragmentActivity.java:5);

Reason

java.lang.NullPointerException: java.lang.NullPointerException

Link to App Center

微信hook小程序之后在insect里调试看不到js

国内版微信,根据之前的规则适配了一下新版微信,用的规则如下
https://github.com/Thiasap/WebViewPP-Rules/blob/master/rules/com.tencent.mm/8.0.49(2600).json
经过测试,小程序能看到console的小按钮,但是在浏览器edge://inspect/#devices调试的时候,在源码里看不到js,包括在控制台看报错信息都是下面这种类型的。

e.callOriginalConsole  @  未知
e.addLog  @  未知
(匿名) @未知
(匿名)  @ /lib/WAWebview.js:1
emit  @  /lib/WAWebview.js:1
d  @  /lib/WAWebview.js:1
dispatch  @ /lib/WAWebview.js:1

经过测试,使用play版微信(8.0.33)也是这样的问题,而且好像几个小程序都这样。
部分日志如下:如果确定是个例问题,我可以协助提供更多信息

05-20 16:11:32.909  2881  3544 I LSPosed-Bridge: [ INFO] 05-20 16:11:32 (ZygoteArgsHook) @startViaZygote force mount data: 10209 com.tencent.mm
05-20 16:11:32.926  2881  3544 I LSPosed-Bridge: [ INFO] 05-20 16:11:32 (ZygoteArgsHook) @startViaZygote force mount data: 10209 com.tencent.mm
05-20 16:11:33.014  1781  1781 I LSPosed : Loading xposed for com.tencent.mm:appbrand0/10209
05-20 16:11:33.026  1781  1781 I LSPosed-Bridge: Loading legacy module com.bit747.xtools from /data/app/~~m-w7csL6O6A3XyqWA6cQ2w==/com.bit747.xtools-MLhOFqID-s0Sp8q3KA-1vg==/base.apk
05-20 16:11:33.033  1781  1781 I LSPosed-Bridge:   Loading class com.bit747.xtools.huukinit
05-20 16:11:33.034  1781  1781 I LSPosed-Bridge: Loading legacy module cn.wankkoree.xp.webviewpp from /data/app/~~ZZiDtLFUmByKMg9xzA7hwQ==/cn.wankkoree.xp.webviewpp-e4XuoEi_n0kYAQ_9gj_RHQ==/base.apk
05-20 16:11:33.044  1781  1781 I LSPosed-Bridge:   Loading class cn.wankkoree.xp.webviewpp.hook.Entry
05-20 16:11:33.044  1799  1799 I LSPosed : Loading xposed for com.tencent.mm:appbrand1/10209
05-20 16:11:33.055  1781  1781 I LSPosed-Bridge: Loading legacy module com.tencent.mm.forcepad from /data/app/~~LlN11kvQ686-86FSmNjrsg==/com.tencent.mm.forcepad-k5e0nS0D15O0SsA3ecS0lQ==/base.apk
05-20 16:11:33.056  1781  1781 I LSPosed-Bridge:   Loading class xyz.xp.module.hooktest.XposedInit
05-20 16:11:33.059  1781  1781 I LSPosed-Bridge: Loading legacy module dialog.box from /data/app/~~Uh5TxLU_2p6AGmPga5zp9w==/dialog.box-GeLy_1etvbnKUG32fqEkzw==/base.apk
05-20 16:11:33.059  1799  1799 I LSPosed-Bridge: Loading legacy module com.bit747.xtools from /data/app/~~m-w7csL6O6A3XyqWA6cQ2w==/com.bit747.xtools-MLhOFqID-s0Sp8q3KA-1vg==/base.apk
05-20 16:11:33.071  1799  1799 I LSPosed-Bridge:   Loading class com.bit747.xtools.huukinit
05-20 16:11:33.080  1799  1799 I LSPosed-Bridge: Loading legacy module cn.wankkoree.xp.webviewpp from /data/app/~~ZZiDtLFUmByKMg9xzA7hwQ==/cn.wankkoree.xp.webviewpp-e4XuoEi_n0kYAQ_9gj_RHQ==/base.apk
05-20 16:11:33.131  1781  1781 I LSPosed-Bridge:   Loading class com.mhook.dialog.Module
05-20 16:11:33.137  1799  1799 I LSPosed-Bridge:   Loading class cn.wankkoree.xp.webviewpp.hook.Entry
05-20 16:11:33.167  1781  1781 I LSPosed-Bridge: Loading legacy module com.virb3.trustmealready from /data/app/~~cRdN_EWCVrTRJTC2cLx6ow==/com.virb3.trustmealready-DerYR9yPQ5igABPsbar01w==/base.apk
05-20 16:11:33.168  1781  1781 I LSPosed-Bridge:   Loading class com.virb3.trustmealready.Main
05-20 16:11:33.168  1781  1781 I LSPosed-Bridge: TrustMeAlready loading...
05-20 16:11:33.169  1781  1781 I LSPosed-Bridge: Hooking method:
05-20 16:11:33.169  1781  1781 I LSPosed-Bridge: private java.util.List com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(java.security.cert.X509Certificate[],byte[],byte[],java.lang.String,boolean,java.util.ArrayList,java.util.ArrayList,java.util.Set) throws java.security.cert.CertificateException
05-20 16:11:33.170  1799  1799 I LSPosed-Bridge: Loading legacy module com.tencent.mm.forcepad from /data/app/~~LlN11kvQ686-86FSmNjrsg==/com.tencent.mm.forcepad-k5e0nS0D15O0SsA3ecS0lQ==/base.apk
05-20 16:11:33.170  1781  1781 I LSPosed-Bridge: TrustMeAlready loaded! Hooked 1 methods
05-20 16:11:33.170  1799  1799 I LSPosed-Bridge:   Loading class xyz.xp.module.hooktest.XposedInit
05-20 16:11:33.173  1799  1799 I LSPosed-Bridge: Loading legacy module dialog.box from /data/app/~~Uh5TxLU_2p6AGmPga5zp9w==/dialog.box-GeLy_1etvbnKUG32fqEkzw==/base.apk
05-20 16:11:33.325  1781  1781 I LSPosed-Bridge: [YukiHookAPI][I][com.tencent.mm]--> Welcome to WebViewPP v3.1.0.179.8ebb609-release(16)!
05-20 16:11:33.376  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> hook com.tencent.mm which run in com.tencent.mm:appbrand0
05-20 16:11:33.380  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> loading rules
05-20 16:11:33.492  1799  1799 I LSPosed-Bridge:   Loading class com.mhook.dialog.Module
05-20 16:11:33.536  1781  2137 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉XWebPreferences👉com.tencent.xweb.XWebPreferences
05-20 16:11:33.538  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉com.tencent.xweb.WebView
05-20 16:11:33.541  1781  2137 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉XWebPreferences👉setValue as [public static void com.tencent.xweb.XWebPreferences.setValue(java.lang.String,boolean)]
05-20 16:11:33.543  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉initWebviewCore as [public static synchronized void com.tencent.xweb.WebView.initWebviewCore(android.content.Context,com.tencent.xweb.WebView$WebViewKind,java.lang.String,com.tencent.xweb.WebView$PreInitCallback)]
05-20 16:11:33.546  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context)]
05-20 16:11:33.547  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet)]
05-20 16:11:33.548  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int)]
05-20 16:11:33.549  1781  2135 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int,com.tencent.xweb.WebView$WebViewKind)]
05-20 16:11:33.565  1781  2144 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.z9
05-20 16:11:33.569  1781  2144 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.z9.onPageFinished(android.webkit.WebView,java.lang.String)]
05-20 16:11:33.594  1781  2170 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.v8
05-20 16:11:33.595  1781  2170 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.v8.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:33.605  1799  1799 I LSPosed-Bridge: Loading legacy module com.virb3.trustmealready from /data/app/~~cRdN_EWCVrTRJTC2cLx6ow==/com.virb3.trustmealready-DerYR9yPQ5igABPsbar01w==/base.apk
05-20 16:11:33.605  1799  1799 I LSPosed-Bridge:   Loading class com.virb3.trustmealready.Main
05-20 16:11:33.606  1799  1799 I LSPosed-Bridge: TrustMeAlready loading...
05-20 16:11:33.607  1799  1799 I LSPosed-Bridge: Hooking method:
05-20 16:11:33.608  1799  1799 I LSPosed-Bridge: private java.util.List com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(java.security.cert.X509Certificate[],byte[],byte[],java.lang.String,boolean,java.util.ArrayList,java.util.ArrayList,java.util.Set) throws java.security.cert.CertificateException
05-20 16:11:33.609  1799  1799 I LSPosed-Bridge: TrustMeAlready loaded! Hooked 1 methods
05-20 16:11:33.613  1781  2176 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.xweb.WebViewClient
05-20 16:11:33.617  1781  2176 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.xweb.WebViewClient.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:33.677  1799  1799 I LSPosed-Bridge: [YukiHookAPI][I][com.tencent.mm]--> Welcome to WebViewPP v3.1.0.179.8ebb609-release(16)!
05-20 16:11:33.689  1799  1799 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> hook com.tencent.mm which run in com.tencent.mm:appbrand1
05-20 16:11:33.689  1799  1799 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> loading rules
05-20 16:11:33.742  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉com.tencent.xweb.WebView
05-20 16:11:33.744  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉initWebviewCore as [public static synchronized void com.tencent.xweb.WebView.initWebviewCore(android.content.Context,com.tencent.xweb.WebView$WebViewKind,java.lang.String,com.tencent.xweb.WebView$PreInitCallback)]
05-20 16:11:33.745  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context)]
05-20 16:11:33.747  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet)]
05-20 16:11:33.748  1799  2233 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉XWebPreferences👉com.tencent.xweb.XWebPreferences
05-20 16:11:33.748  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int)]
05-20 16:11:33.750  1799  2233 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉XWebPreferences👉setValue as [public static void com.tencent.xweb.XWebPreferences.setValue(java.lang.String,boolean)]
05-20 16:11:33.750  1799  2232 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int,com.tencent.xweb.WebView$WebViewKind)]
05-20 16:11:33.757  1799  2242 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.z9
05-20 16:11:33.759  1799  2242 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.z9.onPageFinished(android.webkit.WebView,java.lang.String)]
05-20 16:11:33.769  1799  2245 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.v8
05-20 16:11:33.771  1799  2245 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.v8.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:33.780  1799  2253 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.xweb.WebViewClient
05-20 16:11:33.781  1799  2253 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.xweb.WebViewClient.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:35.581  1781  1781 I LSPosed-Bridge: xtools hook com.tencent.mm.plugin.fts.o.o
05-20 16:11:36.037  1799  1799 I LSPosed-Bridge: xtools hook com.tencent.mm.plugin.fts.o.o
05-20 16:11:37.450  2881  3544 I LSPosed-Bridge: [ INFO] 05-20 16:11:37 (ZygoteArgsHook) @startViaZygote force mount data: 10209 com.tencent.mm
05-20 16:11:37.462  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:37.462  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:37.462  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:37.462  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:37.531 24669 24669 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:37.595  3081  3081 I LSPosed : skip injecting into com.tencent.mm:xweb_sandboxed_process_0:com.tencent.xweb.pinus.sdk.process.SandboxedProcessService0 because it's isolated
05-20 16:11:37.602  3027  3027 I LSPosed : Loading xposed for com.tencent.mm:xweb_privileged_process_0/10209
05-20 16:11:37.620  3027  3027 I LSPosed-Bridge: Loading legacy module com.bit747.xtools from /data/app/~~m-w7csL6O6A3XyqWA6cQ2w==/com.bit747.xtools-MLhOFqID-s0Sp8q3KA-1vg==/base.apk
05-20 16:11:37.625  3027  3027 I LSPosed-Bridge:   Loading class com.bit747.xtools.huukinit
05-20 16:11:37.629  3027  3027 I LSPosed-Bridge: Loading legacy module cn.wankkoree.xp.webviewpp from /data/app/~~ZZiDtLFUmByKMg9xzA7hwQ==/cn.wankkoree.xp.webviewpp-e4XuoEi_n0kYAQ_9gj_RHQ==/base.apk
05-20 16:11:37.656  3027  3027 I LSPosed-Bridge:   Loading class cn.wankkoree.xp.webviewpp.hook.Entry
05-20 16:11:37.686  3027  3027 I LSPosed-Bridge: Loading legacy module com.tencent.mm.forcepad from /data/app/~~LlN11kvQ686-86FSmNjrsg==/com.tencent.mm.forcepad-k5e0nS0D15O0SsA3ecS0lQ==/base.apk
05-20 16:11:37.686  3027  3027 I LSPosed-Bridge:   Loading class xyz.xp.module.hooktest.XposedInit
05-20 16:11:37.688  3027  3027 I LSPosed-Bridge: Loading legacy module dialog.box from /data/app/~~Uh5TxLU_2p6AGmPga5zp9w==/dialog.box-GeLy_1etvbnKUG32fqEkzw==/base.apk
05-20 16:11:37.747  3027  3027 I LSPosed-Bridge:   Loading class com.mhook.dialog.Module
05-20 16:11:37.779  3027  3027 I LSPosed-Bridge: Loading legacy module com.virb3.trustmealready from /data/app/~~cRdN_EWCVrTRJTC2cLx6ow==/com.virb3.trustmealready-DerYR9yPQ5igABPsbar01w==/base.apk
05-20 16:11:37.780  3027  3027 I LSPosed-Bridge:   Loading class com.virb3.trustmealready.Main
05-20 16:11:37.780  3027  3027 I LSPosed-Bridge: TrustMeAlready loading...
05-20 16:11:37.781  3027  3027 I LSPosed-Bridge: Hooking method:
05-20 16:11:37.781  3027  3027 I LSPosed-Bridge: private java.util.List com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(java.security.cert.X509Certificate[],byte[],byte[],java.lang.String,boolean,java.util.ArrayList,java.util.ArrayList,java.util.Set) throws java.security.cert.CertificateException
05-20 16:11:37.782  3027  3027 I LSPosed-Bridge: TrustMeAlready loaded! Hooked 1 methods
05-20 16:11:37.842  3027  3027 I LSPosed-Bridge: [YukiHookAPI][I][com.tencent.mm]--> Welcome to WebViewPP v3.1.0.179.8ebb609-release(16)!
05-20 16:11:37.857  3027  3027 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> hook com.tencent.mm which run in com.tencent.mm:xweb_privileged_process_0
05-20 16:11:37.858  3027  3027 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> loading rules
05-20 16:11:38.009  3027  3214 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉XWebPreferences👉com.tencent.xweb.XWebPreferences
05-20 16:11:38.017  3027  3214 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉XWebPreferences👉setValue as [public static void com.tencent.xweb.XWebPreferences.setValue(java.lang.String,boolean)]
05-20 16:11:38.018  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookXWebView👉com.tencent.xweb.WebView
05-20 16:11:38.022  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉initWebviewCore as [public static synchronized void com.tencent.xweb.WebView.initWebviewCore(android.content.Context,com.tencent.xweb.WebView$WebViewKind,java.lang.String,com.tencent.xweb.WebView$PreInitCallback)]
05-20 16:11:38.023  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context)]
05-20 16:11:38.030  3027  3228 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.z9
05-20 16:11:38.030  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet)]
05-20 16:11:38.041  3027  3228 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.z9.onPageFinished(android.webkit.WebView,java.lang.String)]
05-20 16:11:38.047  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int)]
05-20 16:11:38.049  3027  3213 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookXWebView👉<init> as [public com.tencent.xweb.WebView(android.content.Context,android.util.AttributeSet,int,com.tencent.xweb.WebView$WebViewKind)]
05-20 16:11:38.058  3027  3236 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.mm.plugin.appbrand.page.v8
05-20 16:11:38.064  3027  3236 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.mm.plugin.appbrand.page.v8.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:38.085  3027  3248 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Class.Started at hookWebViewClient👉com.tencent.xweb.WebViewClient
05-20 16:11:38.089  3027  3248 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Hook.Member.Ended at hookWebViewClient👉onPageFinished as [public void com.tencent.xweb.WebViewClient.onPageFinished(com.tencent.xweb.WebView,java.lang.String)]
05-20 16:11:39.653 24669  1184 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Welcome to WebViewPP v3.1.0.179.8ebb609-release(16)!
05-20 16:11:39.654 24669  1184 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> do not hook other application package: com.google.android.webview or application process: com.tencent.mm
05-20 16:11:39.866  3027  3027 I LSPosed-Bridge: xtools hook com.tencent.mm.plugin.fts.o.o
05-20 16:11:45.064  1781  2474 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Welcome to WebViewPP v3.1.0.179.8ebb609-release(16)!
05-20 16:11:45.065  1781  2474 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> do not hook other application package: com.google.android.webview or application process: com.tencent.mm
05-20 16:11:45.756  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:45.757  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:45.757  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:11:45.758  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:12:46.946  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:12:46.947  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:12:46.948  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb
05-20 16:12:46.949  1781  1781 I LSPosed-Bridge: [WebViewPP<com.tencent.mm>][I][com.tencent.mm]--> Current XWeb Engine is XWeb

Fix java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant). in com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke

Version v3.0.0.176.1778b59(15)

Stacktrace

com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke;

com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke;

com.github.kittinunf.fuel.core.RequestExecutionOptionsKt$sam$java_lang_Runnable$0.run;

Reason

java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).

Link to App Center

微信8.0.28(2240)小程序hook不了

[ 2022-10-14T20:55:22.449    10360: 25934: 25963 I/LSPosed-Bridge  ] [WebViewPP<com.tencent.mm>][E][com.tencent.mm]--> Hook.Class.NotFound at hookXWebPreferences👉org.xwalk.core.XWalkPreferences
[ 2022-10-14T20:55:22.450    10360: 25934: 25963 E/LSPosed-Bridge  ] java.lang.NoClassDefFoundError: Can't find this Class in [dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/~~ODmHvLWJaPtxKpo6kRzOgg==/com.tencent.mm-iXrs9r93xcXfL09xCDefRQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~ODmHvLWJaPtxKpo6kRzOgg==/com.tencent.mm-iXrs9r93xcXfL09xCDefRQ==/lib/arm64, /data/app/~~ODmHvLWJaPtxKpo6kRzOgg==/com.tencent.mm-iXrs9r93xcXfL09xCDefRQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]]]:
                                -> name:[org.xwalk.core.XWalkPreferences]
Generated by YukiHookAPI#ReflectionTool
	at u3.a.c(Unknown Source:187)
	at u3.a.e(Unknown Source:167)
	at w3.b.a(Unknown Source:12)
	at o1.r.a(Unknown Source:15)
	at m1.b.e(Unknown Source:1391)
	at m3.a.a(Unknown Source:119)
	at c4.a.b(Unknown Source:139)
	at m1.c.a(Unknown Source:108)
	at cn.wankkoree.xp.webviewpp.hook.Entry.handleLoadPackage(Unknown Source:9)
	at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(Unknown Source:2)
	at de.robv.android.xposed.callbacks.XC_LoadPackage.call(Unknown Source:6)
	at de.robv.android.xposed.callbacks.XCallback.callAll(Unknown Source:26)
	at H.afterHookedMethod(SourceFile:1)
	at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147)
	at LSPHooker_.getClassLoader(Unknown Source:8)
	at android.app.LoadedApk.getResources(LoadedApk.java:1335)
	at android.app.ContextImpl.createAppContext(ContextImpl.java:3044)
	at android.app.ContextImpl.createAppContext(ContextImpl.java:3036)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6928)
	at android.app.ActivityThread.access$1800(ActivityThread.java:254)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2184)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:233)
	at android.os.Looper.loop(Looper.java:344)
	at android.app.ActivityThread.main(ActivityThread.java:8212)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)

LSPosed_2022-10-14T20_56_24.372.zip

Hook资源管理器Bug

打开Hook资源管理器,如果马上点击下载,会因为获取不到列表而导致应用重启

Fix android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? in cn.wankkoree.xp.webviewpp.activity.Main.$r8$lambda$eW5jbI7IvA0c1zXCWjQ0KcEF96A

Version v3.0.0.176.1778b59(15)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.Main.$r8$lambda$eW5jbI7IvA0c1zXCWjQ0KcEF96A;

cn.wankkoree.xp.webviewpp.activity.Main$$ExternalSyntheticLambda9.onClick;

Reason

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?

Link to App Center

Fix java.lang.IllegalStateException: Fragment null must be a public static class to be properly recreated from instance state. in androidx.fragment.app.FragmentTransaction.doAddOp (FragmentTransaction.java:249)

Version v3.0.0.173.844e4d6(15)

Stacktrace

androidx.fragment.app.FragmentTransaction.doAddOp (FragmentTransaction.java:249);

androidx.fragment.app.BackStackRecord.doAddOp (BackStackRecord.java:183);

androidx.fragment.app.FragmentTransaction.add (FragmentTransaction.java:171);

androidx.viewpager2.adapter.FragmentStateAdapter.placeFragmentInViewHolder (FragmentStateAdapter.java:339);

androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow (FragmentStateAdapter.java:276);

androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow (FragmentStateAdapter.java:67);

androidx.recyclerview.widget.RecyclerView.dispatchChildAttached (RecyclerView.java:7556);

androidx.recyclerview.widget.RecyclerView$5.addView (RecyclerView.java:860);

androidx.recyclerview.widget.ChildHelper.addView (ChildHelper.java:107);

androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt (RecyclerView.java:8601);

androidx.recyclerview.widget.RecyclerView$LayoutManager.addView (RecyclerView.java:8559);

androidx.recyclerview.widget.RecyclerView$LayoutManager.addView (RecyclerView.java:8547);

androidx.recyclerview.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1641);

androidx.recyclerview.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1587);

androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:665);

androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:4134);

androidx.recyclerview.widget.RecyclerView.onMeasure (RecyclerView.java:3540);

androidx.viewpager2.widget.ViewPager2.onMeasure (ViewPager2.java:498);

androidx.appcompat.widget.LinearLayoutCompat.measureChildBeforeLayout (LinearLayoutCompat.java:1401);

androidx.appcompat.widget.LinearLayoutCompat.measureVertical (LinearLayoutCompat.java:685);

androidx.appcompat.widget.LinearLayoutCompat.onMeasure (LinearLayoutCompat.java:575);

androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure (CoordinatorLayout.java:831);

androidx.appcompat.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:145);

Reason

java.lang.IllegalStateException: Fragment null must be a public static class to be properly recreated from instance state.

Link to App Center

Fix java.lang.OutOfMemoryError: Failed to allocate a 37402232 byte allocation with 16983960 free bytes and 16MB until OOM, target footprint 100663296, growth limit 100663296 in cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke

Version v3.1.0.179.8ebb609(16)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke (Resources.java);

cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke (Resources.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.RequestExecutionOptionsKt$sam$java_lang_Runnable$0.run (RequestExecutionOptionsKt.java:2);

Reason

java.lang.OutOfMemoryError: Failed to allocate a 37402232 byte allocation with 16983960 free bytes and 16MB until OOM, target footprint 100663296, growth limit 100663296

Link to App Center

Fix java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant). in cn.wankkoree.xp.webviewpp.activity.Advance.$r8$lambda$AigNdwHMFDKX81wi5-zr8k1VNsU

Version v3.0.0.176.1778b59(15)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.Advance.$r8$lambda$AigNdwHMFDKX81wi5-zr8k1VNsU;

cn.wankkoree.xp.webviewpp.activity.Advance$$ExternalSyntheticLambda0.onClick;

Reason

java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant).

Link to App Center

Fix java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant). in cn.wankkoree.xp.webviewpp.activity.App.$r8$lambda$gvqcTFMdPt1enzKNDBi8Al_bxu8

Version v3.0.0.176.1778b59(15)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.App.$r8$lambda$gvqcTFMdPt1enzKNDBi8Al_bxu8;

cn.wankkoree.xp.webviewpp.activity.App$$ExternalSyntheticLambda49.onMenuItemClick;

androidx.appcompat.widget.PopupMenu$1.onMenuItemSelected (PopupMenu.java:113);

androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected (MenuBuilder.java:836);

androidx.appcompat.view.menu.MenuItemImpl.invoke (MenuItemImpl.java:159);

androidx.appcompat.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:987);

androidx.appcompat.view.menu.MenuPopup.onItemClick (MenuPopup.java:128);

Reason

java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant).

Link to App Center

vConsole注入问题

  1. 没有注入成功
    用两款app做了测试,“美图秀秀”和“皮皮虾”,皮皮虾成功,但美图秀秀失败,不知道为什么~~(真机调试二者都行)

  2. 注入时机
    皮皮虾注入成功,但vConsole中没有历史日志。我想应该是注入时机较后,感觉可以调整下,在第一时间注入,这样也能看到整个页面的完整日志

关于微信内核问题

请问大佬现在还可以禁用微信的内置内核,转而让其使用系统webview嘛(之前x5貌似行,现在换xweb了,之前的方法用不了)
play8.0.21,不算太新的版本

不支持滴滴app吗

滴滴-Android-v6.5.14

充值中心 页面可以,有vConsole也能连chrome f12,但是这个充值中心的页面里的-更多充值一栏‘加油卡’,‘心意卡’等 点了都毫无反应,不知道是不是滴滴做了什么检测限制;
image

本来是想抓包来着,justtrustme之后滴滴的这个充值中心都打不开。

Fix java.lang.OutOfMemoryError: Failed to allocate a 20113536 byte allocation with 6005184 free bytes and 5864KB until OOM, target footprint 100663296, growth limit 100663296 in cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke

Version v3.1.0.179.8ebb609(16)

Stacktrace

cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke (Resources.java);

cn.wankkoree.xp.webviewpp.activity.Resources$onCreate$downloadResources$5$2.invoke (Resources.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke (DeserializableKt.java);

com.github.kittinunf.fuel.core.RequestExecutionOptionsKt$sam$java_lang_Runnable$0.run (RequestExecutionOptionsKt.java:2);

Reason

java.lang.OutOfMemoryError: Failed to allocate a 20113536 byte allocation with 6005184 free bytes and 5864KB until OOM, target footprint 100663296, growth limit 100663296

Link to App Center

如何查看hook结果

如下代码所示 :
hook 标准 WebView 规则集 hookWebView:hookWebView( Class_WebView=android.webkit.WebView Method_getSettings=getSettings() Method_setWebContentsDebuggingEnabled=setWebContentsDe Method_setJavaScriptEnabled=setJavaScriptEnabled(bool) Method_loadUrl =loadUrl Method_setWebViewClient=setWebViewClient )
添加了如上规则的代码,然后vConsole模块也下载了,但是我怎么看到规则中的hook的loadUrl效果呢,怎么看到规则的效果或者是还有什么流程没有走到呢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.