一个exe程序,如何保存数据到自身的可执行文件?

daishu59 2010-09-08 07:13:43
有很多exe文件,比如游戏,是把游戏结果保存在自身当中的(不是用注册表,因为我把这个exe拷贝到另一个机器,刚才的分数列表还在)。

1. exe执行的时候,windows里面我都不能删除它。那么我如何在程序里面打开这个exe文件做写入的操作呢
2. 如何写才能不冲掉exe里面的可执行代码,数据段什么的,也就是如何得到exe文件当中,可以安全的写入数据的一个区域?
...全文
1181 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdutboy 2010-09-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wltg2001 的回复:]

引用 5 楼 cdutboy 的回复:
引用 4 楼 wltg2001 的回复:

引用 1 楼 cdutboy 的回复:
给自己的程序增加一个节,然后把数据写到这个PE节中。

EXE在执行时是不能被修改的,上面3楼的方法应该可行。


我说的是你编译程序的时候。没说运行的时候

晕,难道编译程序会给你的程序加一个节啊?
你保存数据的工作难道不是你自己的程序来做吗?但是……
[/Quote]
你自己菜了就不要乱说
#pragma comment(linker,"/SECTION:节名称,RWS")
wltg2001 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cdutboy 的回复:]
引用 4 楼 wltg2001 的回复:

引用 1 楼 cdutboy 的回复:
给自己的程序增加一个节,然后把数据写到这个PE节中。

EXE在执行时是不能被修改的,上面3楼的方法应该可行。


我说的是你编译程序的时候。没说运行的时候
[/Quote]
晕,难道编译程序会给你的程序加一个节啊?
你保存数据的工作难道不是你自己的程序来做吗?但是它执行时由于内存映射文件的原因,它的EXE文件是不能被修改的,所以EXE自身是不能修改自身的。
daishu59 2010-09-09
  • 打赏
  • 举报
回复
to 1-2L:

这个应该怎么做到呢? 能否用几行代码来实例化一下?

谢谢.
cdutboy 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wltg2001 的回复:]

引用 1 楼 cdutboy 的回复:
给自己的程序增加一个节,然后把数据写到这个PE节中。

EXE在执行时是不能被修改的,上面3楼的方法应该可行。
[/Quote]

我说的是你编译程序的时候。没说运行的时候
wltg2001 2010-09-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cdutboy 的回复:]
给自己的程序增加一个节,然后把数据写到这个PE节中。
[/Quote]
EXE在执行时是不能被修改的,上面3楼的方法应该可行。
野男孩 2010-09-08
  • 打赏
  • 举报
回复
A.exe程序启动后,把自己复制一个副本A_COPY.exe出来,然后在运行过程中,把要记录的数据更新到副本中。
退出的时候,生成一个批处理,不断的删除A.exe,然后把A_COPY.exe改名为A.exe。最后程序退出了,批处理会执行成功。
cdutboy 2010-09-08
  • 打赏
  • 举报
回复
节的属性设置可读可写
cdutboy 2010-09-08
  • 打赏
  • 举报
回复
给自己的程序增加一个节,然后把数据写到这个PE节中。
项目描述 本系统是一套极速开发微信小程序的商城系统,主要包括用户管理、角色管理、部门管理、菜单管 理、定时任务、文件上传、数据权限、Redis 缓存、前后台统一异常处理等系统通用功能,还拥有一套完整的商城后台管理系统、微信小程序源码、小程序接口服务、以及完善的支付流程,极大缩短项目的开发周期。 项目特点 ◆ shop-wechat-mall 采用 Spring、MyBatis、Shiro、swagger 框架开发。 ◆ 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求。 ◆ 完善的部门管理及数据权限,通过注解实现数据权限的控制。 ◆ 支持 MySQL 数据库。◆ 多个团队协作开发,有效降低核心代码泄露。 ◆ 推荐使用阿里云服务器部署本系统项目介绍 shop-admin 后台模块,也是系统的核心,用来开发后台管理系统。 shop-api 接口模块,是小程序商城的接口开发模块。实现了微信用户登录、接口权限认证、获取登录用户、商城首页、专题、分类、 购物车、个人中心等功能,为小程序商城接口的安全调用,提供一套完整的解决方案。 shop-common 公共模块,其他模块以 jar 包的形式引入进去,主要提供些工具类,以 及 shop-admin、shop-api 模块公共的 entity、mapper、dao、service 服务,防止一个功能重复多次编写代码。 shop-framework 系统 web 合并模块,最终项目打包部署模块。最后会介绍为什么会设计此模块,以及设计此模块的意图。 shop-gen 代码生成器模块,只需在数据库里,创建好表结构,就可以生成增、删、改、查等操作的代码,包括 entity、mapper、 dao、service、controller、页面等所有代码,项目开发神器。 shop-schedule 定时任务模块,使用开源框架 quartz 实现分布式定时任务,动态添加、修改、删除、暂停、恢复、立即执行定时任务。 shop-shop 商城后台管理系统,实现了商城的后台管理功能。 wx-mall 商城小程序端源码 开发使用到的软件和工具 Xshell6、Xftp6、Tomcat8.0.33、jdk1.8、MySQL5.7、redis4.0.1 本地部署 ◆ 配置环境(推荐 jdk1.8、maven3.3、tomcat8、mysql5.5+、redis4.0.1) 本机启动 redis 服务、mysql 数据库初始化项目 ◆ 创建数据库 shop-shop,数据库编码为 UTF-8,执行数据库脚本_sql/shop.sql、sys_region.sql、更新脚本.sq ◆ 启动项目之前修改 dev/shop.properties,修改数据库账号和密码,wx.appId、wx.secret、wx.mchId、wx.paySignKey ◆ 修改 j2cache.propertie 配置 redis.hosts 和 redis.password 使用 IDEA 启动项目 配置 tomcat启动成功,访问 http://localhost账号密码:admin/admin Swagger 路径 http://localhost/swagger-ui.html 小程序接口路径 http://localhost/api/ 使用微信 web 开发者工具启动 wx-mall 导入 wx-mall 到微信 web 开发者工具修改 config/api.js 配置开发模式设置     

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