实用的微信小程序逆向教程!

洞悉安全,风洞网,认准官方网站!
风洞网


简单复现一下小程序的逆向过程。

首发声明

本文首发于风洞网跳到原文地址

准备工具

一、pc端复现

  1. 微信PC版本—>https://pc.weixin.qq.com/
  2. 小程序解密工具—>https://share.weiyun.com/uMqNGOXv
  3. nodejs环境—>https://nodejs.org/zh-cn/download/
  4. 小程序逆向工具—>https://github.com/xuedingmiaojun/wxappUnpacker

二、移动端复现

  1. 安卓环境(安卓系统手机或安卓模拟器)—>https://www.genymotion.com/download/%5D
  2. 安卓环境安装微信
  3. 安卓环境安装RE管理器(授权root)
  4. 安装nodejs环境
  5. 小程序逆向工具—>https://github.com/xuedingmiaojun/wxappUnpacker

具体思路

拿到后缀为wxapkg的小程序代码包,通过逆向工具反编译为小程序代码

复现过程

一、pc端逆向复现

1、首先打开PC微信后进入想要逆向的小程序,接着打开此目录Documents\WeChat Files\Applet\小程序id\XX\__APP__.wxapkg__APP__.wxapkg就是我们要找的加密包

image-20210430120954753

2、代码包解密,PC端小程序的代码包是经过加密的,我们需要对其进行解密之后就可以拿到与移动端一样的代码包了。解压下载好的小程序解密工具,运行UnpackMiniApp.exe选择加密小程序包

image-20210430121513828

然后前往工具所在目录/wxpack 拿到小程序解密后的代码包。

3、反编译小程序,打开下载好的wxappUnpacker逆向工具,打开目录下的README.md按照说明安装依赖,执行cmd输入命令

bingo.bat xxx.wxapkg

如果提示’xxx’ 内部或外部命令 可以执行命令

chcp 65001

切换cmd编码为UTF-8后再次尝试 此时反编译代码就在当前目录下以小程序id命名的文件夹。

image-20210430122648147

二、移动端逆向复现

1、找到小程序代码包,启动微信并启动要逆向的小程序,打开RE管理器,前往路径 /data/data/com.tencent.mm/MicroMsg/用户ID/appbrand/pkg/(用户ID为32位字母或数字组成的名称) 此时看到的wxapkg文件就是小程序的代码包,找到你想逆向的包复制出来,可以通常长按发送的方式把文件复制到电脑,也可以通过Genymotion共享文件夹的方式把文件复制到电脑。

image-20210430124507490

2、反编译小程序,和pc端逆向一样的步骤。

image-20210430122648147

小程序反编译代码演示

image-20210430142244761

反编译的代码可以正常运行,但是由于没有小程序的开发权限,所以只能使用自己的小程序id进行代码调试,就像我截图中一样,虽然代码逻辑没问题,但是由于appid不同,在调用微信登录功能时,服务器会返回登录失败等信息。另外由于是反编译,小程序代码中变量等信息都是abcd之类的,读起来还是需要一点耐心。

转载来源

http://dabojava.cn/2021/04/30/unpack/wx-applet/

关注风洞网微信公众号!

在这里插入图片描述

加入风洞网的知识星球,星球会不定期分享各种网络安全干货知识!

风洞网安全知识星球

  • 13
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
微信PC版逆向获取小程序源码是指通过逆向工程的方法,对微信PC版进行分析和研究,以获取小程序的源码。 首先,逆向工程是对软件进行反向分析的过程,通过分析软件的二进制代码、反编译和调试,以获取软件的内部实现和源码。 要逆向获取小程序源码,我们首先需要通过一些工具和技术手段对微信PC版进行逆向分析。这可能涉及使用反编译工具、调试器和逆向工程技术等。 通过逆向分析微信PC版,我们可以获取到小程序在PC端的运行环境和相关的源码信息。可以分析小程序的请求和响应数据,了解小程序的工作原理以及和微信PC版的交互过程。 然后,我们可以对获取到的源码进行分析和研究。通过阅读源码,可以了解小程序的业务逻辑、界面设计、数据交互等方面的实现细节。这有助于我们更深入地理解小程序的运行机制,并为后续的开发和优化提供参考。 需要注意的是,逆向获取小程序源码存在法律和道德风险。对于商业小程序来说,它们的源码是开发者的知识产权,未经许可获取源码可能侵犯了知识产权法。此外,在逆向工程过程中,可能会对软件的安全性进行攻击或者破坏,这也是不被允许的行为。 因此,在合法和道德的前提下,如果我们需要获取小程序的源码,应该通过与开发者合作、遵守开发者协议等方式来获取。这样不仅可以保证合法性和安全性,还能与开发者建立良好的合作关系,促进行业的良性发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值