微信小程序逆向

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

微信小程序逆向

大致思路:抓包分析–>加密参数查找–>小程序源码获取–>分析加密逻辑

1.抓包分析:

返回结果json中,data都是加密数据,初看一看为base64。

微信小程序逆向,2021,微信小程序,微信,小程序

微信小程序逆向,2021,微信小程序,微信,小程序

2.小程序源码都是微信放在本地的数据,故而在data/data/目录下。

微信包名:com.tencent.mm

小程序源码:/data/data/com.tencent.mm/MicroMsg/项目/appbrand/pkg
微信小程序逆向,2021,微信小程序,微信,小程序
微信小程序逆向,2021,微信小程序,微信,小程序

3.adb查看下文件:

我用的夜神模拟器(nox_adb):

nox_adb shell

cd  /data/data/com.tencent.mm/MicroMsg/

ls -l 查看时间 发现aaba04bb0ee1d78b101872e87bba14b8为项目名
微信小程序逆向,2021,微信小程序,微信,小程序

4.将pkg pull至电脑本地,进行解包:

pull至D盘project文件夹下:

nox_adb pull /data/data/com.tencent.mm/MicroMsg/aaba04bb0ee1d78b101872e87bba14b8/appbrand/pkg  D:\project

微信小程序逆向,2021,微信小程序,微信,小程序
下载解包工具 :https://github.com/xuedingmiaojun/mp-unpack
微信小程序逆向,2021,微信小程序,微信,小程序

打开pkg,有多个wxapkg文件,查看大小,赛选出较大的进行解包。
微信小程序逆向,2021,微信小程序,微信,小程序
解出来的包查看是否有app.js入口,从入口分析,若没有换其他的wxapkg文件解包。

5.将解出的包到入到node环境中

在编辑器中搜索下data参数,发现较多,直接在app.js入口搜索下,看有无初始化。

发现一处加密地方:
微信小程序逆向,2021,微信小程序,微信,小程序

key: "_initEncryptParam",
value: function() {
      for (var e = (0, u.md5)("sht_" + o.default.$appConfig.source + "_" + o.default.$appConfig.wechatCheckVer + "_" + p.ENCRYPT_KEY).toUpperCase(), 
           t = "", a = e.length - 1; a > 15; a--) 
          t += e.charAt(a);
 t = t.toLowerCase(), this.globalData.AES_KEY = e, this.globalData.AES_IV = t;
 }

6.静态分析代码:

微信小程序逆向,2021,微信小程序,微信,小程序
微信小程序逆向,2021,微信小程序,微信,小程序

微信小程序逆向,2021,微信小程序,微信,小程序

	md5("sht_" + "weapp" + "_" + "2.55.0" + "_" + "7B853E6EB9076E63BB4BEAC830561F40").toUpperCase()md5("sht_weapp_2.55.0_7B853E6EB9076E63BB4BEAC830561F40").toUpperCase()

​	e = "451D73AB326D99F0E19E35EE2B7C611C"

for (var e = "451D73AB326D99F0E19E35EE2B7C611C", t = "", a = e.length - 1; a > 15; a--) t += e.charAt(a);

​	t = C116C7B2EE53E91E

 t = t.toLowerCase(), this.globalData.AES_KEY = e, this.globalData.AES_IV = t;

那么 t = "c116c7b2ee53e91e", AES_KEY = "451D73AB326D99F0E19E35EE2B7C611C"

AES_IV = t;   ---> AES_IV  = "c116c7b2ee53e91e"

微信小程序逆向,2021,微信小程序,微信,小程序

7.动态调试

下载微信开发者工具:
微信小程序逆向,2021,微信小程序,微信,小程序

微信小程序逆向,2021,微信小程序,微信,小程序
断点调试
微信小程序逆向,2021,微信小程序,微信,小程序文章来源地址https://www.toymoban.com/news/detail-594549.html

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

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

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

