FC游戏修改ROM 用什么修改器!!

 我来答
匿名用户
2013-08-17
展开全部
游戏存档文件大多使用二进制格式,这样对于读取和保存数据都比较方便。可使用Windows的“计算器” 来看看10进制和16进制的区别:采用“科学性”模式,在10进制模式下输入数据,然后切换到16进制就行了。

  不过就算这样转换,看起来还是不很直观,因为在游戏存档中并不是如此显示的。

  那么用C++如何表达的呢?下面这个小程序演示了如何读写二进制整数。

#include <iostream>
#include <fstream>
using namespace std;//标准库所在的空间
int main()
{
 fstream BinFile("test.txt",ios::in | ios::out | ios::binary);//读+写+二进制模式
 int i=1234;
 BinFile.write(reinterpret_cast<const char*>(&i),sizeof(int));
 //reinterpret_cast是C++的强制转换,这里把整数的地址强制转换为const char*,
 //与C 的(const char*)&i 作用相同,但是reinterpret_cast更加含义明确。
 i=0;
 BinFile.seekg(0,ios::beg);//重新指向文件开头准备读取
 BinFile.read(reinterpret_cast<char*>(&i),sizeof(int));
 cout<<"i="<<i<<’\n’;
}

  用UE打开test.txt切换到二进制模式,是这样子的:

  在计算器中看到的是04D2,在UE 中看到的是D204,这就是笔者所谓的不直观性。因此,如果你要在某个游戏存档文件中间(扩充开来就是二进制文件)寻找04D2这个数值,找到上图显示的地方就对了。笔者初期手工修改存档也是这样的,比较麻烦。

  下面这个小程序表明了模拟UE在二进制文件中寻

  找整数的原理:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
 fstream BinFile("test.txt",ios::in | ios::out | ios::binary);//读+写+二进制模式
 const int i=87654;
 BinFile.write(reinterpret_cast<const char*>(&i),
 sizeof(int));//强制转换,把i用二进制方式写入文件
 BinFile.seekg(0,ios::beg);
 //重新指向文件开头,准备读取

 char ch;
 while(BinFile.read(&ch,sizeof(char)))//读取所有字符
  cout<<static_cast<int>(ch)<<"\t";//显示
  //static_cast是C++的静态转换,与C的(int)ch作用相
  //同,但是static_cast意思表达更清楚。
  cout<<’\n’;
  //下面把i的地址转换为字符串地址,并用char方式依次读取,主要是比较两者读取的结果是否相同.
 const char* P=reinterpret_cast<const char*>(&i);
 for(int i=0;i<sizeof(int);++i)
  cout<<static_cast<int>(P[i])<<"\t";
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
AiPPT软件是一款由北京饼干科技有限公司开发的智能PPT生成工具,用户可通过官方渠道下载。该软件基于人工智能大模型和自然语言处理技术,支持一键生成高质量PPT,提供丰富的模板和素材选择,满足不同场景需求。用户只需输入主题或文档资料,即可快... 点击进入详情页
本回答由AiPPT提供
匿名用户
2013-08-17
展开全部
去百度查看 游戏修改ROM 用什么修改器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-17
展开全部
说得来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式