微信小程序逆向 ... 未完待续

news/2025/3/11 0:39:32/文章来源:https://www.cnblogs.com/lordtianqiyi/p/18691619

解包

打开这个文件夹

image-20250125110525774

下图中,wxid_21arhynucfka22表示了不同微信号的id。打开的小程序缓存会被放入Applet文件夹中,比如图中wx31a9c726536cdacc 就是我之前打开过的 微信小程序下载的缓存。

image-20250125110619803

同时,在wechat目录下也存在所有账号公用的小程序缓存,公用的Applet文件夹,我们可以在这里找到对应的 .wxapkg

image-20250125110836144 image-20250125110851812

下面解包.wxapkg文件,这里介绍两种方式:

  1. wxapkg工具解包

    • 工具地址: https://github.com/wux1an/wxapkg

    • 使用方法:

      D:\tlsn\BTools\RE\wxapkg\wxapkg.exe scan -r "D:\tlsn\SoftWare\wechat\Wechat_file\WeChat Files\Applet" 或者:
      D:\tlsn\BTools\RE\wxapkg\wxapkg.exe scan -r "D:\tlsn\SoftWare\wechat\Wechat_file\WeChat Files\wxid_21arhynucfka22\Applet"		// 这个一般行不通
      
  2. unveilr工具解包

    • 工具地址: https://github.com/broken5/unveilr,需要注意的是,这个工具已从开源转为闭源。

    • 使用方法:

       D:\tlsn\BTools\RE\unveilr-master\3-unveilr\unveilr.exe wx -f "D:\tlsn\SoftWare\wechat\Wechat_file\WeChat Files\Applet\wxae65611dd1391ed0\49"
      
      image-20250125134518246

​ unveilr 会在 目的地址处输出解包文件!

解包之后即可看到相关结构:

image-20250125134704848

逆向思路

一般都是先抓包(比如fiddler)找一下是否存在可用的接口,之后直接检索解包后代码中有没有一样的类名或者函数名。

参考: https://www.52pojie.cn/thread-1915411-1-1.html

unity打包的微信小程序

unity打包的微信小游戏的主要逻辑是在wasm文件中。

我们需要先获取 global-metadata.dat 文件

一般在 用户对应的微信id目录下的usr目录下的 __GAME_FILE_CACHE 缓存文件夹中会存在这样的文件:

image-20250125135123746

我们用unityweb把他解包即可拿到 global-metadata.dat 文件

下载unityweb解包文件

https://github.com/jozsefsallai/unityweb

解包命令:

unityweb unpack -i .\37f0c8548c21194d.webgl.data.unityweb.bin -o unpacked-bin
image-20250125135258696

Il2CppDumper 恢复符号:

Il2CppDumper.exe  .\wasmcode .\global-metadata.dat .\out

其中wasmcode文件就是这个,不过被我重命名了。

解包wxapkg后会看到 wasmcode、wasmcode1文件夹,其中wasmcode是主要的,wasmcode1是延迟加载的次要文件。

image-20250125135513875

不过unity打包的微信小程序的符号表恢复没这么简单,dump.cs中的函数地址记录的是序号,不是真实的地址偏移,我们还得自己另写脚本处理一下。

目前卡在这里,不知道如何获得 import::wasm_split::__wasm_split_getRedirBaseAdd的值

image-20250126111426092

猜测与同一目录下的 xxx.redirmem.bin文件有关,不过这个文件是未知文件格式,卡住了...

image-20250126111628666

参考:

https://www.52pojie.cn/thread-1936819-1-1.html

https://www.cnblogs.com/algonote/p/15596459.html

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

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

相关文章

SourceMap的简单理解

什么是 SourceMap? Source Map 是一种映射文件,它可以将压缩、混淆后的代码还原回其原始的源代码。 (这种映射关系,可以准确地将编译后的代码映射回源代码。[自己理解就行]) 从而方便开发人员进行调试、错误日志收集和性能优化等工作。 它是一个以 .map 为后缀的文件。 为什么…

LamentXU 2024-2025年终总结