相关文章

  • 微信小程序前端加解密逆向分析

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

    2024年02月05日
    浏览(40)
  • 微信小程序逆向反编译获取源码

    node环境 node官网 微信开发者工具 下载地址 小程序包 逆向工具 GitHub UnpackMiniApp.exe 解密小程序包工具 wxpack 存放解密后的小程序包(.wxapkg文件)与小程序源码文件(与小程序包同名) Unpacker 反编译脚本,将解密后的小程序包(.wxapkg文件)反编译为小程序源码文件 博客:原地

    2024年02月20日
    浏览(40)
  • 逆向获取微信小程序源码教程

    最近看上了一个小程序,想着走走捷径,以下是我的步骤。 1.安装安卓模拟器,我用的是夜神   2.拿包 打开微信,运行微信小程序,然后打开文件管理器,根据时间顺序定位到小程序目录 /data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/{{随机名}}_{{今

    2024年02月10日
    浏览(43)
  • 小程序逆向工具 | 3秒抓取微信小程序源码

    目录 一、工具准备 二、解密小程序 1、找到小程序包 2、解密小程序包 三、反编译小程序 1、安装依赖 2、执行反编译 四、完成 想成为一名微信小程序的开发者,前端思路的学习和安全意识是非常有必要的,故务必掌握小程序反编译技能。 这里用到了2个工具《包解密》与《

    2024年02月03日
    浏览(35)
  • 微信小程序 Spdier - OfferShow 反编译逆向(一)

    本文需要使用到的工具有: Charles抓包工具、夜神模拟器、微信开发者工具、wxapkg反编译工具CrackMinApp; 提示:需要安装好Charles和夜神模拟器并配置好App抓包环境,以及安装好微信开发者工具 / 反编译工具CrackMinApp Charles夜神模拟器安装教程:https://blog.csdn.net/EXIxiaozhou/article

    2024年01月17日
    浏览(33)
  • 【Web实战】零基础微信小程序逆向(非常详细)从零基础入门到精通,看完这一篇就够了

    本文以微信小程序为例,从实战入手,讲解有关于小程序这种新型攻击面的渗透,对于了解小程序的安全性和防范措施有一定的帮助。 作为中国特有的一种程序形态,小程序在我们的日常生活中已经无处不在。腾讯、百度、阿里巴巴、字节跳动、京东等各家互联网大厂都有各

    2024年02月04日
    浏览(46)
  • 微信小程序逆向 小程序包使用unveilr工具解包后在开发者工具报[ WXML 文件编译错误] xxx.wxs Unexpected token `}`

    微信小程序逆向 使用解包工具后后在开发者工具报[ WXML 文件编译错误] xxx.wxs Unexpected token } 页面上则报编译.wxml文件错误… 解决方案: 很简单,因为是解包出来的,一般代码都是没有错的,我们只需要微信微信开发者工具中的资源管理器或者其他地方,找到这个文件,然后

    2024年02月08日
    浏览(36)
  • 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用

            文档地址:wx.showLoading(Object object) | 微信开放文档         请求前 显示loading 效果 ,请求结束后隐藏loading         下拉触底需要时间比较长,但是可能会一直进行请求,我们可以 设置一个 加载状态 ,用来控制什么时候 才可以加载         当我们loading 效果为tr

    2024年02月10日
    浏览(32)
  • 微信小程序 全局配置||微信小程序 页面配置||微信小程序 sitemap配置

    小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。 以下是一个包含了部分常用配置选项的 app.json : 每一个小程序页面也可以使用同名 .json 文件来对本页面的窗口表现进行配置,页面中配

    2024年02月01日
    浏览(36)
  • 微信小程序 -- 微信小程序发送红包

    参考链接:微信小程序 – 微信小程序发送红包 组织参数 点击查看微信的文档 发送示例 拼接参数(ASCII码从小到大排序(字典序)) 加密参数 将参数实体转换成xml格式 最后就是发送请求 相信发送post请求大家都不陌生了吧 最后就是对微信返回的参数进行解析,建议遇到问

    2024年02月10日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包