某物小程序sign逆向-记录

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

某物小程序sign逆向-记录

评估了一下,逆向某物小程序要比APP简单,这篇文章主要记录一下小程序的反编译过程和sign的逆向。

小程序逆向的过程(以pc端小程序为例):

  • 找到所需的接口、参数
  • 找到小程序的wxapkg
  • 解密小程序包(有些wxapkg有加密)
  • 反编译小程序
  • 找加密函数(扣js)
  • 测试接口

分析接口及接口参数

某物小程序sign逆向-记录

这个接口就是我们需要的,主要加密参数是sign,这个sign所有接口都要用到的,data加密也是要用到sign的,后面会写一篇data的解密。目标找到了,接下来的就是反编译,找到加密的js。

找到小程序的wxapkg

截图的就是我们要找的路径及wxapkg包。
某物小程序sign逆向-记录
如果不确定文件夹对应的小程序,就把下面这些文件夹删了,重新启动微信小程序就会生成一个新的文件。
某物小程序sign逆向-记录

解密小程序包

有些小程序包是有加密的,比如在反编译时提示:
某物小程序sign逆向-记录

Error: Magic number is not correct!

像这个提示说明小程序有加密了,用下面这个解密工具可以解密
某物小程序sign逆向-记录
解密成功的包在wxpack文件夹里面
解密工具的下载:

https://wwu.lanzoub.com/ieCOG03v1u4f  密码:dusv

反编译

wxappunpacker下载地址:

https://gitee.com/ksd/wxappUnpacker

先安装node.js
下载wxappunpacker 进入这个目录后 运行cmd 执行命令

npm install
npm install esprima    
npm install css-tree    
npm install cssbeautify    
npm install vm2    
npm install uglify-es    
npm install js-beautify

以上都安装好就可以反编译小程序了
反编译命令:

node wuWxapkg.js 包的路径

某物小程序sign逆向-记录
注:反编译出来的文件会在wxapkg包当前的路径下

找加密函数(扣js)

sign长度是32的,可以大胆猜测一下是否是md5加密的,在js文件里搜索md5关键词发现只有一个文件有md5相关的。
某物小程序sign逆向-记录
定位到这个文件后,一个个看,发现下面这里非常可疑。
某物小程序sign逆向-记录
经过分析md5加密的值是把提交的dict转换成字符串 + 一个常量。
改写成python:


def get_sign(data):
    data_str = ''
    for i in sorted(data):
        data_str += i + str(data[i])
    print(data_str)
    res = data_str + "反编译js中找到这个常量"
    h1 = hashlib.md5()
    h1.update(res.encode(encoding='utf-8'))
    sign = h1.hexdigest()
    return sign
    
 data = {"tabId":"","limit":20,"lastId":3,"platform":"h5","version":"4.73.0","isVisitor":"false","newAdvForH5":"true"}
get_sign(data)

当然,这只是我们的猜想,接下来还要校验我们的猜想是否正确。

测试接口

经过测试我们的猜想是没问题的,完整代码:

import requests
import hashlib

def get_info():
    headers = {
        'Host': 'app.dewu.com',
        'Connection': 'keep-alive',
        'AppId': 'wxapp',
        'SK': '换成自己抓包的数据',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
        'appVersion': '4.4.0',
        'content-type': 'application/json',
        'platform': 'h5',
        'wxapp-route-id': '[object Undefined]',
        'Referer': 'https://servicewechat.com/wx3c12cdd0ae8b1a7b/340/page-frame.html',
    }
    data = {"tabId":"","limit":20,"lastId":3,"platform":"h5","version":"4.73.0","isVisitor":"false","newAdvForH5":"true"}
    sign = get_sign(data)
    data["sign"] = sign
    print(data)
    response = requests.post('https://app.dewu.com/api/v1/h5/index/fire/index', headers=headers, verify=False,json=data)
    print(response.text)


def get_sign(data):
    data_str = ''
    for i in sorted(data):
        data_str += i + str(data[i])
    print(data_str)
    res = data_str + "反编译js中找到"
    h1 = hashlib.md5()
    h1.update(res.encode(encoding='utf-8'))
    sign = h1.hexdigest()
    return sign

get_info()

某物小程序sign逆向-记录

现在某物小程序的大部分接口提交data以及返回的数据都是加密,同时也要用到这个sign,后面会写一篇关于data的解密。文章来源地址https://www.toymoban.com/news/detail-482618.html

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

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

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

