VX小程序逆向分析

这篇具有很好参考价值的文章主要介绍了VX小程序逆向分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言
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.request在java层中不叫这个名字,因此在jadx反编译完微信以后,直接搜索该字符串是搜索不到的。既然搜索不到那就换一个思路,微信小程序wx.xxx最终都会通过WxJsApiBridge调用到java层对应的api实现,所以我们可以通过frida hook这个类相应的方法来确定wx.request在java层对应的api叫什么名字,通过jadx搜索发现有一个类叫做com.tencent.mm.appbrand.commonjni.AppBrandJsBridgeBinding  定位到具体的类以后,我们可以用Objection来hook整个类来观察这个类中函数的调用情况,以此发现主要的函数。不过在hook之前,需要注意的是,微信小程序一般会以新进程的方式启动,其进程名为com.tencent.mm:appbrand0、com.tencent.mm:appbrand1、com.tencent.mm:appbrand2、com.tencent.mm:appbrand3、com.tencent.mm:appbrand4。微信最多同时运行5个小程序进程,所以最多只能同时运行5个小程序,如果打开第6个小程序,微信会把最近不怎么用的小程序关掉给新打开的小程序运行,因此,如果直接用frida -U com.tencent.mm -l xxx或者objection -g com.tencent.mm explore来hook的话,是无法看到函数调用的,因为你hook的进程不是微信小程序的进程而是微信的进程。所以我们要指定pid来进行hook,可以使用dumpsys activity top | grep ACTIVITY来得到;也可以使用frida -UF -l xxx来hook当前最顶层的Activity。对于Xposed则没有这个问题,只需指定微信的包名就会自动hook上所有的子进程。结合动态测试的函数调用结果,随便浏览一下被调用的函数的代码,看到了一个主要函数代码如下:
由于格式和排版问题,详细内容见附件

资源:https://download.csdn.net/download/weixin_43101935/88636567文章来源地址https://www.toymoban.com/news/detail-768995.html

到了这里,关于VX小程序逆向分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文章同步--飞鹤官方商城加密逆向分析(小程序)、蝉管家滑块加密参数逆向分析

    飞鹤官方商城加密逆向分析(小程序)       蝉管家滑块加密参数逆向分析      

    2024年02月12日
    浏览(205)
  • 微信小程序前端加解密逆向分析

    某小程序渗透测试项目,测试时发现请求包内容进行了加密 小程序文件目录: 使用网易Mumu模拟器,开启root权限,安装手机微信并访问指定小程序,然后打开RE文件管理器,在 data/data/com.tencent.mm/MicroMsg 会生成一个md5加密命名的文件夹,在该文件夹下的 appbrand/pkg 目录下找到

    2024年02月05日
    浏览(34)
  • VX小程序反编译

    小程序反编译是是小程序测试必不可少的部分,接下来就让我们探讨其中一种反编译方式吧,以下纯属小分享,谢谢!!! 相关工具及链接: 链接:https://pan.baidu.com/s/1wutUCKbwrU-URD_RFmSWVg  提取码:4ret node.js运行环境 小程序解密脚本 反编脚本 微信小程序开发者工具 第一步 :

    2024年02月16日
    浏览(20)
  • VX小程序 实现区域转图片预览

    图例 1、安装插件 wxml2canvas git地址参照:https://github.com/wg-front/wxml2canvas 2、类型 3、数据结构 4、页面引用 1、使用canvas画图组件 有坑:uni.getImageInfo 方法转出的地址是http 不是https,而 uni.previewImage 识别 https的,否则图片会出不来      希望我的愚见能够帮助你哦~,若有不足

    2024年02月11日
    浏览(28)
  • 《算法还原 - CTF》逆向exe程序 + ida Pro 反汇编分析伪C代码 + python算法复现

    二进制安全,能干什么 逆向分析: 负责成品软件的技术原理. 比如分析竞品软件,吸取技术上的优点,进行技术难点公关 病毒分析: 负责分析病毒样本.研究恶意代码的技术手段等工作.主要是在安全公司,尤其是在杀毒软件公司需求较多.如360 、腾讯电脑管家等. 漏洞挖掘分析: 负责

    2024年01月22日
    浏览(35)
  • Notepad++编译运行C/C++程序

    首先需要先下载一个C语言编译器- MinGW (免费的) 官网:http://www.mingw.org/(加载太慢) 我选择MinGW - Minimalist GNU for Windows download | SourceForge.net这个网址下载的 注意 安装地址 ,后续配置环境需要用 因为是要编译C/C++程序,只需要选择左侧的基础组件 Basic Setup 即可 我只下载了

    2024年01月18日
    浏览(43)
  • 【程序员装机】在右键菜单中添加Notepad++选项

    本文将介绍如何通过批处理脚本来在Windows右键菜单中添加Notepad++选项,使您能够轻松使用Notepad++打开各种文件。 以下是一个用于在右键菜单中添加Notepad++选项的批处理脚本的示例。该脚本将创建相应的注册表项,以便在右键菜单中打开文件时能够选择使用Notepad++。 记得把路

    2024年02月09日
    浏览(24)
  • 75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析

    内容参考于:易道云信息技术研究院VIP课 上一个内容:物品名称与物品编号的映射关系分析-CSDN博客 通过上一个内容已经可以通过物品的id得到一个名字,知道了它的算法,它的算法自己封装好了,我们直接用就好,接下来要用到物品的指针了,所以接下来分析物品的指针怎

    2024年01月21日
    浏览(26)
  • 61.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏红字公告功能的逆向分析

    内容来源于: 易道云信息技术研究院VIP课 上一节内容:游戏公告功能的逆向分析与测试-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:63e04cc40f649d10ba2f4fa313ca65cc78f46516 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-游戏红字公告功能的逆

    2024年01月23日
    浏览(34)
  • 9.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏连接服务器的操作

    内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏底层功能对接类GameProc的实现 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:44c54d30370d3621c1e9ec3d7fa1e2a028e773e9 代码下载地址,在 titan 目录下,文件名为:titan-接管游戏连接服务器的操作.zip 链接

    2024年03月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包