把仙剑奇侠传5的音乐从pkg里请出来变成mp3吧

本文介绍了一种自制程序,用于从《仙剑5》游戏的音乐包中提取MP3文件的方法。该程序能够成功解析并提取游戏内的音频资源。

仙5卖得真的很火爆啊,我到现在还没拿到货。委屈

于是迫不及待地下载了数字版,安装。

看完了CG过场动画,感慨着女一号竟然在游戏还没有结束就香消玉殒了啊。悲催的小凡子。

然后实在对着这个4GB的家伙没事做了,那就拆解了它吧。

破解就不玩了,一是不怎么合法吧,二是脱壳技术菜,我不知道要脱到猴年马月啊……

听仙5的音乐吧……听音乐它还非要弄个PKG文件。

用WinHex打开呗,标识为PK3.0,这不是zip的吗?直接改ZIP解压错误。

悲剧了,看了下文件大小,转16进制,和第二行的数据好接近啊,那第二行前四字节就是有效数据的大小了吧,接着的四个字节不知道是什么东东……

然后就是一堆一堆数据了。起初打开music.pkg时没有注意细节,以为pkg文件用了压缩算法。

但打开sound.pkg文件,看到了RIFF字符,这不是wav文件的块名吗?于是便在music.pkg里找mp3。

FF FB 90 04就是mp3块的分割长整字节啊。但是这四个字节咋就那么多呢,不能作为一个文件的标识啊。

截出两个文件比较了一下,每个mp3文件FF FB 90 04开头后都会有32个00。

那还说什么,写个程序把所有家伙都搬出来啊。


#include <conio.h>
#include <stdio.h>
#include <alloc.h>

int readdata() {
FILE* f;
FILE* out;
unsigned long p = 0;
int x1,x2;
unsigned long px = 0;
int count = 0, fcount = 0;
char r = 0;

out = fopen("h:\\pal5.txt","wb+");
f = fopen("h:\\game\\pal5\\music.zip","rb");

printf("open pal5.txt to output...\n");
printf("open music.zip to read data...\n");

   while(!feof(f)) {
      r = fgetc(f);
      px++;
      if(r==0) {
	 if(count==0) p=px;
	 count++;
      } else {
	 if(count==32) {
	    p=p-5;
	    fwrite(&p,4,1,out);
	    fcount++;
	 }
	 count = 0;
      }
   }
fclose(f);
fclose(out);
printf("finish initializing...\n");
return fcount;
}

void outputdata(int n) {
   FILE *f,*out,*mc;
   char data[1024];
   unsigned long p1=0,p2=0;
   int i;
   char buf[1024] = {0};

   mc=fopen("h:\\game\\pal5\\music.zip","rb");
   f=fopen("h:\\pal5.txt","rb");

   printf("[start output music]\n");

   for(i=0;i<n-1;i++) {
      printf("%2d ",i);
      if((i+1)%10) printf("\n");

      sprintf(buf,"h:\\pal5\\%d.mp3",i);
      out=fopen(buf,"wb+");
      fseek(f,4*i,0);
      fread(&p1,4,1,f);
      fseek(f,4*i+4,0);
      fread(&p2,4,1,f);
      fseek(mc,p1,0);
      p1=p2-p1;
      while(p1>0) {
	 if(p1>1024) {
	    fread(data,1024,1,mc);
	    fwrite(data,1024,1,out);
	    p1-=1024;
	 } else {
	    fread(data,p1,1,mc);
	    fwrite(data,p1,1,out);
	    p1=0;
	 }
      }
      fclose(out);
   }
   printf("\n");
   fclose(f);
   fclose(mc);
}

void main() {
   clrscr();
   outputdata(readdata());
}

上面程序没有截取最后一个mp3,自己查下pal5.txt的输出,然后从偏移开始到最后把它取出来就ok了。

然后62首mp3就在文件夹里了,开听……

有兴趣还可以搜搜model,毕竟仙5用的ReaderWare嘛……

以上仅供学习使用哦……-_-/// 得支持下正版~~~



J.Y.Liu

2011.07.09

