VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1965回复:32

提问两个非驱动的诡异小问题

楼主#
更多 发布于:2002-11-13 09:52
先给20分,如果回答的非常好我可以再加分
背景:我在调试一个Win32程序,纯Win32的,我的这个程序会修改别的程序,但修改后的程序会………………
问题一:
修改后的程序,我一运行就死,这不可怕,可怕的是我用调试器打开它,调试器打开时会死掉,这还不是最可怕,最可怕的是我在DOS窗里对这个文件操作,比如删除,或拷一个文件覆盖它,执行的命令也会死!在资源管理器里我把鼠标点上它,资源管理器也会死!
这种死,有时表现系统非常慢,过好半天才缓过来,但有时系统几乎不响应了
这种情况最让我苦恼,我根本都无法调试,只能到纯DOS下把它删除。
这是在2000下,在98下,我只要把鼠标点到那个文件上(没有打开),系统就彻底死了。
问题二:
上述死掉的东西,在task manager里可以看到,但无法杀死!告诉我\"access denied\",我的访问被拒绝了。这是怎么回事?这种情况一般都发生在system service上啊,我这可是正宗的响当当的Win32程序,没什么特别的,只不过对文件读写而已,怎会如此惨死?
哪位遇到这种问题?有经验吗?

大家注意,现在的主要问题是我不能碰修改后的文件,更无法打开了

[编辑 -  11/13/02 by  Koms Bomb]

[编辑 -  11/13/02 by  Koms Bomb]
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-13 10:05
其实用ULTRAEDIT也可以修改程序,修改后运行良好。
应该是你修改的问题。贴出SOURCE。
生命驱动,活力无限!
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-13 10:07
其实用ULTRAEDIT也可以修改程序,修改后运行良好。
应该是你修改的问题。贴出SOURCE。

1,我必须用程序修改程序
2,不能贴source
我知道是我修改的问题,但大概什么问题?我现在连那个错误文件都无法调试了。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-13 10:09
用记事本修改应用程序就不行。估计是字符转换的问题。是否用UNICODE?
生命驱动,活力无限!
right_wind
驱动中牛
驱动中牛
  • 注册日期2001-10-12
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望66点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-11-13 10:11
被修改的文件是2进制文件吗?打开文件用什么函数?
good good study, day day up。
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-13 10:11
用记事本修改应用程序就不行。估计是字符转换的问题。是否用UNICODE?

你为什么非要说用工具修改程序呢?
我是在我的程序里修改程序,直接修改二进制代码。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-13 10:15
呼呼,
改出问题了 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
right_wind
驱动中牛
驱动中牛
  • 注册日期2001-10-12
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分60分
  • 威望66点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-11-13 10:16
二进制也是可以修改的,你的系统没问题吧?
good good study, day day up。
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-11-13 10:16
被修改的文件是2进制文件吗?打开文件用什么函数?

被修改的是程序
打开用CreateFile啊
那些没问题,是我改错的,但问题是我现在无法调试,一调试就死。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-13 10:18
二进制也是可以修改的,你的系统没问题吧?

我的系统看起来似乎没问题,因为我没修改前一切正常,但修改后就不行了。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-11-13 10:18
[quote]用记事本修改应用程序就不行。估计是字符转换的问题。是否用UNICODE?

你为什么非要说用工具修改程序呢?
我是在我的程序里修改程序,直接修改二进制代码。 [/quote]



[编辑 -  11/13/02 by  ydyuse]
生命驱动,活力无限!
debug
驱动大牛
驱动大牛
  • 注册日期2002-06-06
  • 最后登录2012-10-15
  • 粉丝0
  • 关注0
  • 积分105分
  • 威望12点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-11-13 10:19
修改会原来的样子可以么?
偶爱c/c++,正如世人爱上帝一样。。。。 唐僧正在火焰山下分配工作:“悟空去借芭蕉扇,悟净去找水--八戒,你怎么还有空看偶的个人资料??
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-11-13 10:20

我的意思是即使你直接修改二进制代码,如果用记事本它回加进一些字符。所以你要考虑此问题。也就是你的CODE修改程序后是否加进了多余字符。你可用ULTRAEDIT查看。
满意不?

你没看清楚我的问题。我上面说过,修改后的文件,我一碰就死掉,更别说打开了。

  大家注意,现在的主要问题是我不能碰修改后的文件,更无法打开了
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-11-13 10:24
你没看清楚我的问题。我上面说过,修改后的文件,我一碰就死掉,更别说打开了。

  大家注意,现在的主要问题是我不能碰修改后的文件,更无法打开了 [/quote]

我不能回答你修改后的程序为什么不能碰?除非你给SOURCE。
但我是在让你无何避免!
究竟是谁没看清楚?花猫
生命驱动,活力无限!
cn18799
驱动老牛
驱动老牛
  • 注册日期2001-11-17
  • 最后登录2010-04-16
  • 粉丝0
  • 关注0
  • 积分54分
  • 威望36点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-11-13 10:25
你把 exe 文件改坏掉了吧。
[img]http://www.danasoft.com/vipersig.jpg[/img] [img]http://www.driverdevelop.com/forum/upload/cn18799/2002-09-28_logo.gif[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-11-13 10:28
我不能回答你修改后的程序为什么不能碰?除非你给SOURCE。
但我是在让你无何避免!
究竟是谁没看清楚?花猫

真奇怪,既然你看清楚了,为何还让我用UltraEdit看?能看吗?当然不能。
能给源码吗?当然不能。

大狗,我不能确定是不是坏了。

死掉的进程无法杀死,怎么回事?
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
cn18799
驱动老牛
驱动老牛
  • 注册日期2001-11-17
  • 最后登录2010-04-16
  • 粉丝0
  • 关注0
  • 积分54分
  • 威望36点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-11-13 10:30
你在纯 DOS 下把它的扩展名改成别的,再到 windows 里,
如果在资源管理器能碰了,应该就是你改坏了。
[img]http://www.danasoft.com/vipersig.jpg[/img] [img]http://www.driverdevelop.com/forum/upload/cn18799/2002-09-28_logo.gif[/img]
msystem
驱动牛犊
驱动牛犊
  • 注册日期2002-11-11
  • 最后登录2003-03-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-11-13 10:30
我想是你修改后的文件中有非法字符。如果在Windows下面没有办法的话,建议你在纯dos下用debug看看。你也不必死脑筋一定要在windows下解决这个问题。
寻找IT的新动力!
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-11-13 10:35
我想是你修改后的文件中有非法字符。如果在Windows下面没有办法的话,建议你在纯dos下用debug看看。你也不必死脑筋一定要在windows下解决这个问题。

用debug?
我这可是32位程序,还要调用Win32 API
如果只是用Debug看看16进制代码,看不出什么

 大家注意,如果只是单纯的文件坏了,为何不能碰?一碰就死?
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-11-13 10:39
可能是把跳转地址或某些参数改错了,所以文件按照可执行方式一打开就跳飞了,这样就会死机。
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
上一页
游客

返回顶部