逆向 qq 消息撤回
开发工具
工具名称 | 工具类型 | 说明 |
---|---|---|
AndroidStuduo | 编辑工具 | 开发工具 |
jadx | java工具 | 将apk解成java项目 |
xposed | 插件工具 | 插件 |
版本8.8.80 |
开始
先通过jadx把apk反编译出来源码,通过build出来,在android studio打开,方便分析。
- 要撤回自己的消息,肯定需要监听消息发送。
消息操作的函数基本都在这里ChatActivityFacade,可以通过 hook 此类的全部的函数,再通过手机发送一条消息,看会调用哪些函数。
最后确定,自己的发送消息都会调用到这个函数:
那我们只要hook住这里,拿到撤回消息需要的数据就行 message消息体。
//监听消息 = 自己
public void messageMonitoring() throws Exception {Class<?> ChatActivityFacade = mHookClassLoader.loadClass("com.tencent.mobileqq.activity.ChatActivityFacade");Class<?> QQAppInterface = mHookClassLoader.loadClass("com.tencent.mobileqq.app.QQAppInterface");Class<?> MessageRecord = mHookClassLoader.loadClass("com.tencent.mobileqq.data.MessageRecord");Class<?> ChatActivityFacade$SendMsgParams = mHookClassLoader.loadClass("com.tencent.mobileqq.activity.ChatActivityFacade$SendMsgParams");XposedHelpers.findAndHookMethod(ChatActivityFacade, "a",QQAppInterface, boolean.class, MessageRecord, ChatActivityFacade$SendMsgParams,new XC_MethodHook() {@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param);XLog.d("监听消息 = 自己");//延迟4秒撤回new Handler().postDelayed(()-> messageRetraction(param.args[2]), 4_000);}});
}
- 撤回消息
在QQMessageFacade这个类里面
我们只要伪造这个 f 方法即可
当然不可能事事如意,刚开始试的时候不行,再往后面跟踪
发现需要把dialog设置为true才能成功。
需要添加这个:ReflectionUtil.invokeMethod(MessageCache, “b”, boolean.class, true);
//消息撤回 = 事件
public void messageRetraction(Object ChatMessage) {XLog.d("消息撤回 执行");try {Class<?> MessageRecordClazz = mHookClassLoader.loadClass("com.tencent.mobileqq.data.MessageRecord");String selfuin = ReflectionUtil.getFieldValue(ChatMessage, "selfuin");Object sApplication = ReflectionUtil.invokeStaticMethod(mHookClassLoader.loadClass("com.tencent.common.app.BaseApplicationImpl"),"getApplication");Object qqAppInterface = ReflectionUtil.invokeMethod(sApplication, "getAppRuntime", String.class, selfuin);Object MessageCache = ReflectionUtil.invokeMethod(qqAppInterface, "getMsgCache");ReflectionUtil.invokeMethod(MessageCache, "b", boolean.class, true);Object QQMessageFacade = ReflectionUtil.invokeMethod(qqAppInterface, "getMessageFacade");ReflectionUtil.invokeMethod(QQMessageFacade, "f", MessageRecordClazz, ChatMessage);XLog.d("消息撤回 执行 完毕");} catch (Exception e) {XLog.d(e);}
}
逆向 qq 消息撤回相关推荐
- php消息撤回,QQ怎么在撤回消息后面加字?QQ消息撤回修改内容
最近很火的QQ消息撤回后面还可以加字.比如在XX撤回了一条消息并XXX这种格式了.就是在撤回了一条消息后面加字.下面来教大家怎么操作. 第一种方法 第一种方法就是下载这个消息撤回修改装X.EXE程序. ...
- 微信和QQ消息撤回可见app(仅限安卓手机系统的童鞋哟,本人亲测有效)
这款软件仅1.6MB,并不会占用太多的空间,给予所需的权限,并开启监听撤回之后,不管你锁没锁屏,都可以记录被撤回的消息,不过经测试成功率不是百分百,多次测试排除后得知,被屏蔽的群消息,不会有屏幕提示的 ...
- 第25天:PC QQ防撤回
看过不少防撤回的帖子,今天也记录一下这个过程吧. 对于QQ消息撤回机制这里推荐夜影师傅的博客, https://blog.csdn.net/whklhhhh/article/details/78620 ...
- 从qq服务器删除误收邮件,QQ邮箱撤回时显示撤回失败,对方已读 收件箱里的消息却是对方已阅读或已删除 这种情况下邮件有没有被删除...
QQ邮箱撤回时显示撤回失败,对方已读 收件箱里的消息却是对方已阅读或已删除 这种情况下邮件有没有被删除以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容 ...
- QQ消息防撤回(基于go-cqhttp)
很多时候别人消息撤回了,我们就看不到别人有意思的消息了所以,我们来写一个防撤回接口,让群里的消息无处遁寻 1 首先我们看到api接口,这个重要!!!! 2 我们在去查看消息体 *私人聊天撤回 {&qu ...
- 中怎么撤回消息_微信消息撤回也能看到,这个开源神器牛x!语音、图片、文字都支持!...
1.前言 微信在2014年的时候,发布的v5.3.1 版本中推出了消息撤回功能,用户可以选择撤回 2 分钟内发送的最后一条信息. 现在很多即时通讯的软件都有撤回这个功能. 腾讯为了照顾手残党,在微信和 ...
- 用Python 80行代码实现一个微信消息撤回捕捉功能
自从微信出了这个消息撤回功能小编我都已经快被折磨死了,小编本来就是个好奇心比较重的人,微信出了这个功能之后小编感觉身体一天不如一天了,每次看着女神发来的信息又撤回,可谓是心里痒痒啊.所以小编就写了一个 ...
- python使用worldcloud模块、jieba模块做QQ消息记录词云
一.导出QQ消息记录 然后选择[导出全部消息记录] 这里注意要将保存类型改为txt文件 二.函数处理 import re import wordcloud from PIL import Image ...
- python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)...
简介 有时候在忙工作,女朋友发了一个消息,就撤回了,但是人天生的都有一颗好奇心,而且在当今这个时代找个女朋友不容易,一个程序猿找一个女朋友更是不容易的.人家好不容易跟你,你还不得把人家当老佛爷侍候着, ...
最新文章
- POJ1680 Currency Exchange SPFA判正环
- Linux软件安装管理 - CentOS (二) ---- yum在线安装
- 请设计各种管理系统、业务系统的大哥大姐们,设计新系统时,拜托您,请允许我修改用户名、密码...
- 小规模流处理kata。 第1部分:线程池
- MYSQL 定时任务
- 【2021-01-14】navicat使用ssh tunnel、密钥方式连接数据库的问题。错误:Unable to load key - unrecognised cipher name
- 安卓学习笔记12:安卓按键事件
- 华为留了一手!将继续发布P50、Mate50:搭载麒麟9000...
- 明显调用的表达式前的括号必须具有(指针)函数类型
- 【车间调度】基于matlab遗传算法求解车间调度问题【含Matlab源码 070期】
- java代码自动生成,在线生成非常好用收藏
- 教你炒股票28:回复(一)
- 简单测试ROS里面C++ 和 python 文件获取参数格式
- 百度扩容软件V.2.3版,第四代扩容带自助修复功能
- 日本经济泡沫与房价泡沫
- Android 关闭屏幕方法
- APP实现图片放大预览效果
- 【C语言编程练习】5.7填数字游戏求解
- python米和厘米转换代码_用Python写一个朴素的长度单位转换器
- python放大代码放大_Python中的放大缩小功能
热门文章
- 苹果手机怎么关掉自动续费_教你关掉iPhone自动续费,不然每个月偷偷扣你的钱!...
- CB一体机添加客户机租户
- 计算机专业买哪一款华硕电脑好,华硕笔记本哪款好 2018华硕笔记本销量排行
- 【Linux kernel/cpufreq】framework ----初识
- vue项目debugger调试看不到源码
- typora图片无法加载
- IPXE+WinPE+Ghost+VHD+极域在机房维护中的应用
- 如何用 CSS 和 D3 创作火焰动画 1
- [JAVA毕业设计]vue健康餐饮管理系统设计与实现源码获取和系统演示
- python绘制对数坐标图描点,python坐标轴对数显示