【原创】植物大战僵尸全解密---存档篇

本文档详细解析了《植物大战僵尸》游戏的存档数据结构,包括用户信息文件和用户存档数据的结构体定义,并展示了如何通过内存修改器修改游戏中的阳光数。此外,还分享了一个技巧,无需修改工具即可将试用版转化为正式版。
摘要由CSDN通过智能技术生成

2010-04-13
更新了一点,尽量把demo做成program
2010-04-12
原来的程序在删除用户时,没有删除对应用户的游戏进度。现在修正
另外告诉大家一个关于游戏的小密秘。在帖子的最后。

植物大战僵尸全解密---存档篇
内存修改器游侠网上已经有了,再做也没意思了,我来做一个存档编辑工具吧 
这是个很赞的游戏,最近沉迷上了.
由于本人水平太菜.老是徘徊在第4关.于是便拿出家伙把它修理了一番.
和游戏相关的,都分析出来了,有些不太常用到的,就不分析了。
没想到还挖出了不少好东西,不敢独享.
我分析的是它的存档文件数据,能分析的都分析出来了,整理成了结构体.方便使用.
存档文件对应的结构体内容如下:
users.dat
/************************************************************************/
/* userdata/users.dat 用户信息文件数据结构                              */
/************************************************************************/
//文件头
typedef struct _FILEHEADER
{
  DWORD  dwValidFlag; /*值必须为0xE,文件有效性标识*/
  DWORD  dwNum;    /*保存用户的数量,十六进制值*/
}FILE_HEADER, *PFILE_HEADER;

typedef struct _USERINFO
{
  WORD  wNameLen;  /*用户名长度*/
  LPSTR  pszName;  /*用户名,实际存放在文件中的是用户名的ASCII字符,不包含末尾的NULL字符*/
  DWORD  dwReserveed;  /*保留,经测试,没有发现其它用途*/
  DWORD  dwIndex;  /*用户ID, 对应生成相应的UserN.dat文件,N的值便是dwIndex/
}USER_INFO, *PUSER_INFO;
userN.dat(N代表用户ID)
/************************************************************************
* userdata/userN.dat 用户存档数据结构, N的值和dwIndex相对应,即每个用户自己的存档文件.
************************************************************************/

typedef struct _USERDATA
{
  DWORD dwValidFlag;     /*offset:0x0 值必须为0xC,文件有效性标识*/
  DWORD dwGuan;       /*offset:0x4 当前关卡 */
  DWORD dwMoney;       /*offset:0x8 金钱数*/
  DWORD dwSilverCup;    /*offset:0xc 获取银向日葵奖杯,得到金杯后,该位上的数字表示完成了n次冒险*/
  /*   更多游戏通关 全胜条件:低0~4位和高24~28位都为1 */
  DWORD dwSC_Game[10];  /*offset:0x10~0x30+0x8 生存模式通关*/
  DWORD dwReserved_9[5];
  DWORD dwXYX_Game[20];  /*offset:0x40+0xc~0x90+0x8 小游戏通关*/
  DWORD dwReserved_10[15];
  DWORD dwJM_1_9_Game[9];  /*offset:0xd0+0x8~0xf0+0x8 解迷游戏1-9关*/
  DWORD dwReserved_11;     /*这个是无限任务,无法通关, 记录的是通过该关的次数, 类似的偏移量还有几个,我全部保留了*/
  DWOR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值