孔雀开发小屋

专注并致力于手机客户端开发
<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

  • 随笔 - 103
  • 文章 - 0
  • 评论 - 251
  • 引用 - 0

常用链接

留言簿(38)

随笔分类

随笔档案

关注的博客

朋友的博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜

植物大战僵尸资源提取
植物大战僵尸是09年非常风靡的一款游戏。虽然是2D画面,但是其游戏性、画面的轻松可爱、恰到好处的音效使人爱不释手。

最近想做一款类似的游戏,想先暂用其图像资源与音乐资源来,而专注于游戏程序编写本身。发现其所有的资源都打包在main.pak包中。经过一番努力,终于从中提取到所有的png图像1800多张,ogg格式音乐文件300余首。现在将整个过程简要说明。

1)该main.pak经过了加密。其实只是通过0XF7进行了一个简单的xor运算。通过对源文件进行xor运算可以得到未加密的资源文件。我们这里叫做mainbak.pak。
2)写一个程序将mainbak.pak读取,然后在文件(二进制)中查找png和ogg文件格式的特征码(魔数)。循环读取,就可以获取所有的资源了。

附:
png文件格式开头:0x89 0x50 0x4E 0x47
png文件格式结尾:0x49 0x45 0x4E 0x44 后面还有四位CRC,不过选取这四位标示结尾就可以了。算文件长度的时候记得加上四位CRC就可以了。

ogg魔数:0x4F 0x67 0x67 0x53 0x00 0x02 0x00 0x00 0x00 0x00

enjoy it !

posted on 2010-01-10 01:16 孔雀 阅读(6307) 评论(8)  编辑 收藏 引用

评论

# re: 植物大战僵尸资源提取 2010-01-10 12:14 Sunshine Alike

顶啊~~哈哈,早想干这事了
  回复  更多评论    

# re: 植物大战僵尸资源提取 2010-01-20 12:52 jean

感谢,顺着你的思路做了个完整版的资源提取工具
http://www.thecodeway.com/blog/?p=789
  回复  更多评论    

# re: 植物大战僵尸资源提取 2010-01-21 09:33 侠客西风

不是吧,你是怎么发现他是通过再简单也不过的F7异或来加密的啊
  回复  更多评论    

# re: 植物大战僵尸资源提取 2010-01-21 10:41 真诚

高手 我很想要一套 图片素材 和音乐素材 求!!530641333@qq.com 谢谢!!真的很需要!
  回复  更多评论    

# re: 植物大战僵尸资源提取 2010-02-03 16:05 ffd

文件头附近一堆F7呢,没看见?
  回复  更多评论    

# re: 植物大战僵尸资源提取[未登录] 2010-02-06 16:31 111

高手 我也很想要一套 图片素材 拜托了~~~
  回复  更多评论    

# re: 植物大战僵尸资源提取[未登录] 2010-02-06 16:32 111

高手 我也很想要一套 图片素材 拜托了~~~574921845@qq.com
  回复  更多评论    

# re: 植物大战僵尸资源提取 2012-08-28 14:45 文冰

  回复  更多评论    

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理