unix/linux程序能否把数据保存到自身的可执行文件?
时间:2010-09-09
来源:互联网
windows有很多exe文件,比如游戏,是把游戏结果保存在自身当中的(不是用注册表,因为我把这个exe拷贝到另一个机器,刚才的分数列表还在)。
unix/linux程序能否把数据保存到自身的可执行文件? 如果可以,需要在编译/编程的时候做些什么?
unix/linux程序能否把数据保存到自身的可执行文件? 如果可以,需要在编译/编程的时候做些什么?
作者: kgisme170 发布时间: 2010-09-09
有这情况吗?
可以保存在exe?
可以保存在exe?

作者: starzhestarzhe 发布时间: 2010-09-09
一般保存的地方不是注册表就是生成的一个配置文件里吧
作者: starzhestarzhe 发布时间: 2010-09-09
我以前试过,可以,不过需要中间文件的帮助,直接修改本身映像会出现Text Busy的错误~
和编译无关
和编译无关
作者: davelv 发布时间: 2010-09-09
牛人。具体说说。
作者: zhangsuozhu 发布时间: 2010-09-09
例如要保存一个int数据,将其定义到全局变量,然后付给它一个特殊的值例如0x12345678,以便和别的数据区分,或者使用前后各定一个标志字符串来包围起来这个值。
然后写程序,在程序最后加上一个save()函数,该函数的作用就是去复制自身程序映像(文件名可以从argv[0]获取),然后去读写打开这个复制品到特定偏移X,就是上面说的数据的偏移,把新的值写进来。然后删除自身程序映像,把修改后的复制品放回当前位置。
至于这个偏移X如何确定,你可以在复制品里面去搜索上面设定的特殊值或者特殊标识从而定位到X,一般来说用字符串作为特殊标识可靠性比较高。。
然后写程序,在程序最后加上一个save()函数,该函数的作用就是去复制自身程序映像(文件名可以从argv[0]获取),然后去读写打开这个复制品到特定偏移X,就是上面说的数据的偏移,把新的值写进来。然后删除自身程序映像,把修改后的复制品放回当前位置。
至于这个偏移X如何确定,你可以在复制品里面去搜索上面设定的特殊值或者特殊标识从而定位到X,一般来说用字符串作为特殊标识可靠性比较高。。
作者: davelv 发布时间: 2010-09-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28