-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一旦启用了xposed插件,wcdb抛出异常,微信就卡在地球页面了 #74
Comments
补充,手机是红米5A |
什么插件? |
自己的插件,禁用了某段操作微信打开WCDB的代码就可以了。裸xposed的时候代码没问题的,在vxp里就出问题,我先做了绕开处理了 |
@captain-black 能分享一下吗,是否跟提前加载了wcdb相关的类有关? |
在微信打开EnMicroMsg.db时,我hook来打印出数据库密码,没影响到微信的逻辑!
findAndHookMethod("com.tencent.mm.bw.a", lpparam.classLoader, "a",
String.class,
long.class,
String.class,
boolean.class,
String.class,
new XC_MethodHook() {
@OverRide
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log(TAG + "目标方法被调用: " + param.method.getName());
Log.d(TAG, "目标方法被调用: " + param.method.getName() + " 打开数据库");
Log.d(TAG, "---args---");
XposedBridge.log(TAG + " ---args---");
for (Object obj : param.args
) {
Log.d(TAG, obj.toString());
XposedBridge.log(TAG + obj.toString());
}
Log.d(TAG, "---args---");
XposedBridge.log(TAG + " ---args---");
}
}
);
|
也就是说,你之前直接hook了微信对数据库的打开操作,这样会有问题吗? 之前有人反馈 hook native/static 方法有bug,是否跟这个有关? |
就是以上代码引起了问题,注释了就正常了 |
Closed
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
一旦启用了xposed插件,wcdb就跑出异常,微信卡在启动时地球页面了。
微信版本6.6.1
VXP版本0.9.7
日志如下:
04-18 22:23:00.843 29925-29973/? E/AndroidRuntime: FATAL EXCEPTION: parallels-5
Process: com.tencent.mm, PID: 29925
com.tencent.wcdb.database.SQLiteException: no such table: userinfo (code 1, errno 0):
at com.tencent.wcdb.database.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
at com.tencent.wcdb.database.SQLiteConnection.executeForCursorWindow(SourceFile:910)
at com.tencent.wcdb.database.SQLiteSession.executeForCursorWindow(SourceFile:789)
at com.tencent.wcdb.database.SQLiteQuery.fillWindow(SourceFile:63)
at com.tencent.wcdb.database.SQLiteCursor.fillWindow(SourceFile:146)
at com.tencent.wcdb.database.SQLiteCursor.getCount(SourceFile:135)
at com.tencent.wcdb.AbstractCursor.moveToPosition(SourceFile:200)
at com.tencent.wcdb.AbstractCursor.moveToFirst(SourceFile:240)
at com.tencent.wcdb.CursorWrapper.moveToFirst(SourceFile:69)
at com.tencent.mm.storage.t.get(SourceFile:112)
at com.tencent.mm.storage.bc.cdg(SourceFile:34)
at com.tencent.mm.kernel.a.bh(SourceFile:229)
at com.tencent.mm.kernel.a.initialize(SourceFile:555)
at com.tencent.mm.plugin.h.a.execute(SourceFile:25)
at com.tencent.mm.kernel.a.c.a(SourceFile:57)
at com.tencent.mm.kernel.a.c$3.call(SourceFile:206)
at com.tencent.mm.kernel.a.b.e$1.run(SourceFile:264)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:163)
at android.os.HandlerThread.run(HandlerThread.java:61)
The text was updated successfully, but these errors were encountered: