接上一篇,引入Xposed库,使模块生效:https://blog.csdn.net/weixin_42127613/article/details/81839002

现在开始实战Xposed框架的hook功能。

1、新建一个类MainXposed,用于Xposed框架的启动入口。这个类要实现Xposed框架的IXposedHookLoadPackage接口。如下图所示。

我们在这个类的实现方法中,输出当前的包名和进程名,以Xposed的日志形式进行输出。完成后,该类的源码如下。

package net.dalu2048.wechatgenius;import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;public final class MainXposed implements IXposedHookLoadPackage {@Overridepublic void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {XposedBridge.log("当前包名:" + lpparam.packageName + ",进程名:" + lpparam.processName);}
}

2、加入Xposed框架的入口说明。

在项目中新建assets文件夹。在app文件夹上点击右键,新建文件夹,选择Assets Folder。如下图所示。

在assets文件夹中,新建文件,输入文件名:xposed_init。只能用这个文件名,是固定死的。Xposed框架就是通过这个文件名来寻找入口类。

打开文件,在其中只需要输入一个类名即可。一行一个,也可输入多个。一般我们也只用一个。

文件内容,输入一行:net.dalu2048.wechatgenius.MainXposed

3、运行测试。

现在编译运行,重启模拟器,打开Xposed installer,选择日志菜单,进行日志查看。

通过日志记录,可以看到编写的代码生效了,输出了系统的所有包名和进程。实际上是以进程为索引,Xposed都是hook的进程。如下图所示,可以看到微信的进程和包名。微信是多进程,所以看到有多次出现微信的包名。

最后,做一下过滤。由于我们只需要获取微信的消息,所以只需要hook微信进程即可。

加入判断,如果当前的进程为微信进程,那么继续;否则返回。很多类似代码都是进行包名的对比,由于微信是多进程,所以包名会出现多次,也就hook了多次。虽然影响不大,因为其他进程可能不会调用我们hook的方法,但毕竟不是最精确的做法。所以精确的做法,还是进行进程的对比。

微信的聊天消息,在主进程里面,我们只需要hook主进程即可。

修改后的MainXposed类代码如下。

public final class MainXposed implements IXposedHookLoadPackage {@Overridepublic void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {if (!lpparam.processName.equals("com.tencent.mm")){return;}XposedBridge.log("进入微信进程:" + lpparam.processName);}
}

编译、运行、重启后,打开Xposed日志,查看到只有一条日志记录,说明我们顺利的进入了微信进程。hook住了微信。

OK。至此,我们hook进入了微信的进程。

最后,源码提交github。项目地址是:https://github.com/dalu2048/WeChatGenius.git

下一篇,将实时获取到微信聊天消息,hook数据库插入操作:https://blog.csdn.net/weixin_42127613/article/details/81840536

编写微信聊天机器人3《聊天精灵WeChatGenius》:使用Xposed来hook微信,找到微信进程。相关推荐

  1. python自然语言处理与方言聊天机器人_聊天机器人Python实现案例 | 老炮儿聊机器语音...

    点击上方蓝色字体,关注:九三智能控 世界上最早的聊天机器人诞生于20世纪80年代,名为"阿尔贝特",用BASIC语言编写而成.目前,聊天机器人从功能和技术的角度,可以分为两类,一类 ...

  2. Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能

    Unity 图灵 之 在Unity中实现图灵 聊天机器人 简单聊天的功能 目录 Unity 图灵 之 在Unity中实现图灵聊天机器人简单聊天的功能 一.简单介绍 二.图灵官网关于在线聊天机器人的接入 ...

  3. PHP训练聊天机器人,智能聊天机器人,陪你聊天练口才!

    我们口才训练微信群里有智能聊天机器人,专门陪大家聊天练口才! (微信搜索公众号:社交口才训练营,就可以加入我们!) 加入我们口才训练营的朋友,空余时间可以在群里与智能机器人聊天,学习它的聊天技巧和说话 ...

  4. python开源聊天机器人ChatterBot——聊天机器人搭建、流程分析、源码分析

    开源聊天机器人ChatterBot 3.1  ChatterBot简介 ChatterBot是一个Python库,可以轻松生成对用户输入的自动响应.ChatterBot使用一系列机器学习算法来产生不同 ...

  5. 自己动手用Android和Xposed编写一个微信聊天机器人——《微信聊天精灵》实现关键词自动回复。

    出于爱好和需要,想着自己来编写一个微信聊天机器人,能实现以下功能: 能实时获取到微信聊天消息: 能进行文本自动回复: 能够设置关键词: 能够根据关键词匹配,进行内容回复: 能实现聊天消息云端备份: 已 ...

  6. (微信)聊天机器人--实用案例

    关于微信聊天机器人或者聊天机器人,大家所熟知的就是图灵机器人,聊天比较灵活,可以承担一部分客服的工作.除了图灵机器人,除了大家知道的客服功能,今天为大家重点分享几个机器人的使用方法,相信这些机器人可以 ...

  7. 部署一个基于ChatGPT的微信聊天机器人以及产生的思考

    文章目录 前言 功能 反响 思考 这篇文章主要展示了基于ChatGPT的微信聊天机器人的效果,以及在部署过程中我产生的一些思考.部署一个这样的机器人的具体方法我过两天会单独写一篇文章. 前言 最近几个 ...

  8. 微信聊天机器人-wechaty

    原文链接 工具推荐-wechaty,让你的微信更智能 背景 最近由于工作需求,需要给微信增加关键词回复.定时统计并推送到指定微信群等功能,让我有机会接触.了解了微信聊天机器人. 在开源的世界有许多好用 ...

  9. 人工智能标记语言AIML聊天机器人:…

    人工智能标记语言AIML聊天机器人:产生.种类.应用.实例.AIML概述.知识库.公司.业界(20k字经典收藏版) 秦陇纪10译编 聊天机器人(chatterbot)是一个用来模拟人类对话或聊天的程序 ...

  10. 人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)...

    目录 一.聊天机器人(chatbots)的产生.盛行.中文版 二.聊天机器人种类及应用场景简介 三.聊天机器人相关疑问与常见实例 四.人工智能标记语言(AIML)概述(Dr.理查德S.华勒斯Richa ...

最新文章

  1. firefox.exe not found problem (VS2005 website)
  2. 云南林业职业技术学院计算机考试试题,云南林业职业技术学院单招模拟题(含解析)9.docx...
  3. 青少年蓝桥杯_2020_steam考试_中级组_第一题
  4. tkinter 布局_第八弹:读者问有tkinter的资料吗?
  5. python面向对象抽象
  6. 受教黑金文档,再度优化兼容irq uart代码
  7. P3901-数列找不同【模拟】
  8. python硬件_「大神器!」硬件的AI性能测试Python库发布
  9. 提交第一个spark作业到集群运行
  10. WSS3.0安装后,系统资源消耗这么大
  11. ORACLE ORA-00600 [17059][]错误的排除
  12. Unique Email Addresses
  13. hystrix参数使用方法
  14. ad如何绘制拼版_ad 拼板
  15. 宏基台式计算机设置硬盘启动,Acer宏碁台式电脑bios设置u盘启动详细步骤
  16. 【转】Oracle知识点汇总
  17. RDS数据库申请外网地址
  18. php生成图片颜色失真,Coreldraw导出图片颜色失真怎么办?
  19. 学习笔记(二):使用 TensorFlow 的起始步骤(First Steps with TensorFlow)
  20. 人工智能的春天来了!Tesra超算网络,助力AI开发!

热门文章

  1. 分步骤详细解说:H5性能优化方案
  2. aspen压缩因子_Aspen物性参数中英文对照
  3. 服装企业ERP软件哪个公司好?施行服装ERP体系的要点是什么
  4. AMC数学考试能用计算机吗,重大调整!今年美国数学竞赛AMC考试时间有变化!
  5. 用Python+matplotlib足球运动员的射门数据可视化(绘制散点图)
  6. Linux下测试SSD硬盘读写速率
  7. 软件设计的哲学:第三章 编程的战术和战略
  8. 营收超10亿元,又一家英特尔与小米投资的中国半导体企业即将上市
  9. 孙鑫老师VC笔记(转)
  10. 考研英语单词-近义词分类-Second Day