内容概要:本文介绍了基于ExtendSim软件构建的儿童保护模拟分析模型,旨在通过仿真技术评估不同工作包(Work Package)对儿童保护系统长期影响的效果。该模型自2014年起由澳大利亚某政府部门与Insight Acumen合作开发,用于支持政策决策,特别是在区域层面测试干预措施的实施效果。模型利用约数十万条历史数据自动生成概率分布(PD),模拟儿童在不同年龄、原住民身份、地区、初次或再次进入系统等条件下的路径发展。随着时间演进,模型经历了多次结构优化,从最初的7个区域调整为5个再扩展至6个,并实现了高度自动化,能够自动导入Excel原始数据并借助ModL编程语言完成初始化计算,显著提升了效率。目前模型每年提供74项关键指标输出,所有分析均由部门内部人员操作执行,大幅节省了人力成本并提高了测试与分析的有效性。; 适合人群:具备数据分析、系统建模背景,从事公共政策研究、社会服务管理或儿童福利领域的政府工作人员及咨询顾问。; 使用场景及目标:①评估儿童保护政策在不同区域和时间段的实施效果;②优化资源配置与工作包部署策略;③预测未来10-15年儿童保护系统的负荷与发展趋势;④提升政府部门在复杂社会系统中的决策科学性与响应效率。; 阅读建议:本模型强调实际应用与持续迭代,建议读者关注其数据自动化处理机制、ModL编程实现方式以及多维度概率建模方法,在复用时结合本地化数据结构进行适配与验证。
随着设施农业的快速发展,传统人工管控方式已难以满足现代化农业生产对环境稳定性和管理效率的需求。温湿度作为影响作物生长的关键环境因子,其精准控制直接关系到农产品产量与品质。然而,当前多数农业大棚仍采用粗放式管理模式,存在监测滞后、控制精度低、能耗高等问题。为此,本研究设计并实现了一套基于STM32的智能农业大棚温湿度自动管控系统,旨在为设施农业提供低成本、高可靠性的智能化解决方案。本系统采用分层架构设计,主要包含终端采集控制层、无线传输层和云端应用层三个部分。终端层以STM32F103微控制器为核心,搭载DHT11温湿度传感器实现环境数据实时采集,通过继电器模块驱动通风扇、灌溉水泵等执行设备。为提升温湿度调节精度,本研究创新性地引入模糊PID控制策略,通过模糊推理动态调整PID参数,有效解决了传统PID控制在非线性、时变系统中的参数整定难题。同时,针对电池供电的分布式采集节点,设计了低功耗休眠机制,通过定时唤醒采样与事件触发相结合的方式,显著延长了节点续航时间。系统的无线传输层采用ESP8266模块实现数据上传与指令下发,通过MQTT协议与阿云IoT平台进行通信。云端平台负责数据存储、可视化展示和远程参数配置,用户可通过微信小程序实时查看大棚环境状态、历史数据趋势,并远程设置温湿度阈值和控制模式。实验结果表明,该系统在温湿度控制精度上取得了显著提升:温度控制误差小于±0.5℃,湿度控制误差小于±3%RH,相比传统开关控制方式精度提升约40%。在功耗测试中,休眠模式下节点电流仅为2.3mA,续航时间可达6个月以上。系统运行稳定可靠,连续72小时测试无数据丢失。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论 第3章 系统需求分析 第4章 系统总体设计 第5章 系统详细设计与实现 第6章 系统测试与分析 第7章 总结与展望 参考文献
内容概要:本文围绕“考虑 Stribeck 摩擦特性的无刷直流电机驱动 EMB 执行器耦合建模及仿真分析”展开,深入研究电子机械制动(EMB)系统中电机与执行机构之间的非线性动力学耦合关系。通过Matlab/Simulink平台,建立了包含Stribeck摩擦效应的高精度非线性模型,该模型有效刻画了低速段静摩擦、动摩擦过渡及粘滞摩擦的复杂特性,弥补了传统线性模型在瞬态响应和定位精度方面的不足。研究系统分析了无刷直流电机驱动下EMB执行器在不同工况下的动态响应过程,重点探讨摩擦非线性对系统稳定性、响应延迟和控制精度的影响机制,进而为高性能制动控制算法的设计提供精确的仿真验证平台。; 适合人群:具备电机驱动控制、车辆工程、机电一体化或非线性系统建模背景的研究生、科研人员及从事汽车电控系统开发的工程技术人员。; 使用场景及目标:①用于深入理解无刷直流电机在强非线性负载(如EMB)作用下的动态行为与能量传递特性;②为设计高精度摩擦补偿控制、前馈控制及鲁棒控制策略提供可靠的仿真基础;③服务于下一代线控制动(Brake-by-Wire)系统的性能优化、控制器硬件在环(HIL)测试及系统级验证。; 阅读建议:读者应结合Simulink仿真环境,重点关注Stribeck摩擦模型的数学构建、参数辨识方法及其在机电耦合系统中的集成方式,建议通过调整摩擦参数和控制输入,对比分析有无摩擦模型时的系统响应差异,以深刻掌握非线性因素对系统性能的关键影响。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值