相关文章

  • 小程序绕过 sign 签名

    之前看到了一篇文章【小程序绕过sign签名思路】之前在做小程序渗透时也遇到了这种情况,但是直接放弃测试了,发现这种思路后,又遇到了这种情况,记录下过程。 并没有漏洞分享,仅仅是把小程序也分享出来,方便大家测试学习。 小程序 父母邦亲子旅行酒店营地乐园活

    2024年03月20日
    浏览(36)
  • android逆向环境下载记录

    frida、frida_tools、obejction、wallbreaker https://github.com/frida/frida/releases pip install frida==14.1.2 pip install frida-tools==9.0.1 pip install objection==1.9.6 https://github.com/hluwa/Wallbreaker objection -g com.hexin.plat.android explore -P  ~/.objection/plugins

    2024年02月15日
    浏览(47)
  • 某物联网数智化园区行业基于 KubeSphere 的云原生实践

    作为物联网 + 数智化园区一体化解决方案提供商,我们致力于为大中型园区、停车场提供软硬件平台,帮助园区运营者实现数字化、智能化运营。 在使用 K8s 之前我们使用传统的方式部署上线,使用 spug(一款轻量级无 Agent 的自动化运维平台) 自动化在单节点完成代码部署上

    2024年02月09日
    浏览(41)
  • 38:通过复合塑膜出has-a或“根据某物实现出”

    复合(compsosition)是类型之间的一种关系,当某种类型的对象内含它种类型的对象,便是这种关系。 例如: 本例中Person对象由string,Address,PhoneNumber构成。 复合这个术语有许多同义词,包括layering(分层),containment(内含),aggregation(聚合)和embedding(内嵌)。 复合有两个

    2024年02月12日
    浏览(28)
  • Unity记录一些glsl和hlsl的着色器Shader逆向代码

    以下内容一般基于 GLSL 300 之后 以下某些代码行,是“伪代码“,绝大部分是renderDoc 逆向产生标准代码 本人OpenlGL零基础,也不打算重头学 目录 Clip() 剔除函数 discard; FS最终颜色输出 out 和最终颜色相加方程 从 discard; 命令可得知,一般通过透明度剔除, _26 == color.a _21.w 刚

    2024年02月07日
    浏览(46)
  • 记录一个爬虫过程,从基础爬虫到逆向,再到jsrpc,再到selenium,啥都包括了

    这篇文章记录一下我跟一个网站的恩怨纠葛,为了爬这个网站,不断学习新知识,不断尝试,水平提高了不少。总算有点成就了,这里做一个记录,当然还是不完美,期待未来可能技术更精进,能有更好的方法吧。 这个网站是:aHR0cDovL3NkLmNoaW5hdm9sdW50ZWVyLm1jYS5nb3YuY24vc3Vic2l0ZS9

    2024年02月07日
    浏览(43)
  • 【小程序 逆向】某电途列表接口逆向

    一台root过的手机或者模拟器,安装MT管理器 抓包工具:charles或者其他 小程序反编译工具(github上搜索) 小程序名称:5paw55S16YCU 接口地址:aHR0cHM6Ly9hcHAueGR0ZXYuY29tL2Fzc2V0L29wZW5hcGkvdjAuNC9jaGFyZ2Utc3RhdGlvbi1saXN0 以上均做了脱敏处理,Base64 编码及解码方式: 获取到小程序的wxapkg包 反编译

    2024年02月01日
    浏览(34)
  • 小程序逆向工程:这个开源的小程序逆向工具真不错,2023年亲测成功

    安全部门的大哥又双叒叕报了一个小程序的高危漏洞,他使用逆向工程破解了加密信心,用抓包修改了请求参数。又是头疼的一天… 想成为一名微信小程序的开发者,前端思路的学习和安全意识是非常有必要的,故务必掌握小程序反编译技能。 这里用到了2个工具《解密》与

    2023年04月19日
    浏览(56)
  • 微信小程序逆向

    微信小程序逆向 大致思路:抓包分析–加密参数查找–小程序源码获取–分析加密逻辑 返回结果json中,data都是加密数据,初看一看为base64。 微信包名:com.tencent.mm 小程序源码:/data/data/com.tencent.mm/MicroMsg/项目/appbrand/pkg 我用的夜神模拟器(nox_adb): ls -l 查看时间 发现aaba04b

    2024年02月16日
    浏览(43)
  • VX小程序逆向分析

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

    2024年02月03日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包