前人栽树,后人吃桃。

准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子、计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信)。微信 apk都60多M了,总不能反编译后全部取看一边一点一点的摸索吧,那样的话对于我来说简直就是惨绝人寰,这种事情别人肯定是做过的,于是乎,又用上了搜索功能满世界的查找。

微控工具xp模块-开发版[微信(wechat)二次开发模块]

付费入群,高级功能要钱,这不符合我的原则。这不符合我的原则。对不住只能XX了。

一不小心就找到了这个xp模块,我想作者会恨我。作者绝对会恨我的。我下载了大的模块,大致的用 jeb2.0 看了一下,好像似乎大部分hook方法都写在native里面了。应该是 libwtool.so 里面了吧,怎么办好捉急呀。呀!忽然灵光一闪。不对呀~,Xposed 只能 hook java应用层,那么问题来了,他把核心代码放到native里面,到头来还是要调用:

XposedHelpers.findClass

XposedHelpers.findAndHookMethod

XposedHelpers.findAndHookConstructor

XposedHelpers....

那么我们只要把xposed 的 XposedHelpers 类 hook 起来,就可以知道原作者调用了微信的那些api,配合反编译的微信分析 api 相关的功能。当然 自己hook也是必不可少的。这样下来至少可以节约 1 个月的工作量。

当hook遇上hook,神奇的事情即将发生。

当下全网都找思域,那么接下来就得用我们吉利美人豹(cydia substrate 老掉牙,停产,不更新)对战 十代思域(Xposed)了。

findClass hook 源码:

MS.hookClassLoad("de.robv.android.xposed.XposedHelpers", new MS.ClassLoadHook() {

public void classLoaded(Class> clazz) {

Log.w(TAG, "classLoaded: " + clazz.getName());

Method[] methods = clazz.getMethods();

for (final Method method : methods) {

MS.hookMethod(clazz,method,new MS.MethodAlteration(){

@Override

public Object invoked(Object thiz, Object... args) throws Throwable {

if ("findClass".equals(method.getName())){

//public static Class> findClass(String className, ClassLoader classLoader)

Log.w(TAG, "findClass: "+  args[0]);

}

return invoke(thiz, args);

}

});

}

}

});

logcat:

W/wechat: initialize

W/wechat: classLoaded: de.robv.android.xposed.XposedHelpers

W/wechat: findClass: android.app.ActivityThread.AppBindData

W/wechat: findClass: com.android.server.ServerThread

W/wechat: findClass: android.app.ApplicationPackageManager

W/wechat: findClass: android.app.ActivityThread$ResourcesKey

W/wechat: findClass: android.app.ActivityThread$ResourcesKey

W/wechat: findClass: android.app.ActivityThread$ResourcesKey

W/wechat: findClass: android.app.ActivityThread$ResourcesKey

W/wechat: findClass: android.app.ActivityThread

W/wechat: findClass: android.app.ActivityThread

W/wechat: findClass: android.app.ActivityThread

W/wechat: findClass: com.tencent.mm.app.Application

W/wechat: findClass: com.tencent.tinker.loader.app.TinkerApplication

W/wechat: findClass: android.app.ActivityThread$ResourcesKey

W/wechat: findClass: com.tencent.smtt.sdk.WebSettings

W/wechat: findClass: com.tencent.mm.pluginsdk.ui.tools.s

W/wechat: findClass: java.lang.String

W/wechat: findClass: java.lang.String

W/wechat: findClass: java.lang.String

W/wechat: findClass: java.lang.String

W/wechat: findClass: java.util.HashMap

W/wechat: findClass: com.tencent.mm.bg.g

W/wechat: findClass: java.lang.String

W/wechat: findClass: java.util.HashMap

W/wechat: findClass: com.tencent.mm.bg.g

W/wechat: findClass: com.tencent.mmdb.database.SQLiteDatabase

....

总结以及后续

大概的一个思路就是这样的了,我们还可以加上 findmethod callmethod hook 进行更加详细的分析,以后在慢慢的分析具体的功能吧,我也会做一些重点笔记同步到论坛。希望大家支持哦。还有原作者真心对不住了,把核心的api都用c++ 写我也知道很累人。但是我不借鉴分析的话也很累人呀!

