中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-02 06:53
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]XCOPY 为什么有空指针错误,有截图 查看 849 回复 8
楼 主 [求助]XCOPY 为什么有空指针错误,有截图 发表于 2008-03-29 22:13 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
23年会员
UID 1232
性别 男
状态 离线
2 发表于 2008-03-30 18:23 ·  中国 河北 保定 移动
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
在xcopy的命令行中加上/F /L参数,同时去掉后面的>nul,看一下是哪个文件导致的这个提示信息。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2008-03-31 00:06 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
23年会员
UID 1232
性别 男
状态 离线
不用,就连 xcopy/? 都会有  这个提示
4 发表于 2008-03-31 07:16 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
什么是空指针?
具有不定值的指针会随机产生数值,不知道指向什么地方的指针,或指针指向如果超出范围,这些是很危险的,它们的不确定因素可以是程序陷入瘫痪。所以一定要定义一个空值针把这些不定因素装进去。

空指针是一个很特殊的值,它写作NULL,数值为0,将空指针赋给变量后,变量值就确定了,是不指向任何变量的指针,其它高级语言可能认为空值就是空值,不是0,0也是一个值。但是C语言会认为空值就是0,不指向任何变量的数值0。空指针的使用规则和指针变量一样。例如:*p==NULL。“==”表示等于,“=”表示赋值。

病毒文件:
C:\Program Files\Common Files\iexplore.pif
C:\Program Files\Internet Explorer\iexplore.com
C:\WINDOWS\Debug\DebugProgram.exe
C:\WINDOWS\system32\command.pif
C:\WINDOWS\system32\dxdiag.com
C:\WINDOWS\system32\finder.com
C:\WINDOWS\system32\MSCONFIG.COM
C:\WINDOWS\system32\regedit.com
C:\WINDOWS\system32\rundll32.com
C:\WINDOWS\1.com
C:\WINDOWS\ExERoute.exe
C:\WINDOWS\explorer.com
C:\WINDOWS\finder.com
C:\WINDOWS\WINLOGON.EXE
在D盘根目录下生成autorun.inf([autorun] OPEN=D:\pagefile.pif)和pagefile文件。双击打开D盘时autorun.inf指向pagefile病毒文件。
注册启动项:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Torjan Program: "C:\WINDOWS\WINLOGON.EXE"
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell: "Explorer.exe 1"
病毒修改了很多的关联信息,如EXE,html,scr等,列举部分如下:
HKLM\SOFTWARE\Classes\.exe\: "winfiles"
HKLM\SOFTWARE\Classes\.lnk\ShellNew\Command: "rundll32.com appwiz.cpl,NewLinkHere %1"
HKLM\SOFTWARE\Classes\Applications\iexplore.exe\shell\open\command\: ""C:\Program Files\Internet Explorer\iexplore.com" %1"
HKLM\SOFTWARE\Classes\cplfile\shell\cplopen\command\: "rundll32.com shell32.dll,Control_RunDLL "%1",%*"
HKLM\SOFTWARE\Classes\ftp\shell\open\command\: ""C:\Program Files\Internet Explorer\iexplore.com" %1"
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command\: ""C:\Program Files\Internet Explorer\iexplore.com" -nohome"
HKLM\SOFTWARE\Classes\htmlfile\shell\opennew\command\: ""C:\Program Files\common~1\iexplore.pif" %1"
HKLM\SOFTWARE\Classes\HTTP\shell\open\command\: ""C:\Program Files\common~1\iexplore.pif" -nohome"
HKLM\SOFTWARE\Classes\InternetShortcut\shell\open\command\: "finder.com shdocvw.dll,OpenURL %l"
HKLM\SOFTWARE\Classes\scrfile\shell\install\command\: "finder.com desk.cpl,InstallScreenSaver %l"
HKLM\SOFTWARE\Classes\scriptletfile\Shell\Generate Typelib\command\: ""C:\WINDOWS\system32\finder.com" C:\WINDOWS\system32\scrobj.dll,GenerateTypeLib "%1""
HKLM\SOFTWARE\Classes\telnet\shell\open\command\: "finder.com url.dll,TelnetProtocolHandler %l"
HKLM\SOFTWARE\Clients\StartMenuInternet\: "iexplore.pif"

此外,病毒会结束大量的安全软件进程。

再说下处理方法吧,处理是比较麻烦的。注意,以下步骤顺序千万不能颠倒,中途不要打开其他任何软件,包括使用资源管理器或IE
1、首先把procexp,SREng都运行起来,打开注册表编辑器(一定要先把这些运行起来)
2、用procexp结束病毒进程WINLOGON.EXE,
3、SREng工具删除其启动项HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Torjan Program: "C:\WINDOWS\WINLOGON.EXE"
编辑启动项:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell: "Explorer.exe 1",把"Explorer.exe 1"中的“1”去掉,编辑为HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell: "Explorer.exe "
下面就是关键的恢复关联信息了,可以先借助SREng恢复EXE文件关联,
在注册表编辑器中:
查找: "rundll32.com" 替换为 "rundll32.exe"
查找: "iexplore.com" 替换为 "iexplore.exe"
查找: "iexplore.pif" 连同路径一起替换为 "iexplore.exe" (如:C:\Program Files\Internet Explorer\iexplore.exe)
查找: "finder.com " 替换为 "rundll32.exe"
到这里就可以先松口气了。右击D盘,右键菜单中选择打开,显示系统文件和隐藏文件后删除autorun.inf和pagefile2个文件
最后一步,删除开头提到的那些文件吧。注意千万别双击,否则前功尽弃。

如果处理时无法结束进程的话可以跳过这一步,先删除启动信息。在删除病毒文件前重启一下系统即可。
第一高手 第二高手

5 发表于 2008-04-01 01:10 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
23年会员
UID 1232
性别 男
状态 离线
6 发表于 2008-04-01 15:11 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
原来是纯DOS下啊
换个xcopy
第一高手 第二高手

7 发表于 2008-04-01 21:17 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
HKLM\SOFTWARE\Classes\.exe\: "winfiles"
请教fastslz大大,上面的这个注册表文件,在注册表中怎么表示啊(结构)??
8 发表于 2008-04-01 23:16 ·  中国 浙江 金华 电信
新手上路
积分 8
发帖 4
注册 2008-04-01 22:45
18年会员
UID 114697
性别 男
状态 离线
很好啊
9 发表于 2008-04-01 23:28 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
这个是网上找到的,我也不知道原作者怎么表示的
不过空指针病毒已经很少见了,只要打过最新的KB890830,部分常见病毒即使执行了也是按CPU无效指令退出的。
第一高手 第二高手

论坛跳转: