最近鄙人接到一个分析某mo抢红包的单子,于是在网上搜到很多关于抢红包的例子,不过大多都是微信抢红包的例子,因此分析的时候也对微信抢红包进行了参考,要实现自动抢红包得通过两步实现:1.对红包消息的监听,2.对红包自动领取。

对红包消息的监听方法大同小异,hook 加入数据库的函数,hook JSONObject 的 toString 函数,初步估计某mo软件功能很多,有消息界面,所以一般会有数据库存储消息,当然也可能是文件存储,不过前者的可能大的多,因此在/data/data/某mo包名/ 下搜索db格式的数据库文件,找到后通过权限修改命令chmod -R 777修改某一目录及其子目录的权限,然后全部pull出来,通过SQLite Expert Professional 4 - 64bit这一工具查看数据库文件中的内容,多找找一般会找到聊天消息的,结果还真找到了消息,有红包记录,并且是没加密的,JSON格式,于是鄙人通过 hook JSONObject 的 toString 函数,然后过滤实现了对红包消息的监听。

对于红包的领取操作,某mo和微信还是有很大区别的,某mo的红包领取界面是一个 WebView ,意味着不能像微信一样点击按钮来实现领取,因此这里涉及到了一个 WebView 中 JavaScript 和 Java 代码交互的问题,作为还是菜鸟的我来说,必须要知道一些简单的 WebView 的实现原理才能继续分析了,其实网上也能搜到很多相关资料。WebView中如果要实现 JavaScript 和 Java 代码交互,会调用 WebView 类的 public void addJavascriptInterface(Object object, String name) 这个方法,其中第一个参数是一个 java 中的类,它里面的方法会被JavaScript调用,所以交互的方法一般会存在这个对象里面。

那要怎么找到这个 addJavascriptInterface 这一方法呢?我觉得可以直接 hook 这一方法,然后打印调用堆栈,即可找到该方法调用的位置,或者 WebView 的使用一般都会用调用 setWebViewClient 和 setWebChromeClient 两个方法,打印调用堆栈,然后这这个方法附近搜索 addJavascriptInterface 这一方法,我使用的 hook setWebViewClient这一方法。找到 addJavascriptInterface 后便能根据第一个参数找到交互代码类了。

交互代码类中关键方法:

hook上面的方法,然后便可以分析他的参数,最后能发现领红包的函数也是走这里,所以可以通过反射调用这个函数来领取红包,测试时可以使用广播来测试是否调用函数是否成功,通过广播测试的好处是可以从PC端的cmd中传入参数,例如processMKBridge的参数中涉及到的 id 和红包的 hid 就能通过广播命令行的参数传入。

最后实现自动抢红包时,得在监听到红包消息来的时候就开始领,但是在原本广播中能领的函数反射调用在监听到红包消息时直接领取出异常,还不知道为什么,因此只能是在监听到红包消息来时,主动发一次广播,然后在广播中反射调用领取红包的函数。红包总共有三种类型:私人双方之间红包,多人讨论组之间的红包,群的红包,实现了其中一个,另外两个都大同小异。

鄙人是一个新手,有写的不对和不好的地方,烦请指正,谢谢。

某mo通过Xposed自动抢红包相关推荐

  1. php 自动抢红包机制,xposed自动抢红包的原理,有人来说下么?

    [Java] 纯文本查看 复制代码package com.luckymoney; import android.app.Activity; import android.content.Context ...

  2. 偶然一次机会对xposed插件学习记录(微信自动抢红包原理研究,适配微信8.0)

    为什么称这次机会纯属偶然? 微信的一次大版本更新,朋友圈狂刷表情包新增动画特效的情况下,本着学习年轻人的喜好,融入年轻人生活圈的宗旨(其实我也才刚毕业),我也将微信更新到8.0,在我体验微信8.0带来 ...

  3. 简单的python抢红包脚本-Python自动抢红包,超详细教程,再也不会错过微信红包了!...

    来源:python专栏 github:https://github.com/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/Too ...

  4. python微信抢红包神器_Python自动抢红包教程详解

    0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了.现在的手机想要root或越狱并不容易,同 ...

  5. Python自动抢红包,从此再也不会错过微信红包了!

    作者 | 上海小胖 来源 | Python专栏(ID:xpchuiit)  目录: 0 引言 1 环境 2 需求分析 3 前置准备 4 抢红包流程回顾 5 代码梳理 6 后记 0 引言 提到抢红包,就 ...

  6. 简单的python抢红包脚本-Python自动抢红包,超详细教程,再也不会错过微信红包了...

    0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了.现在的手机想要root或越狱并不容易,同 ...

  7. python 微信红包群_Python自动抢红包,超详细教程,再也不会错过微信红包了!...

    目录: 0 引言 1 环境 2 需求分析 3 前置准备 4 抢红包流程回顾 5 代码梳理 6 后记 0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一 ...

  8. 自动抢红包,点赞朋友圈,AccessibilityService解放你的双手

    自动抢红包,点赞朋友圈,AccessibilityService解放你的双手 标签: 2018 引言: 其实这一篇本来不是写这个的,在周一开始想做的时候就想好了标题: <Android与Pyth ...

  9. python抢mac微信红包_Python自动抢红包,超详细教程,再也不会错过微信红包了!...

    目录: 0 引言 1 环境 2 需求分析 3 前置准备 4 抢红包流程回顾 5 代码梳理 6 后记 0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一 ...

最新文章

  1. 导航控制器自定义返回控件及手势失效问题
  2. 阿里商业白皮书:每个企业都要变成一个数据公司
  3. 新一代(New Generation)测试框架TestNG
  4. 店铺管理系统开发实践-领域模型
  5. python 程序开发以及推荐机制设计
  6. 企业服务与发展联盟即将正式成立
  7. 我的首页收藏链接之07年前的LIST
  8. 如何安装指定版本的 SAP Spartacus
  9. api-gateway实践(03)新服务网关 - 网关请求拦截检查
  10. Cisco Catalyst 4500
  11. IP SLA的路径控制
  12. JSP的9个内置对象-session
  13. DrawText如何使多行文字居中
  14. php下载安装教程,PHP下载安装教程
  15. 人工智能在日常生活中的十大应用
  16. 北京理工大学抢课教程
  17. ERDAS IMAGINE 9.2进行遥感影像融合
  18. CSR BC57E687B蓝牙模块方案 现货供应
  19. DB2配置ODBC数据源
  20. Robomongo简介

热门文章

  1. log4j无日志输出
  2. (精华)2020年8月7日 微信小程序 实时音视频通话
  3. RouterOS-VMware安装的RouterOS配置网卡映射
  4. Android应用更新(一)
  5. 金为什么可以生水?水为什么可以生木?
  6. 乐鑫 ESP32-C2,微小而重要
  7. 借助coding 上传svn
  8. “互联网+办公”中的网红企业网盘——坚果云
  9. Android版本2 3 4管理器,Tomi文件管理器
  10. linux中进程杀不死解决办法