梦幻西游新资源的提取一

本文介绍了如何分析梦幻西游的资源提取,特别是3D模型存在r3d.npk内的情况。作者探讨了xyqsvc.exe和my.exe之间的内存共享机制,并详细解析了v3d.hdr文件的结构,包括struct定义和调色板信息,为提取渲染好的图片提供了线索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前韩の娃娃问我新出的锦衣是否是在shape.wd8资源包内,但是分析之后发现资源是以3D模型的形式存放在r3d.npk内的。虽然去年夏天简单分析过.gim模型格式,但要我把它渲染的跟梦幻里一样效果还是有些难度的,毕竟我也只是刚刚导出了T-Pose模型而已。
前几天又看到了空灵姐的留言,说大家还在为提取新资源而头疼。既然如此,那么何不尝试提取一下,也小小的满足一下自己的好奇心。

 

问题切入点
负责渲染的程序xyqsvc.exe是如何将渲染好的图片传给客户端程序my.exe使用的?

最开始时,我以为xyqsvc.exe将渲染好的图片存放在v3d_cache目录下的文件内,然后my.exe读取这个文件。但仔细一想,多个程序对同一个文件同时读写,还要同步,这几乎是不可能的。而且使用FileMon监视文件读写,发现my.exe是根本不读取这些文件的。之后的分析显示,v3d_cache下的v3d.hdr和v3d.dat只是xyqsvc.exe的缓存文件,是为了方便下次使用而保存的。传送图片的真正办法是内存共享。(查找内存共享时看到了云风哥对这个技术的介绍,证明我的分析是基本正确的。出乎我的意料的是,xyqsvc.exe是多个客户端共享的)

 

言归正传,既然渲染好的图片缓存下来了,那么必定是可以提取的。(其实不缓存也可以在内存里截取,但涉及的问题就要复杂许多)

下面把我分析的 v3d.hdr 和 v3d.dat 的格式写出来,全当是做个备忘吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值