吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6147|回复: 37
收起左侧

[Android 原创] VX小程序逆向分析

  [复制链接]
Sharp_Wang 发表于 2023-3-24 17:55
本帖最后由 Sharp_Wang 于 2023-3-27 09:59 编辑

前言
frIDA虽然确实调试起来相当方便,但是Xposed由于能够安装在用户手机上实现持久化的hook,至今受到很多人的青睐,对于微信小程序wx.request API,本文将以该API作为用例,介绍如何使用Xposed来对微信小程序js API进行hook首先我们要知道微信小程序跟服务器交互最终都会调用wx.request这个api跟服务器交互,我们的最终目的是要通过分析这个api得到request数据和response数据,测试的微信版本是8.0.30


背景知识
众所周知,Xposed主要用于安卓Java层的Hook,而微信小程序则是由JS编写的,显然无法直接进行hook。安卓有一个WebView的组件能够用于网页的解析和js的执行,并且提供了JSBridge可以支持js代码调用安卓的java代码,微信小程序正是以此为基础开发了它的微信小程序框架,微信小程序特有的API则是由这个框架中的WxJsApiBridge提供的,因此以wx.开头的API都能在这个框架中找到对应的Java代码,所以我们虽然不能直接hook js代码,但是我们可以通过hook这些js api对应的Java代码来实现微信小程序api的hook。


Frida调试
在编写Xposed插件前,首先先使用Frida进行逆向分析以及hook调试,确保功能能够实现后在用Xposed编写插件,毕竟Xposed插件调试起来还是不如Frida方便。  首先我们要知道,js代码中的wx.xxx字符串一定会在java层中出现吗?答案是否定的,wx.getLocation和其他一些api的名字确实会在java层出现,java层的字段表现形式就是 String NAME = getLocation但是我们今天要分析的api wx.requestjava层中不叫这个名字,因此在jadx反编译完微信以后,直接搜索该字符串是搜索不到的既然搜索不到那就换一个思路,微信小程序wx.xxx最终都会通过WxJsApiBridge调用到java层对应的api实现,所以我们可以通过frida hook这个类相应的方法来确定wx.requestjava层对应的api叫什么名字,通过jadx搜索发现有一个类叫做com.tencent.mm.appbrand.commonjni.AppBrandJsBridgeBinding  定位到具体的类以后,我们可以用Objectionhook整个类来观察这个类中函数的调用情况,以此发现主要的函数。不过在hook之前,需要注意的是,微信小程序一般会以新进程的方式启动,其进程名为com.tencent.mm:appbrand0、com.tencent.mm:appbrand1com.tencent.mm:appbrand2com.tencent.mm:appbrand3com.tencent.mm:appbrand4微信最多同时运行5个小程序进程,所以最多只能同时运行5个小程序,如果打开第6个小程序,微信会把最近不怎么用的小程序关掉给新打开的小程序运行,因此,如果直接用frida -U com.tencent.mm -l xxx或者objection -g com.tencent.mm explorehook的话,是无法看到函数调用的,因为你hook的进程不是微信小程序的进程而是微信的进程。所以我们要指定pid来进行hook,可以使用dumpsys activity top | grep ACTIVITY来得到;也可以使用frida -UF -l xxxhook当前最顶层的Activity。对于Xposed则没有这个问题,只需指定微信的包名就会自动hook上所有的子进程。结合动态测试的函数调用结果,随便浏览一下被调用的函数的代码,看到了一个主要函数代码如下:
由于格式和排版问题,详细内容见附件

wx.request逆向笔记.rar

496.11 KB, 下载次数: 280, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 6吾爱币 +5 热心值 +6 收起 理由
junjia215 + 1 + 1 谢谢@Thanks!
Longpong173 + 1 + 1 我很赞同!
TongSanSui + 1 用心讨论,共获提升!
zhaoyangdr + 1 + 1 谢谢@Thanks!
cntjgaowei + 1 + 1 谢谢@Thanks!
玄觞 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Mr.救赎 发表于 2023-3-25 10:28
实际是有图片是,只是大佬能逆向,无法在帖子插入图片
Hmily 发表于 2023-3-24 18:25
Sharp_Wang 发表于 2023-3-24 18:21
我去,你们这里 图片是真的不好复制,跟上下面的文字就直接乱套了

你不要在其他平台上复制过来,复制也行,到“纯文本”模式下粘贴再编辑就好了,我帮你格式化了。
Hmily 发表于 2023-3-24 18:09
 楼主| Sharp_Wang 发表于 2023-3-24 18:21
Hmily 发表于 2023-3-24 18:09
这格式调整一下吧。。。

我去,你们这里 图片是真的不好复制,跟上下面的文字就直接乱套了

点评

你不要在其他平台上复制过来,复制也行,到“纯文本”模式下粘贴再编辑就好了,我帮你格式化了,  详情 回复 发表于 2023-3-24 18:25
 楼主| Sharp_Wang 发表于 2023-3-24 18:28
Hmily 发表于 2023-3-24 18:25
你不要在其他平台上复制过来,复制也行,到“纯文本”模式下粘贴再编辑就好了,我帮你格式化了。

我不是复制的其他平台,我是在我的word上写好了直接复制的

点评

word也是其他平台,为啥都给你编辑了,又粘贴了,你直接粘贴到纯文本再编辑也行啊。。。。  详情 回复 发表于 2023-3-25 01:17
 楼主| Sharp_Wang 发表于 2023-3-24 18:30
Hmily 发表于 2023-3-24 18:25
你不要在其他平台上复制过来,复制也行,到“纯文本”模式下粘贴再编辑就好了,我帮你格式化了。

我把文档给你,帮我发一下可以不
Hmily 发表于 2023-3-25 01:17
Sharp_Wang 发表于 2023-3-24 18:28
我不是复制的其他平台,我是在我的word上写好了直接复制的

word也是其他平台,为啥都给你编辑了,又粘贴了,你直接粘贴到纯文本再编辑也行啊。。。。
开始123 发表于 2023-3-25 01:29
没看见图啊,另外电脑版是打开很多小程序
lyghost 发表于 2023-3-25 07:57
有图片就好了。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-3 06:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表