【转】编写微信聊天机器人4《聊天精灵WeChatGenius》:实时获取到微信聊天消息,hook数据库插入操作。...

接上篇,使用Xposed来hook微信,找到微信进程:https://blog.csdn.net/weixin_42127613/article/details/81839537

既然已经找到了微信进程,那么就可以对微信的数据进行拦截获取了。

hook到微信的聊天消息,比较简单,只需要hook住数据库的插入方法即可。

因为一旦来了新消息,微信就会往本地数据库插入聊天消息,将聊天消息保存到本地。所以我们只要hook住消息的插入动作,就能实时的获取到聊天消息。

微信的数据库操作有很多类和实例,但最终都是调用了com.tencent.wcdb.database.SQLiteDatabase这个类。

插入方法用的是insert,insert内部又调用了insertWithOnConflict方法。我们可以hook住insert方法,也可以hook住insertWithOnConflict方法。

我们采用hook最终方法吧。hook这个insertWithOnConflict方法。

反编译微信,去查看com.tencent.wcdb.database.SQLiteDatabase这个类的insertWithOnConflict方法,看看都有什么参数,才能编写hook代码。如下图所示,有4个参数。

 

现在编写hook代码。在MainXposed中新建一个方法hookDatabaseInsert,进行hook。

//hook数据库插入操作
private void hookDatabaseInsert(final XC_LoadPackage.LoadPackageParam loadPackageParam) {
C

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值