CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VC.NET

关于写自身的方法(C++ ******高手请进******)

楼主mywand(简单生活)2004-12-02 21:25:48 在 .NET技术 / VC.NET 提问

我想数据写到程序中,就像这个软件一样,http://jxsoftware.com/viewsoft.asp?id=12  
  把数据写到自身程序中,最好用C++方法写 问题点数:100、回复次数:22Top

1 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-03 11:13:46 得分 2

不明白楼主的意图Top

2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-12-03 12:23:02 得分 1

通过临时文件?Top

3 楼mywand(简单生活)回复于 2004-12-03 16:04:51 得分 0

就是把程序的设置放到程序文件中,就像1.exe文件的设置的东东也放到1.exe里,可以看看http://jxsoftware.com/viewsoft.asp?id=12这个程序Top

4 楼mywand(简单生活)回复于 2004-12-03 16:31:40 得分 0

最好有类似的源码,谢谢Top

5 楼somedummy(某人马甲)回复于 2004-12-03 16:45:39 得分 3

直接打开自身,然后写入就可以了,记住要添加在最后,还要保存一个size_t类型的数据在最后位置来标记写入的内容的大小Top

6 楼crystal521(【云淡风轻】)回复于 2004-12-03 16:46:19 得分 10

SDK编程笔记   —   计时器篇Top

7 楼crystal521(【云淡风轻】)回复于 2004-12-03 16:49:45 得分 10

错了错了  
   
  应该是将当前程序copy一份,将数据写入copy程序,然后启动copy程序,关闭当前程序Top

8 楼mywand(简单生活)回复于 2004-12-04 00:01:59 得分 0

能不能有源码参考一下?Top

9 楼C_M_()回复于 2004-12-04 09:08:28 得分 1

不能修改正在运行的程序吧?Top

10 楼mywand(简单生活)回复于 2004-12-04 21:24:39 得分 0

可以的,回复人:   crystal521(水晶泪)说的不错,能不能具体点呀?Top

11 楼mywand(简单生活)回复于 2004-12-04 21:27:46 得分 0

谁能给出准确的答复,       170分全送!  
  还有70分在:http://community.csdn.net/Expert/topic/3610/3610714.xml?temp=.9323236Top

12 楼somedummy(某人马甲)回复于 2004-12-04 21:59:50 得分 5

用exec这个函数来执行命令的话,控制权不会返回给你的程序,控制的好的话,就靠这个估计应该可以奏效,不过这样的东西估计还是汇编比较容易解决……Top

13 楼maybelian(maybelian)回复于 2004-12-04 22:06:58 得分 50

不用这么麻烦,找到你要写的地址,调用VirtualQuery()函数查询被修改内存的页信息,  
  然后调用VirtualProtect()函数改变这些页的保护属性为PAGE_READWRITE,接着你就可以  
  任意修改进程内存数据,比如说你要修改pModAddress指针指向的进程虚拟地址的内容,可以参考如下代码:  
  BYTE   *pModAddress=……   ;//指定要修改的地址  
  DWORD   dwOldProtect;    
  MEMORY_BASIC_INFORMATION   mbi_MemInfo;    
  //获取页信息  
  VirtualQuery(pModAddress,   &mbi_MemInfo,   sizeof(MEMORY_BASIC_INFORMATION));    
  //改变保护属性为读写。  
  VirtualProtect(mbi_MemInfo.BaseAddress,mbi_MemInfo.RegionSize,   PAGE_READWRITE,   &mbi_MemInfo.Protect);    
  *pModAddress=……;//写入你所要写的值  
  //恢复页的原保护属性。  
  VirtualProtect(mbi_MemInfo.BaseAddress,mbi_MemInfo.RegionSize,    
     mbi_MemInfo.Protect,   &dwOldProtect);    
   
   
  Top

14 楼somedummy(某人马甲)回复于 2004-12-05 10:28:15 得分 10

……修改内存页……  
   
  如果这样的话就不要这么麻烦了,直接用进程空间读写的Win32   API就搞定了……Top

15 楼busade1()回复于 2004-12-05 20:31:07 得分 1

应该是这样的   楼主可试过   copy   1.exe+1.txt   1.exe   吗?之后的1.exe还是可以运行的,因为1.txt的内容只是被添加到了1.exe的尾部。  
  所以可以把程序的设置写到exe文件的结尾,自己安排好哪个参数在哪个位置,然后运行时从末尾读数据就行了。Top

16 楼YidingHe(机枪兵)回复于 2004-12-06 00:21:32 得分 1

我只知道VB.net不能写不安全代码。这种修改进程数据的搞法应该属于不安全代码吧?Top

17 楼gbbword(分不清)回复于 2004-12-06 11:00:20 得分 1

关注!Top

18 楼gxh973121()回复于 2004-12-06 12:01:53 得分 1

mark,jfTop

19 楼BruceJiang()回复于 2004-12-06 12:48:05 得分 1

关注!  
  Top

20 楼C_M_()回复于 2004-12-06 13:53:58 得分 1

……修改内存页……会修改程序的文件吗?Top

21 楼C_M_()回复于 2004-12-06 13:57:43 得分 1

他好像是要修改执行程序的文件。Top

22 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-12-10 18:48:10 得分 1

gzTop

相关问题

  • string.fromCharCode方法在C#中怎么写?
  • 求C写session,读取session的方法
  • c++初学者请写下联系方法
  • 用C++ BUILDER编写三层数据库的方法?
  • C#中用什么方法可以读写普通文件?
  • C#里有什么方法可以读写dbf文件?
  • 请教Turbo c 下写文件的方法
  • 求C语言编写DOS下拉菜单的方法?
  • 高分求大数据量的EXCEL读写C#方法!
  • 求bit torrent的C#、C++实现方法!

关键词

  • c++
  • 修改
  • 函数
  • 数据
  • 属性
  • 内存
  • 代码
  • 文件
  • 内容
  • mbi

得分解答快速导航

  • 帖主:mywand
  • hbxtlhx
  • DentistryDoctor
  • somedummy
  • crystal521
  • crystal521
  • C_M_
  • somedummy
  • maybelian
  • somedummy
  • busade1
  • YidingHe
  • gbbword
  • gxh973121
  • BruceJiang
  • C_M_
  • C_M_
  • oyljerry

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo