平安好车主小程序 充电站、加油站列表vmp+wasm逆向

news/2025/10/12 21:47:04/文章来源:https://www.cnblogs.com/steed4ever/p/19137327

pingan好车主小程序 充电站、加油站列表vmp+wasm逆向


声明:仅供学习使用

1.接口概览

url:

https://a1d5ce9f4-wx621112590b635086.sh.wxgateway.com/__wx__/call?token=97_6m4bQno7K7H4qamt18Bf8tj-i8zK8oFkQkSgh8N-_6t5L2Inf0ToWz4w55Emj9zRrsmuxhv7dVfm-Q5gzTDQoGW5RDGArAst_mR5cWY4jc3JPUYOkkT5ymObKNCCEARQlJDQolev-ltVq2v48IfraxoLtLgxKGo0-E0KBh2td5hMyAEs58sV0YUlodXuqC3X6cN0vyJJKbovyImNcpw4KBgLaSKPZnZ8ajmKsO-URIAysAAZZBx8AwAY0xKYLi1mUKsQIQ1-GRmtgur2KPwNFx1pw8PdfKWqkLtTWj-jUN1lIDjD9-J7MN_uIlU13CAi6qlz4_zwOoRMh-RT5_Ts4immt_wVhcn2_8qOmRxgrwvW-LCEgCl3A-VtWfQKz8rNsf8s7IH_yU9FHCF4LGIOSZwk3Z19bjCY0Di9XylYt2t505mVoe9rOB3N6CE7BxgidN5GZZ5JSPMXPROrc59Zb3hFlE778TgQRLcqexjVvZXL8LWFm42ONCLmKFnGHBT85zYFJr32qdDl9qC28TSX24JbaBRx5VlpfgDqTRDKmN4Nnkk33I-TYGpC_mplavTma-CpTUWLcMpVLdFFU9jeIq9vfNPIOl5UbpZa-fBC91K21_a71bZBFUlSzN8&callid=1760268810868-GVcPn6zG&devtools_ignore=true

请求体:
POST /__wx__/call?token=97_6m4bQno7K7H4qamt18Bf8tj-i8zK8oFkQkSgh8N-_6t5L2Inf0ToWz4w55Emj9zRrsmuxhv7dVfm-Q5gzTDQoGW5RDGArAst_mR5cWY4jc3JPUYOkkT5ymObKNCCEARQlJDQolev-ltVq2v48IfraxoLtLgxKGo0-E0KBh2td5hMyAEs58sV0YUlodXuqC3X6cN0vyJJKbovyImNcpw4KBgLaSKPZnZ8ajmKsO-URIAysAAZZBx8AwAY0xKYLi1mUKsQIQ1-GRmtgur2KPwNFx1pw8PdfKWqkLtTWj-jUN1lIDjD9-J7MN_uIlU13CAi6qlz4_zwOoRMh-RT5_Ts4immt_wVhcn2_8qOmRxgrwvW-LCEgCl3A-VtWfQKz8rNsf8s7IH_yU9FHCF4LGIOSZwk3Z19bjCY0Di9XylYt2t505mVoe9rOB3N6CE7BxgidN5GZZ5JSPMXPROrc59Zb3hFlE778TgQRLcqexjVvZXL8LWFm42ONCLmKFnGHBT85zYFJr32qdDl9qC28TSX24JbaBRx5VlpfgDqTRDKmN4Nnkk33I-TYGpC_mplavTma-CpTUWLcMpVLdFFU9jeIq9vfNPIOl5UbpZa-fBC91K21_a71bZBFUlSzN8&callid=1760268810868-GVcPn6zG&devtools_ignore=true HTTP/2
host: a1d5ce9f4-wx621112590b635086.sh.wxgateway.com
content-length: 1122
x-wx-ev: 3
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090a13) UnifiedPCWindowsWechat(0xf2541022) XWEB/16467
xweb_xhr: 1
content-type: application/octet-stream
x-wx-rid: 2264223105
accept: */*
sec-fetch-site: cross-site
sec-fetch-mode: cors
sec-fetch-dest: empty
referer: https://servicewechat.com/wxf225684ee1536a5f/630/page-frame.html
accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9
priority: u=1, i

<binary body>
响应体:

HTTP/2 200
date: Sun, 12 Oct 2025 11:33:30 GMT
content-type: application/octet-stream
content-length: 530
x-wx-mesh-upstream-service-time: 8,3
x-wx-envoy-service-time: 126
x-wx-server-timing: 1760268810787,1760268810913
server: envoy

<binary body>

2.分析

大概一看url中有token、callid,以及body有二进制数据

多次请求发现token固定,callid为时间戳加随机数形式:

image-20251012204307586

 

尝试逆向body的二进制数是关键

进入调试后发现是vmp+wasm架构的形式,通过共享内存和方法的形式实现加密操作。

wasm处理思路,网上搜一下,有个比较全的介绍了wasm处理的常见思路,调试分析思路等,比如wasm2c等的,借助ida等工具的……

我分享的是,实操的一般方法,wasm可以通过补环境的方式,最朴素的wasm没有导入外部函数,这样的很简单,但是需要导入外部函数的情况下,就必须保证正确将所有需要用到的函数都成功导入,一般来讲可以通过hook WebAssembly.instantiate方法监视实例化的入参获取信息,同时可以hook其中可能用到的环境检测函数做一些过检测操作,如下:

WebAssembly.instantiate = function (bufferSource, importObject) {
 debugger;
 mylog('WebAssembly.instantiate called!');
 mylog('Buffer size:', bufferSource.byteLength);
 mylog('Import object:', importObject);


 //hook snipest
 mylog("hook环境检测...")
 if (importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js']) {
   importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js'] = {
      //环境检测函数,hook返回值直接不用补环境了,需要经验
     detectPlatform: function () { return 0 },
     detectHost: importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js']['detectHost'],
     detectSystemInfo: importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js']['detectSystemInfo'],
     detectUserAgent: importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js']['detectUserAgent'],
     detectUserAgentSync: importObject['./snippets/wxcloud-c178ccf6f2599ff9/src/js/platform.js']['detectUserAgentSync'],
  }
}

 // Call original function
 return originalInstantiate.call(WebAssembly, bufferSource, importObject)
  .then(result => {
     result.instance && result.instance.exports && console.log('Exports:', result.instance.exports);
     algo.handler = result.instance && result.instance.exports &&  result.instance;
     mylog('WASM module instantiated successfully');
     return result;
  })
  .catch(error => {
     console.error('WASM instantiation failed:', error);
     throw error;
  });
};

通过上述处理,如果能够成功实例化,那么可以进行下一步,找加密调用入口,比如:

var d = "a1d5d4319-wx621112590b635086.sh.wxgateway.com"
 var h = new window.cloud.Cloud({
   identityless: !0,
   resourceAppid: "wxf225684ee1536a5f",
   config: {
     customDomain: "https://" + d
  }
});
 h.init();
 var g = h.services.Gateway({
   domain: d
});
 mylog('初始化完成...',g)
 g.call("待加密的文本....")

 

 

通过上述入口激发wasm加密流程,持续追踪相关错误信息和可能的日志信息,实现加密流程,本案例中,wasm完成加密后,只是修改了内存里的值,并不会直接返回加密后的数据,而且在wasm里直接调用了外部的request函数发起了fetch请求,获取数据,封装成了异步的函数,因此,可以直接使用它的逻辑,不拘泥于追求加密后的文本,可以直接让js代码完成请求返回响应内容也可以。

当然,如果想截获加密后的文本,也可以hook request函数,截获即可。

3.总结

注意:另外可以hook fetch不从远端下载wasm代码,直接使用本地替换,也可以在fetch中截获需要的加密参数。

如果你想寻找纯算法还原的,那么是需要去反编译wasm跟踪内存的,调试时间需要比较长。。。自行探索吧,。,,

放一张成功截图:

image-20251012205828613

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux文件系统的实验

Linux硬、软连接硬连接:指向了同一个物理位置。建立连接之后,INODE是一样的,引用的个数增加。删掉原始的文件,只是把引用删除了。下面图片的1和2就是指物理文件被引用的个数,删除其中一个引用个数就是1了。而且st…

Unity 虚拟仿真实验中设计模式的利用 —— 观察者模式(Observer Pattern)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

软中断softirq的CPU使用率升高

中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。中断其实是一种异步的事件处理机制,可以提高系统的并发处理能 力。 由于中断处理程序会打…

CPU多进程切换导致过载-CPU上下文切换

Linux 支持远大于 CPU 数量的任务同时运行。系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。过多的上下文切换,会把 CPU 时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,从而缩…

Vue3 之pinia状态管理

一、文档 https://pinia.vuejs.org/zh/introduction.html 二、简单使用 main.jsimport { createApp } from vue import ./style.css import App from ./App.vue import router from ./router import { createPinia } f…

乐理 -01识谱

资料来源 B站up主 三分钟音乐社识谱音名音调 1=C1=D1=E1=F1=G1=A1=B黑键半音&全音 表示音调间的距离唱名规则 全全半全全全半1=C1=D

shader func

1、step:float step(float edge, float x) vec2 step(vec2 edge, vec2 x) vec3 step(vec3 edge, vec3 x) vec4 step(vec4 edge, vec4 x)GLSL 的 step 函数用于比较两个参数的大小,当第一个参数小于第二个参数时返回 …

案例分析-DDOS攻击、网络延迟(延迟确认纳格算法)、NAT延迟

DDoS 攻击 DDoS 的前身是 DoS(Denail of Service),即拒绝服务攻击,指利用大量的合理请求, 来占用过多的目标资源,从而使目标服务无法响应正常请求。 DDoS(Distributed Denial of Service) 则是在 DoS 的基础上…

服务器丢包分析-iptables规则-MTU大小设置错误-perf-火焰图分析处理请求时内核线程调用

服务器丢包分析--iptables规则以及MTU大小设置错误 容器利用 Linux 内核提供的命名空间技术,将不同应用程序的运行隔离起来,并用统一的 镜像,来管理应用程序的依赖环境。这为应用程序的管理和维护,带来了极大的便捷…

2025 年碟式离心机厂家 TOP 企业品牌推荐排行榜,DB640 系列 / DB330 系列 / DB440 系列 / DB460 系列 / DB550 系列 / 专业碟式离心机推荐这十家公司!

在当前工业生产领域,碟式离心机作为实现物料高效分离的关键设备,其性能与品质直接影响着食品、饮料、化工、制药等众多行业的生产效率与产品质量。然而,随着市场需求的不断增长,碟式离心机制造厂家数量逐渐增多,市…

增加客户粘性

增加客户粘性类别参数官方默认值推荐「陷阱值」慢性症状/客户感知使用举例(如何设陷阱)解除方法(救场操作)Worker workers CPU2+1 1 长请求 502,报表卡死 odoo.conf 写 workers = 1,重启 改回 workers = (CPU*2)…

luogu P4513 小白逛公园

题目大意 需要一种数据结构,支持以下两种操作:单点修改 区间求最大连续子段和Sol 很容易想到线段树 首先我们要维护一个区间和\(sum\) 但是只用\(sum\)不能维护区间最大连续子段和 发现最大连续子段和可以从以下几种方…

20231408徐钰涵课程思维导图Openssl实践

20231408徐钰涵课程思维导图Openssl实践 Ubuntu系统实践过程openssl versionopenssl version -helpopenssl list -helpopenssl -help

案例分析-DNS+tcpdump+wireshark

网络优化,实际上包含了整 个网络协议栈的所有层的优化。 DNS解析速度不稳定DNS(Domain Name System) 域名系统,提供 域名和 IP 地址之间映射关系的查询服务。动态服务发现和全局 负载均衡(Global Server Load Bal…

2025 年卧式离心机厂家 TOP 企业品牌推荐排行榜,LW250/LW350/LW450/LW530/LW540 / 专业卧式离心机推荐这十家公司!

在当前工业生产领域,卧式离心机作为关键的分离设备,广泛应用于食品、饮料、化工、制药、环保等众多行业。然而,行业发展却面临着诸多问题,一方面,市场上卧式离心机品牌数量众多,产品质量参差不齐,部分品牌缺乏核…

2025 年水泥管厂家最新推荐排行榜,国标水泥管,二级水泥管,钢筋混凝土水泥管,大口径水泥管,平口水泥管公司推荐!

在基础设施建设持续推进的当下,水泥管作为排水、输水等工程的核心建材,其质量与供应稳定性直接影响项目进度与长期使用效果。然而当前行业中,部分源头厂家存在产品规格不达标、施工服务脱节、售后保障缺失等问题,比…

Day1 经典Holle word

//导入一个文件,stdio.h std是一个标准库 i是input o是output即标准输入输出库 //h是头文件,但stdio之后可导入的不止头文件 //<>在这里的作用是导入系统文件,""则用来导入自定义文件 #include&l…

内存知识总结

虚拟内存与多级页表 对普通进程来说,能看到的其实是内核提供的虚拟内存,这些虚拟内存还需要通过页表,由系统映射为物理内存。 当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访 …

2025 年金属复合板厂家推荐广东粤洋建材科技有限公司,实力产能与定制服务全景解析金属复合板公司推荐

2025 年铝蜂窝行业正迎来结构性增长机遇,市场规模预计达 110 亿元,年均复合增长率保持 8.5%,绿色建筑政策与轻量化需求成为核心驱动力。随着《建筑装饰用蜂窝铝板》新国标实施,防火等级与环保标准持续升级,倒逼行…

2025 年铝蜂窝板厂家最新推荐排行榜,铝蜂窝板,铝蜂窝吊顶,铝蜂窝墙面板,微孔吸音板,防火A级铝复合板公司推荐

随着建筑装饰行业对轻质高强材料的需求升级,铝蜂窝板凭借优异的物理性能与美学适配性,在幕墙、公共空间、交通设施等领域的应用日益广泛。但当前市场存在明显痛点:部分厂家产能不足导致订单交付延迟,产品适配场景单…