LamentXU 2024-2025年终总结下雪了。对于一个南方人来说,北方的雪声和爆竹味意味着年。键盘声在今天格外柔和,我终于还是开始写这篇文字了。最初我创建这个博客的原因就是想记录一下自己学习成长的足迹。而这一年的经历确实很丰富,我打算学着各个大佬的样子写个总结。整理一…

Linux 中grep命令 -F 选项使关键字按照原始字符串进行搜索

001、[root@localhost test]# ls a.txt [root@localhost test]# cat a.txt ## 测试数据 j003_mappingrate.txt KRA6 97.79% wild_mappingrate.txt KR.6 98.53% j004_mappingrate.txt KRG6 97.58% [root@localhost test]# grep "KR.6&quo…

你知道AI无法通过阅读一本好书获得灵感,对吧?

你知道AI无法通过阅读一本好书获得灵感,对吧? 人类写故事的方式和AI生成文本的方式是天差地别,完全无法相提并论。男孩与怪物的水彩画插图,授权自Deposit Photos有人曾这样问我:如果他们读了托尔金的所有书,然后写了一本关于精灵和霍比特人的书,这算盗窃吗?我笑了。 不…

语音处理 开源项目 EchoSharp

开源项目 EchoSharp(https://github.com/sandrohanea/echosharp),专为近乎实时的音频处理而设计,可为各种音频分析范围无缝编排不同的 AI 模型。EchoSharp 的架构注重灵活性和性能,通过集成语音转文本和语音活动检测组件,实现近乎实时的转录和翻译。这个开源项目目前虽然…

【重磅解密】APJifengc 语录【/重磅解密】

重磅解密APJifengc 语录我:如何评价您带领两只动物获得第一名? APJ:我是 furry。11.16我模拟 6 号,我太牛了,哦哦哦哦哦哦哦哦哦。(我不是兽。)但是我是。11.15博客园团队已经没人回了。他已经死了。11.14这不平凡博吗。(你是 furry 吗?)是是是。太是了。(补充:这种…

Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到 Guid

在软件开发中,数据库主键的选择,Guid 还是自增整数 ID,一直是一个备受开发者关注和讨论的经典话题。作为开源 ChatGPT 前端项目 Sdcb Chats 的开发者,我们在这个问题上也经历了一系列探索和演进,颇具代表性。Sdcb Chats 项目致力于打造一个强大、易用、可高度定制的 ChatG…

越界智能监测摄像机

越界智能监测摄像机将不断演进。未来,我们可以预见更多创新功能的加入,比如更强大的数据处理能力、更高效的图像识别算法以及与其他安防系统(如报警系统、无人巡逻车)的深度整合。这不仅能提升整体安保水平,还能实现信息共享,提高反应速度。加强公众对这一新兴技术的认知…

攀高行为识别摄像机

攀高行为检测识别摄像机具有显著优势。首先,其高度自动化特性大幅降低了人工监控成本,提高了工作效率;其次,通过数据记录和分析,可以为后续的安全评估和改进提供有力支持。随着科技的发展,未来的攀高行为检测识别摄像机将变得更加智能化。例如,更强大的图像处理能力、更…

火情监测摄像机

火情监测摄像机广泛应用于工业园区、高层建筑、森林防火等领域。在工业园区,由于设备密集且易燃物品众多,安装监测摄像机可以实现24小时不间断监控。一旦发现异常情况,系统会迅速通知相关人员进行处理。在高层建筑中,这种设备能够帮助消防队员快速定位起火点,为灭火行动争…

第一届启航杯网络安全大赛部分wp

第一届启航杯 WEB Easy include <?php error_reporting(0); //flag in flag.php $file=$_GET[fil e]; if(isset($file)) {if(!preg_match("/flag/i",$file)){include($file);}else{echo("no no no ~ ");} } else {highlight_file(__FILE__); }?> …

车辆冲洗监测摄像机

车辆冲洗监测摄像机是一种结合了监控摄像技术和智能分析技术的先进设备,旨在通过实时监测和分析车辆冲洗过程中的情况,识别是否存在异常或问题,并及时发出警报通知相关人员。这种摄像机在汽车服务行业、物流运输领域、环境保护等方面有着广泛的应用前景。车辆冲洗监测摄像机…