1. exe执行的时候,windows里面我都不能删除它。那么我如何在程序里面打开这个exe文件做写入的操作呢
2. 如何写才能不冲掉exe里面的可执行代码,数据段什么的,也就是如何得到exe文件当中,可以安全的写入数据的一个区域?
8 个解决方案
#1
给自己的程序增加一个节,然后把数据写到这个PE节中。
#2
节的属性设置可读可写
#3
A.exe程序启动后,把自己复制一个副本A_COPY.exe出来,然后在运行过程中,把要记录的数据更新到副本中。
退出的时候,生成一个批处理,不断的删除A.exe,然后把A_COPY.exe改名为A.exe。最后程序退出了,批处理会执行成功。
退出的时候,生成一个批处理,不断的删除A.exe,然后把A_COPY.exe改名为A.exe。最后程序退出了,批处理会执行成功。
#4
EXE在执行时是不能被修改的,上面3楼的方法应该可行。
#5
我说的是你编译程序的时候。没说运行的时候
#6
to 1-2L:
这个应该怎么做到呢? 能否用几行代码来实例化一下?
谢谢.
这个应该怎么做到呢? 能否用几行代码来实例化一下?
谢谢.
#7
晕,难道编译程序会给你的程序加一个节啊?
你保存数据的工作难道不是你自己的程序来做吗?但是它执行时由于内存映射文件的原因,它的EXE文件是不能被修改的,所以EXE自身是不能修改自身的。
#8
你自己菜了就不要乱说
#pragma comment(linker,"/SECTION:节名称,RWS")
#1
给自己的程序增加一个节,然后把数据写到这个PE节中。
#2
节的属性设置可读可写
#3
A.exe程序启动后,把自己复制一个副本A_COPY.exe出来,然后在运行过程中,把要记录的数据更新到副本中。
退出的时候,生成一个批处理,不断的删除A.exe,然后把A_COPY.exe改名为A.exe。最后程序退出了,批处理会执行成功。
退出的时候,生成一个批处理,不断的删除A.exe,然后把A_COPY.exe改名为A.exe。最后程序退出了,批处理会执行成功。
#4
EXE在执行时是不能被修改的,上面3楼的方法应该可行。
#5
我说的是你编译程序的时候。没说运行的时候
#6
to 1-2L:
这个应该怎么做到呢? 能否用几行代码来实例化一下?
谢谢.
这个应该怎么做到呢? 能否用几行代码来实例化一下?
谢谢.
#7
晕,难道编译程序会给你的程序加一个节啊?
你保存数据的工作难道不是你自己的程序来做吗?但是它执行时由于内存映射文件的原因,它的EXE文件是不能被修改的,所以EXE自身是不能修改自身的。
#8
你自己菜了就不要乱说
#pragma comment(linker,"/SECTION:节名称,RWS")