连续3篇精华了,这篇会上么?

Java可以hook微信吗,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。相关推荐

  1. 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。

    前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...

  2. android微信二维码收款hook,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。...

    前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...

  3. 【微信开发第一章】SpringBoot实现微信公众号创建菜单,同步菜单功能

    前言 在进行微信公众号业务开发的时候,微信公众号的自定义菜单是非常重要的一环,该篇文章会先使用微信测试工具过一遍流程,再使用代码进行实现,争取看过的小伙伴都能够实现,创建公众号菜单和代码同步公众号菜单 ...

  4. Java萌新入门的第一篇文章

    这篇文章是为了刚入门或者打算入门的萌新们写的,希望看完后能对Java有个初步认识.以后会不定时更新有关Java的干货,就这些要说的,以上. 先介绍下相关背景,不要觉得枯燥,了解一下很有必要. a.计算 ...

  5. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  6. JAVA官方指导书全集 第一篇(中英双语)

    第一篇:The Java? Tutorials The Java Tutorials are practical guides for programmers who want to use the ...

  7. 我的第一篇CSDN博客--微信小程序

    我的第一篇CSDN博客 产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验 小程序注册 微信小程序是一种全新的连接用户与服务的方式 ...

  8. 微信jsapi支付获取code_微信支付 第一篇 JSAPI 支付配置与获取 OpenID

    开通微信支付支付产品 首先要在微信支付申请成为 微信支付商户. 选择开通具体的支付产品 成为微信支付商户后在管理后台选择微信支付中的具体支付产品并申请开通如 JSAPI . 将支付商户与公众号关联 这 ...

  9. android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...

    楼主你好!根据你的描述,让我给你答案! :新内容加进来,列表视图重新为setSelection后,定位结束后,拉起一个页面放. . 希望你能有所帮助,如果满意,请记得采纳像下拉条为微信好友如何实现 简 ...

最新文章

  1. 如何使自己的程序只运行一次
  2. java 泛型 get()_Java泛型,get类的泛型参数
  3. 【图像处理】图像内插“最近邻插值 最近邻内插法(Nearest Neighbour Interpolate)”代码演示(调整图像大小、放大、缩小)
  4. phpstudy免费安全检测服务_Phpstudy联合各大安全厂商为用户提供免费安全检测服务...
  5. RSA公私钥加解密方式-工具类
  6. 超cool的firefox插件之PicLens
  7. 用ExpandableListView实现好友分组
  8. 开发一个简单实用的android紧急求助软件
  9. java冒险岛_JAVA开发类似冒险岛的游戏Part1
  10. 【L298N 驱动电机的线路连接图】
  11. 硬件安全模块- HSM
  12. 惠普打印机只打印一半_打印机打印一半字就只有半个了
  13. 使用Electron将html网页转为exe可执行文件(全屏, 遮住任务栏, Esc退出, exe的图标/文件名修改)
  14. 企鹅,大鱼,百家,头条到底那个收益高,新手该怎么来做?
  15. 黑龙江软件第三方检测机构/软件登记(退税)测试报告
  16. Windows8 安装Vs2008 报错的解决方法
  17. github pages搭建博客的域名解析(简单有效)
  18. 对校招生培养工作的建议_如何做好校招生的培育
  19. next_day的使用
  20. 万能地图下载器八种新建地图下载任务的方法

热门文章

  1. 10个最佳的人工智能开发框架和AI库
  2. 【Excel VBA】超级实用的UsedRange
  3. tensorflow2中自定义损失、传递loss函数字典/compile(optimizer=Adam(lr = lr), loss= lambda y_true, y_pred: y_pred)理解
  4. 爱因斯坦谜题:谁养鱼(C#版)续
  5. 2021全光智慧城市发展报告2.0 附下载
  6. vivos9语音唤醒功能设置方法
  7. linux 给opt扩大内存,linux服务前环境下用G09做opt和freq计算报错,好像是内存问题,求各位帮助。 - 量子化学 - 小木虫 - 学术 科研 互动社区...
  8. 三维目标检测:(二)用ROS获取传感器(Kinect DK)点云并滤波
  9. 教育部:在线教学要从“新鲜感”走向“新常态”
  10. java实验三20135104