关闭或取消对话框程序崩溃???

yeyuanzhi2010 2009-07-31 10:11:52
我是在CConferenceView中调用CLogin登录对话框的,代码如下:
BOOL CConferenceView::PreCreateWindow(CREATESTRUCT& cs)
{
CLogin *log;
log = new CLogin;
if(log->DoModal() != IDOK)
{
delete m_pSocket;
m_pSocket = NULL;
return FALSE;
}
else
{
}
}
但是我在CLogin中关闭窗口或点击“取消”按钮,程序马上崩溃。怎么回事?谢谢!!
...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunm42000 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hit_spaceknight 的回复:]
你在delete  m_pSocket之前先判空一下试试
if( m_pSocket != NULL)
{
    delete m_pSocket;
    m_pSocket = NULL;
}
[/Quote]
C++不会delete一个被赋为NULL的指针 所以这个if判断没有任何作用
lz 发现问题调试一下 看看每个变量是否都是你预期的值 这是最快的解决办法
实在想不明白看下c++primer
yeyuanzhi2010 2009-07-31
  • 打赏
  • 举报
回复
我去掉
delete m_pSocket;
m_pSocket = NULL;
运行后还是出现同样的错误
yeyuanzhi2010 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhouzhipen 的回复:]
delete m_pSocket;
这句有问题,如果这是一个SOCKET句柄,那就不能用delete销毁.
[/Quote]
那么怎么办?
Fly_InWind 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhouzhipen 的回复:]
delete m_pSocket;
这句有问题,如果这是一个SOCKET句柄,那就不能用delete销毁.
[/Quote]

这是最好的方法
hit_spaceknight 2009-07-31
  • 打赏
  • 举报
回复

你在delete m_pSocket之前先判空一下试试
if( m_pSocket != NULL)
{
delete m_pSocket;
m_pSocket = NULL;
}
zhouzhipen 2009-07-31
  • 打赏
  • 举报
回复
delete m_pSocket;
这句有问题,如果这是一个SOCKET句柄,那就不能用delete销毁.
bencharluo 2009-07-31
  • 打赏
  • 举报
回复
内存泄露或者变量已销毁,但是后来还是调用了?
调试跟踪一下啊
KKcapture v2.1.8 免费VIP版,亲测 可用。 更新历史 KKcapture v2.1.8 【2011-12-13】 TOP↑ * 支持播放视频录制。 * 输出文件增加AVI格式。 * 个性水印支持图片格式(VIP功能)。 * 输出文件兼容会声会影、Sony Vegas、AE各类视频编辑器。 * 增加自动登录和找回密码功能。 * 增加KKcapture压缩暂停功能,并修改压缩进度显示不准确的问题。 * 解决Win7下区域边框显示等一些问题。 KKcapture v2.1.7 【2011-07-22】 TOP↑ * 增加文件压缩功能,用于压缩用KKcapture录制的视频文件。 * 增加个性化水印功能。 * 修改音频录制的一些问题。 * 修改创建帐号失败的问题。 * 修改热键设置冲突的问题。 * 修改部分界面肤色和其他一些问题。 KKcapture v2.1.6 【2011-05-12】 TOP↑ * 增加用户注册登录机制。 * 增加录制暂停功能。 * 生成文件改成MP4格式。 * 解决全屏录制和区域录制时鼠标双击无效的问题。 * 增加用户操作提示信息。 * 修改KKcapture界面背景色显示不正常的问题。 KKcapture v2.1.5 【2011-03-24】 TOP↑ * 新增全屏模式和区域模式,支持更多游戏和录制区域自由选择功能。 * 支持桌面录制和网络播放视频录制。 * 新增视频亮度调节功能。 * 解决Vista/Win7声音控制无效的问题。 * 解决部分游戏无法录制鼠标的问题。 * 解决OpenGL游戏帧率显示不正确的问题。 * 增加组合键和部分按键功能。 KKcapture v2.1.4 【2010-12-31】 TOP↑ * 支持OpenGL类型的游戏。 * 增加录制鼠标的功能。 * 解决部分游戏录制只有声音无视频的问题。 * 解决录制的视频画面倾斜的问题。 * 取消截图水印。 * 解决部分游戏无法显示帧率FPS的问题。 * 解决部分游戏使用KKcapture或游戏退出异常的问题。 * 解决录音的一些问题。 KKcapture v2.1.3 【2010-11-11】 TOP↑ * 取消只能录30秒的时间限制。 * 优化编码算法,大大降低录制时对机器的影响。 * 解决部分游戏退出KKcapture后Crash的问题。 * 解决一个内存泄漏的问题。 * 解决选择‘混合录音’无效的问题。 * 增设‘我要提意见’和‘开启Direct键盘输入’功能。 * 屏蔽F1热键,软件增加logo图案。 KKcapture v2.1.2 【2010-10-08】 TOP↑ * 解决部分游戏按热键录制或截图不灵的问题。 * 解决部分游戏帧率显示字体模糊或颜色异常的问题。 * 解决关闭KKcapture时,一些进程自动关闭的问题。 * 优化压缩功能,缓解录制游戏时卡的问题。 * 解决部分Win7用户机器码显示为PPPPPPPPPPPP的问题。 * 修改采集帧率设置上限为30。 * 修改水印显示位置和内容。 KKcapture v2.1.1 【2010-09-20】 TOP↑ * 支持DirectX7的游戏截图和录制功能,包括窗口模式和全屏模式。 * 解决网络连接异常时KKcapture无法使用的问题。 * 修改显示的帧率字体。 * 解决了部分游戏帧率显示区域出现黑色背景框的问题。 * 解决部分游戏帧率时隐时现的问题。 * 解决有时录制无声音的问题。 * 解决部分游戏使用KKcapture会黑屏的问题。 KKcapture v2.1.0 【2010-08-24】 TOP↑ * 发布第一个免费版本,取消试用30天的限制。 * 增加截图功能。 * 支持OpenGL游戏录制。 * 解决了部分中文操作系统用户运行程序弹出网络连接异常对话框的问题。 * 解决了录制的高清视频画面卡的问题。 * 调整界面,增强用户友好性。 * 取消非注册用户每次录制10分钟的限制。 KKcapture v1.0.6 TOP↑ * 增加录音选择功能,解决无法用麦克风录制声音的问题。 * 解决没有安装声卡驱动或声音出问题时无法录制的问题。 * 增加程序运行后自动隐藏到任务栏的功能。 * 增加录制文件查看功能。 * 游戏帧率显示字体变细。 * 修改录制文件保存格式。 KKcapture v1.0.5 TOP↑ * 增加皮肤界面。 * 提升了录制声音的清晰度。 * 解决有的用户运行程序时提示缺少MFC71.dll的问题。 * 解决按Ctrl+Esc退出全屏后再进入游戏时无法录制的问题。 * 解决录制设置清晰度从“低”选项改成其他选项时,画面尺寸依然减半的问题。 * 解决录制的视频长或宽是奇数时无法录制的问题。 * 增加了最新版本发布通知。 * 增加用户磁盘空间不足提醒。 KKcapture v1.0.4 TOP↑ * 增加了视频解码插件,解决了有的用户无法播放视频的问题。 * 解决使用d3d9的游戏使用软件时崩溃的问题 * 解决偶尔弹出对话框报网络问题,录制功能无法使用的问题。 KKcapture v1.0.3 TOP↑ * 解决部分游戏无法显示帧率的问题。 * 解决弹出对话框报网络问题,录制功能无法使用的问题。 * 解决录制的声音不清晰的问题 KKcapture v1.0.2 TOP↑ * 添加游戏帧率显示功能 * 解决按录制热键无法录制的问题 KKcapture v1.0.1 TOP↑ * 解决录制时音视频不同步的问题 * 解决有的声卡录制没声音的问题
下面这个模块是我使用易语言时写补丁最常用的一个模块(当然很多也是抄的),一开始我觉得bug肯定会很多,放出去肯定又会坑很多人,后来我发现坑坑更健康,当你明白一个东西的优缺点之后,你才会更好的选择你所需要的。所以呢,现在模块开源了,希望对某些朋友有参考意义或者说使用价值吧。 声明:大家使用过程中发现任何问题都不要来问我,请自己想办法解决。我现在已经完全放弃易语言了,改用VC++了。 以下是全部接口: 模块名称:sunflover.ec 作者:by sunflover 版本:2015.2 自己收集的一些常用函数,方便写补丁。 @备注: 自己收集的一些常用函数 ------------------------------ .版本 2 .子程序 Ansi2Unicode, 字节集, 公开, 将Ansi码转换为Unicode码 (返回转换后的字节集) .参数 Ansi, 文本型, , 欲转换的Ansi文本 .子程序 AntiDebug, 逻辑型, 公开, 这个没啥用,效果差;可放在程序运行的第一个函数 被调试返回真 .子程序 AntiODMenu, 逻辑型, 公开, 这个效果较好,推荐用这个;找到OD相关句柄返回真, 此函数枚举窗口通过菜单名来 判定是否OD窗口。 .子程序 AntiStrongOD, 逻辑型, 公开, 这个效果还行,检测带有驱动的 OD调试器 此函数专门对付 StrongOD 插件 .参数 判断OD运行状态, 逻辑型, 可空, 此参数作用: 发现OD驱动时 —是否检测OD运行状态作为返回值基础 ,默认判断运行状态 .子程序 Bin2Dec, 整数型, 公开, 字节集到整数 .参数 Bin, 字节集 .子程序 Bin2Hex, 文本型, 公开, 字节集到十六进制文本 .参数 字节集, 字节集 .子程序 Bin2Hex1, 文本型, 公开, 文本型->文本型 .参数 Bin, 文本型 .子程序 BinXor, 字节集, 公开, 字节集异或 .参数 需异或的字节集, 字节集, , 返回的字节集 .参数 参与异或的字节集, 字节集 .子程序 Dec2Hex, 文本型, 公开, 十到十六 .参数 十进制转换数据, 长整数型 .子程序 GetAPIAddress, 整数型, 公开, 失败返回0 .参数 模块名, 文本型, , 如"user32.dll","kernel32.dll" .参数 API, 文本型, , 如“CreateWindowExA” .子程序 Hex2Bin, 字节集, 公开, 十六进制文本到字节集 .参数 原文, 文本型 .子程序 Hex2Bin1, 文本型, 公开, 文本型->文本型 .参数 Hex, 文本型 .子程序 Hex2Dec, 整数型, 公开, 十六到十 .参数 十六进制转换数据, 文本型 .子程序 InjectDll, 逻辑型, 公开, 向目标进程中注入一个指定 Dll 模块文件;注入成功返回 true, 注入失败则返回 false,CreateRemoteThread法 .参数 进程ID, 整数型, , 进程PID .参数 DLL文件名, 文本型, , 欲注入的DLL名称 .子程序 InjectDLL1, 逻辑型, 公开, SuspendThread,shellcode,SetEip .参数 PID, 整数型 .参数 DLL路径, 文本型 .子程序 InjectDLL2, 逻辑型, 公开, code cave,与InjectDLL1同 .参数 进程ID, 整数型 .参数 DLL文件名, 文本型 .子程序 inline_patch, 逻辑型, 公开, 失败返回假,成功返回真;适合patch尚未运行的加壳或不加壳的可执行文件 .参数 文件名, 文本型, , 文件全路径 .参数 模块名, 文本型, , 如"user32.dll" .参数 API, 文本型, , 如“CreateWindowExA” .参数 地址, 整数型, , 如Hex2Dec (“00401000”) .参数 数据, 字节集, , 如 Hex2Bin (“90909090”) .子程序 inline_patch_Pro, 逻辑型, 公开, 失败返回假,成功返回真;适合patch尚未运行的加壳不加壳的可执行文件,需要补丁的数据较多时建议使用这个,在子程序中打补丁 .参数 文件名, 文本型, , 文件全路径 .参数 模块名, 文本型, , 如"user32.dll" .参数 API, 文本型, , 如“CreateWindowExA” .参数 子程序指针, 子程序指针, , 如&子程序1 .子程序 inline_patch_Pro1, 逻辑型, 公开, 失败返回假,成功返回真;适合patch尚未运行的加壳或不加壳的可执行文件,解码时机判断是选用VirtualProtect;如果壳检测到了,自行换用inline_patch或inline_patch_Pro .参数 文件名, 文本型, , 文件全路径 .参数 子程序指针, 子程序指针, , 如&子程序1 .参数 地址, 整数型, 可空, 如Hex2Dec (“00401000”),用来判断是否解码完成;如果没壳,就空着 .子程序 inline_patch1, 逻辑型, 公开, patch尚未运行的,没加壳的程序,并运行它 .参数 文件名, 文本型, , 文件全路径 .参数 地址, 整数型, , 如Hex2Dec (“00401000”) .参数 数据, 字节集, , 如 Hex2Bin (“90909090”) .子程序 InlinePatch, 逻辑型, 公开, 失败返回假,成功返回真;适合patch尚未运行的加壳不加壳的可执行文件,需要补丁的数据较多时建议使用这个,在子程序中打补丁 .参数 文件名, 文本型, , 文件全路径,如"D:\test.exe" .参数 运行参数, 文本型, 可空, 可空,没有参数则留空,大多数情况没有参数;有参数时填写,如"-s" .参数 模块名, 文本型, , 如"user32.dll" .参数 API, 文本型, , 如“CreateWindowExA” .参数 API中断次数, 整数型, 可空, 可空,有些时候需要计次,根据需要填写;一般留空即可,留空表示中断第一次,就开始补丁 .参数 补丁子程序, 子程序指针, , 如&子程序1 .参数 寄存器结构体, context_, 参考 可空, 可空,CONTEXT,返回寄存器结构体,方便写补丁函数;这个属于高级功能,看不懂的话就留空吧 .参数 进程信息结构体, PROCESS_INFORMATION, 参考 可空, 可空,PROCESS_INFORMATION,返回进程信息结构体,方便写补丁函数;这个属于高级功能,看不懂的话就留空吧 .子程序 OpenProcessPro, 整数型, 公开, 返回句柄权限是完全访问 .参数 PID, 整数型 .子程序 OpenThreadPro, 整数型, 公开, 返回句柄权限是完全访问 .参数 进程ID, 整数型 .子程序 Unicode2Ansi, 文本型, 公开, 将Unicode码转换为Ansi码 (返回转换后的文本) .参数 Unicode, 字节集, , 欲转换的Unicode字节集 .子程序 UnInjectDLL1, 逻辑型, 公开, SuspendThread,shellcode,SetEip .参数 PID, 整数型 .参数 DLL路径, 文本型 .子程序 UnInjectDLL2, 逻辑型, 公开, 远程时钟卸载dll .参数 参数_窗口句柄, 整数型, , FindWindow(字符 (0),“计算器”) .参数 参数_DLL路径, 文本型, , '可以是DLL全路径也可以只是DLL名称 .子程序 超级延时, , 公开, 高精度延时,cpu占用低,窗口不卡死,一次最大可延时几年 (无返回值) .参数 延时间隔, 整数型, , 1000微秒 = 1毫秒 ; 1000毫秒 = 1秒 .参数 延时单位, 整数型, 可空, 可空:毫秒 0 毫秒 1 微秒 2 秒 3 分 4 小时 5 天 .子程序 打开保存文件对话框, 文本型, 公开, 未提示 是否有重复的文件存在 自己注意一下 .参数 窗口句柄, 整数型, 可空, 调用处窗口句柄 .参数 窗口标题, 文本型, 可空, 对话框窗口标题 .参数 过滤器, 文本型, 可空, 格式:“MP3文件(*.mp3)|*.mp3|媒体文件(*.mpg)|*.mpg” .参数 初始路径, 文本型, 可空, 可以被省略。如果本参数被省略,默认从“我的文档”开始。否则,请给出盘符,如“d:” .子程序 打开多文件对话框, 文本型, 公开, 如果多选文件,返回文件路径以“;”(半角分号)分隔。失败或取消返回空文本。 .参数 窗口句柄, 整数型, 可空, 调用处窗口句柄 .参数 窗口标题, 文本型, 可空, 对话框窗口标题 .参数 过滤器, 文本型, 可空, 格式:“MP3文件(*.mp3)|*.mp3|媒体文件(*.mpg)|*.mpg” .参数 初始路径, 文本型, 可空, 可以被省略。如果本参数被省略,默认从“我的文档”开始。否则,请给出盘符,如“d:” .参数 窗口风格, 整数型, 可空, 可以被省略。如果本参数被省略,默认为 0 。位置值从 0 开始。从0-11之间,可以设置多种窗口风格。0.工具栏、只读选择框-未选中;1.工具栏、只读选择框-选中;2.工具栏;3.工具栏、只读选择框-未选中,帮助按钮;4.工具栏、只读选择框-选中,帮助按钮;5.工具栏,帮助按钮;6.普通风格、只读选择框-未选中;7.普通风格、只读选择框-选中;8.普通风格;9.普通风格、只读选择框-未选中,帮助按钮;10.普通风格、只读选择框-选中,帮助按钮;11.普通风格、帮助按钮。 .子程序 读内存字节集, 字节集, 公开, 从内存中读取字节集数据(返回字节集,失败返回0字节长度的空字节集) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 长度, 整数型, , 欲读取内存数据的长度 .子程序 复制文件夹, 逻辑型, 公开, 可复制文件,也可复制目录。成功返回真,失败返回假。 .参数 被复制的文件或目录, 文本型 .参数 复制到的位置, 文本型 .子程序 恢复进程, 逻辑型, 公开 .参数 PID, 整数型 .子程序 结束进程, 逻辑型, 公开 .参数 进程ID, 整数型 .子程序 进程取ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回空信息) .参数 进程名, 文本型, , 程序进程名(不区分大小写!) .子程序 进程是否存在1, 逻辑型, 公开 .参数 进程ID, 整数型 .子程序 进程是否存在2, 逻辑型, 公开 .参数 进程名, 文本型 .子程序 蓝屏, , 公开, 惩罚破解者函数 。 在确定当前程序被调试后 可使用此函数让系统蓝屏。 慎重使用! .子程序 内存补丁, 逻辑型, 公开, 根据进程名补丁内存,patch已经运行的可执行文件 .参数 进程名, 文本型, , '完整的文件名,注意大小写 .参数 地址, 文本型, , 需patch地址,如“00401000” .参数 代码, 文本型, , 被替换的代码,如“90909090” .子程序 内存补丁1, 逻辑型, 公开, 根据进程ID补丁内存,patch已经运行的可执行文件 .参数 进程ID, 整数型, , 要补丁的进程ID .参数 地址, 文本型, , 需patch地址,如“00401000” .参数 代码, 文本型, , 被替换的代码,如“90909090” .子程序 内存搜索, 整数型, 公开, 某些情况,需提升权限(返回结果数目,失败返回0),返回搜索到的数目 .参数 进程ID, 整数型, , 进程ID .参数 搜索内容, 字节集, , 欲搜索的内容 其他类型-需自行转换为字节集类型 .参数 结果数组, 整数型, 参考 数组, 用来保存搜索的结果 .子程序 取汇编指令长度, 整数型, 公开, 返回指定进程指定地址处的首条汇编指令的长度。注:计算方法使用的是LDX32 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 指令地址,如Hex2Dec("00401000") .子程序 取寄存器值, 文本型, 公开, 适用于明码读码,运行到地址处读真码;如 取寄存器值(文件名,"user32.dll",“CreateWindowExA”,Hex2Dec (“00401000”),“Eax”) .参数 文件名, 文本型, , 文件全路径 .参数 模块名, 文本型, , 如"user32.dll" .参数 API, 文本型, , 如“CreateWindowExA”,这里主要为了解码时机 .参数 地址, 整数型, , 如Hex2Dec (“00401000”) .参数 寄存器, 文本型, , 可选Dr0-Dr7,Eax,Ecx,Ebx,Edx,Ebp,Esp,Eip,Edi,Esi,SegGs,SegFs,SegEs,SegDs,SegCs,EFlags,Esp,SegSs .子程序 取进程主线程, 整数型, 公开, 失败返回0 .参数 进程ID, 整数型 .子程序 取路径目录, 文本型, 公开, 返回一个文件所在目录,如"C:\Program Files\WinRAR\WinRAR.exe",返回"C:\Program Files\WinRAR" .参数 路径, 文本型, , 如"C:\Program Files\WinRAR\WinRAR.exe" .子程序 取路径文件名, 文本型, 公开, 根据文件路径获取文件名 .参数 路径, 文本型, , 文件完整路径 .子程序 取线程起始地址, 整数型, 公开, 失败返回0 .参数 参数_dwThreadId, 整数型 .子程序 去除空格, 文本型, 公开 .参数 文本, 文本型 .子程序 设置颜色对话框, 逻辑型, 公开, 例如:如果真 (设置颜色对话框 (取窗口句柄 (), j));编辑框1.文本颜色 = 到整数 (j)。 .参数 窗口句柄, 整数型 .参数 返回_颜色, 文本型, , 返回的颜色~~需要传回整数 .子程序 申请内存Pro, 整数型, 公开, 成功返回申请的首地址,失败返回0;申请的内存可读可写可执行 .参数 进程ID, 整数型, , .参数 申请内存大小, 整数型 .子程序 释放内存Pro, 逻辑型, 公开 .参数 进程ID, 整数型, , .参数 内存地址, 整数型 .子程序 特征码模糊搜索, 整数型, 公开, 最多支持三段通配符如“68 00 00 00 40 ?? ?? ?? ?? ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 12 34 ?? ?? ?? ?? 85 69” .参数 进程ID, 整数型, , 进程ID .参数 特征码, 文本型, , 十六进制文本,如“68 00 00 00 40 ?? ?? ?? ?? ?? ?? ?? ?? 50 E8” .参数 结果数组, 整数型, 参考 数组, 用来保存搜索的结果 .参数 偏移, 整数型, 可空, 默认为0 .参数 起始地址, 文本型, 可空, 默认为“00400000” .参数 结束地址, 文本型, 可空, 默认为“00800000” .子程序 提升进程权限, 逻辑型, 公开 .参数 目标进程, 整数型, 可空 .参数 权限类别, 文本型, 可空, 默认为“SeDebugPrivilege”;可选“SeDebugPrivilege”,“SeShutdownPrivilege”,“SeRestorePrivilege”,“SeBackupPrivilege” .子程序 写内存字节集, 逻辑型, 公开, 往内存中写入字节集数据(成功返回真,失败返回假);注:内部有VirtualProtectEx处理 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 数据, 字节集, , 写入数据 如果为其它数据类型,可以用 到字节集() 将数据转换为字节集 .参数 写入长度, 整数型, 可空, 默认为全部数据,(参考: 1字节型 2短整数型 4长整数型,小数型,指针 8长整数型,双精度小数型,日期时间型) .子程序 移动文件夹, 逻辑型, 公开, 可移动文件,也可移动目录。成功返回真,失败返回假。 .参数 被移动的文件或目录, 文本型 .参数 移动到的位置, 文本型 .子程序 隐藏进程, 逻辑型, 公开, hide.dll,会被误报,大家看着处理 .参数 进程ID, 整数型 .子程序 暂停进程, 逻辑型, 公开 .参数 PID, 整数型 .子程序 终止进程Pro, , 公开, 终止进程,终止所有指定进程 .参数 进程名, 文本型, , 程序进程名(不区分大小写!) .子程序 终止线程, 逻辑型, 公开, 成功返回真 失败返回假 .参数 参数_线程ID, 整数型 .数据类型 context_, 公开, 公开 .成员 ContextFlags, 整数型 .成员 Dr0, 整数型 .成员 Dr1, 整数型 .成员 Dr2, 整数型 .成员 Dr3, 整数型 .成员 Dr4, 整数型 .成员 Dr5, 整数型 .成员 Dr6, 整数型 .成员 Dr7, 整数型 .成员 ControlWord, 整数型 .成员 StatusWord, 整数型 .成员 TagWord, 整数型 .成员 ErrorOffset, 整数型 .成员 ErrorSelector, 整数型 .成员 DataOffset, 整数型 .成员 DataSelector, 整数型 .成员 RegisterArea, 字节型, , "72" .成员 Cr0NpxState, 整数型 .成员 SegGs, 整数型 .成员 SegFs, 整数型 .成员 SegEs, 整数型 .成员 SegDs, 整数型 .成员 Edi, 整数型 .成员 Esi, 整数型 .成员 Ebx, 整数型 .成员 Edx, 整数型 .成员 Ecx, 整数型 .成员 Eax, 整数型 .成员 Ebp, 整数型 .成员 Eip, 整数型 .成员 SegCs, 整数型 .成员 EFlags, 整数型 .成员 Esp, 整数型 .成员 SegSs, 整数型 .成员 reserve, 字节型, , "512" .数据类型 FLOATING_SAVE_AREA, 公开 .成员 ControlWord, 整数型 .成员 StatusWord, 整数型 .成员 TagWord, 整数型 .成员 ErrorOffset, 整数型 .成员 ErrorSelector, 整数型 .成员 DataOffset, 整数型, , , ; .成员 DataSelector, 整数型 .成员 RegisterArea, 字节型, , "80" .成员 Cr0NpxState, 整数型 .数据类型 LuID, 公开 .成员 lowpart, 整数型 .成员 highpart, 整数型 .数据类型 MEMORY_BASIC_INFORMATION, 公开 .成员 BaseAddress, 整数型 .成员 AllocationBase, 整数型 .成员 AllocattionProtect, 整数型 .成员 RegionSize, 整数型 .成员 State, 整数型 .成员 Protect, 整数型 .成员 Type, 整数型 .数据类型 MODULEENTRY32, 公开, MODULEENTRY32 .成员 dwSize, 整数型, , , dwSize .成员 th32ModuleID, 整数型, , , th32ModuleID .成员 th32ProcessID, 整数型, , , th32ProcessID .成员 GlblcntUsage, 整数型, , , GlblcntUsage .成员 ProccntUsage, 整数型, , , ProccntUsage .成员 modBaseAddr, 整数型, , , modBaseAddr .成员 modBaseSize, 整数型, , , modBaseSize .成员 hModule, 整数型, , , hModule .成员 szModule, 字节型, , "256", 模块名称 .成员 szExePath, 字节型, , "260", 文件路径 .数据类型 PROCESS_BASIC_INFORMATION, 公开 .成员 ExitStatus, 整数型 .成员 PebBaseAddress, 整数型 .成员 AffinityMask, 整数型 .成员 BasePriority, 整数型 .成员 UniqueProcessId, 整数型 .成员 InheritedFromUniqueProcessId, 整数型 .数据类型 PROCESS_INFORMATION, 公开 .成员 hProcess, 整数型 .成员 hThread, 整数型 .成员 dwProcessId, 整数型 .成员 dwThreadId, 整数型 .数据类型 SECURITY_ATTRIBUTES, 公开, , SECURITY_ATTRIBUTES .成员 nLength, 整数型 .成员 lpSecurityDescriptor, 整数型 .成员 bInheritHandle, 整数型 .数据类型 SHFILEOPSTRUCT, 公开 .成员 句柄, 整数型 .成员 wFunc, 整数型 .成员 pFrom, 字节集 .成员 pTo, 字节集 .成员 fFlags, 短整数型 .成员 fAnyOperationsAborted, 整数型 .成员 hNameMappings, 整数型 .成员 lpszProgressTitle, 文本型 .数据类型 STARTUPINFO, 公开 .成员 cb, 整数型 .成员 lpReserved, 文本型 .成员 lpDesktop, 文本型 .成员 lpTitle, 文本型 .成员 dwX, 整数型 .成员 dwY, 整数型 .成员 dwXSize, 整数型 .成员 dwYSize, 整数型 .成员 dwXCountChars, 整数型 .成员 dwYCountChars, 整数型 .成员 dwFillAttribute, 整数型 .成员 dwFlags, 整数型 .成员 wShowWindow, 短整数型 .成员 cbReserved2, 短整数型 .成员 lpReserved2, 整数型 .成员 hStdInput, 整数型 .成员 hStdOutput, 整数型 .成员 hStdError, 整数型 .数据类型 STARTUPINFO1, 公开 .成员 cb, 整数型 .成员 lpReserved, 整数型 .成员 lpDesktop, 整数型 .成员 lpTitle, 整数型 .成员 dwX, 整数型 .成员 dwY, 整数型 .成员 dwXSize, 整数型 .成员 dwYSize, 整数型 .成员 dwXCountChars, 整数型 .成员 dwYCountChars, 整数型 .成员 dwFillAttribute, 整数型 .成员 dwFlags, 整数型 .成员 wShowWindow, 短整数型 .成员 cbReserved2, 短整数型 .成员 lpReserved2, 字节型 .成员 hStdInput, 整数型 .成员 hStdOutput, 整数型 .成员 hStdError, 整数型 .数据类型 THREADENTRY32, 公开 .成员 dwsize, 整数型 .成员 cntUsage, 整数型 .成员 th32ThreadID, 整数型 .成员 th32OwnerProcessID, 整数型 .成员 tpBasePri, 长整数型 .成员 tpDeltaPri, 长整数型 .成员 dwFlags, 整数型 .数据类型 窗口句柄类, 公开 .成员 句柄, 整数型 .成员 标题, 文本型 .成员 类名, 文本型 .数据类型 打开文件名, 公开, OPENFILENAME .成员 结构大小, 整数型, , , lStructSize .成员 窗口句柄, 整数型, , , hwndOwner .成员 实例句柄, 整数型, , , hInstance .成员 过滤器, 字节集, , , lpstrFilter .成员 自定义过滤器, 文本型, , , lpstrCustomFilter .成员 自定义过滤器最大长度, 整数型, , , nMaxCustFilter .成员 过滤器索引, 整数型, , , nFilterIndex .成员 文件名, 字节集, , , lpstrFile .成员 文件名最大长度, 整数型, , , nMaxFile .成员 文件标题, 文本型, , , lpstrFileTitle .成员 文件标题最大长度, 整数型, , , nMaxFileTitle .成员 初始目录, 文本型, , , lpstrInitialDir .成员 标题, 文本型, , , lpstrTitle .成员 标志, 整数型, , , flags .成员 文件偏移量, 整数型, , , nFileOffset .成员 文件扩展名, 整数型, , , nFileExtension .成员 默认扩展名, 文本型, , , lpstrDefExt .成员 自定义数据, 整数型, , , lCustData .成员 回调函数地址, 整数型, , , lpfnHook .成员 模板名, 文本型, , , lpTemplateName .数据类型 函数信息, 公开 .成员 模块索引, 整数型 .成员 ThunkRav, 文本型 .成员 Thunk偏移, 文本型 .成员 Thunk值, 文本型 .成员 序数, 文本型 .成员 名称, 文本型 .数据类型 寄存器, 公开 .成员 标记, 整数型 .成员 dr0, 整数型 .成员 dr1, 整数型 .成员 dr2, 整数型 .成员 dr3, 整数型 .成员 dr6, 整数型 .成员 dr7, 整数型 .成员 FloatSave, FLOATING_SAVE_AREA .成员 seggs, 整数型 .成员 segfs, 整数型 .成员 seges, 整数型 .成员 segds, 整数型 .成员 edi, 整数型 .成员 esi, 整数型 .成员 ebx, 整数型 .成员 edx, 整数型 .成员 ecx, 整数型 .成员 eax, 整数型 .成员 ebp, 整数型 .成员 eip, 整数型 .成员 SegCs, 整数型 .成员 eflags, 整数型 .成员 esp, 整数型 .成员 SegSs, 整数型 .数据类型 进程信息, 公开, 进程信息 .成员 dwSize, 整数型 .成员 cntUsage, 整数型 .成员 进程ID, 整数型 .成员 th32DefaultHeapID, 整数型 .成员 th32ModuleID, 整数型 .成员 cntThreads, 整数型 .成员 th32ParentProcessID, 整数型 .成员 pcPriClassBase, 整数型 .成员 dwFlags, 整数型 .成员 进程名称, 字节型, , "256" .数据类型 逻辑字体, 公开, $(a)LOGFONT .成员 高度, 整数型, , , lfHeight .成员 宽度, 整数型, , , lfWidth .成员 控制摆, 整数型, , , lfEscapement .成员 定方位, 整数型, , , lfOrientation .成员 加粗, 整数型, , , lfWeight .成员 斜体, 字节型, , , lfItalic .成员 下划线, 字节型, , , lfUnderline .成员 删除线, 字节型, , , lfStrikeOut .成员 零碎工作组合, 字节型, , , lfCharSet .成员 出自精确, 字节型, , , lfOutPrecision .成员 修剪精确, 字节型, , , lfClipPrecision .成员 性质, 字节型, , , lfQuality .成员 间距, 字节型, , , lfPitchAndFamily .成员 字体名称, 字节型, , "32", 用LF_FACESIZE,lfFaceName? .数据类型 色盒, 公开 .成员 lStructsize, 整数型 .成员 hwndOwner, 整数型 .成员 hInstance, 整数型 .成员 rgbResult, 整数型 .成员 lpCustColors, 文本型, , , 可以指定16个数组,也可以不用指定,但无论用否,必须传址 .成员 flags, 整数型 .成员 lCustData, 整数型 .成员 lpfnHook, 子程序指针 .成员 lpTemplateName, 文本型 .数据类型 设定执行文件信息, 公开, SHELLEXECUTEINFO .成员 结构大小, 整数型, , , cbSize .成员 标志, 整数型, , , fMask .成员 窗口句柄, 整数型, , , hwnd .成员 操作命令, 文本型, , , lpVerb .成员 文件名, 文本型, , , lpFile .成员 应用程序参数, 文本型, , , lpParameters .成员 目录, 文本型, , , lpDirectory .成员 显示标志, 整数型, , , nShow .成员 实例句柄, 整数型, , , hInstApp .成员 项目标识符列表结构指针, 整数型, , , lpIDList .成员 文件类别, 文本型, , , lpClass .成员 热键句柄, 整数型, , , hkeyClass .成员 热键, 整数型, , , dwHotKey .成员 图标句柄, 整数型, , , hIcon .成员 进程句柄, 整数型, , , hProcess .数据类型 文件夹信息, 公开, BROWSEINFO .成员 窗口句柄, 整数型, , , hOwner .成员 根目录, 整数型, , , pidlRoot .成员 显示名称, 文本型, , , pszDisplayName .成员 标题, 文本型, , , lpszTitle .成员 标志, 整数型, , , ulFlags .成员 回调函数地址, 整数型, , , lpfn .成员 回调函数参数, 整数型, , , lParam .成员 图像索引, 整数型, , , iImage .数据类型 项目标识符列表, 公开, ITEMIDLIST .成员 结构大小, 整数型, , , cb .成员 标识符长度, 字节型, , "255", abID .数据类型 选择字体, 公开, CHOOSEFONT .成员 结构大小, 整数型, , , lStructSize .成员 窗口句柄, 整数型, , , hwndOwner,caller's window handle .成员 设备场景句柄, 整数型, , , hDC,printer DC/IC or NULL .成员 字体结构指针, 整数型, , , lpLogFont‘ptr. to a LOGFONT struct .成员 点大小, 整数型, , , iPointSize,10 * size in points of selected font .成员 标志, 整数型, , , flags,enum. type flags .成员 颜色值, 整数型, , , rgbColors,returned text color .成员 自定义数据, 整数型, , , lCustData,data passed to hook fn. .成员 回调函数地址, 整数型, , , lpfnHook,ptr. to hook function .成员 模板名称, 文本型, , , lpTemplateName,custom template name .成员 实例句柄, 整数型, , , hInstance,instance handle of.EXE that contains cust. dlg. template .成员 字体风格, 文本型, , , lpszStyle,return the style field here must be LF_FACESIZE(32) or bigger .成员 字体类型, 短整数型, , , nFontType,same value reported to the EnumFonts,call back with the extra FONTTYPE_ bits added .成员 空白队列, 短整数型 .成员 最小尺寸, 整数型 .成员 最大尺寸, 整数型 .数据类型 字体信息, 公开 .成员 名称, 文本型 .成员 大小, 整数型 .成员 颜色, 整数型 .成员 类型, 整数型 .成员 斜体, 整数型 .成员 下划线, 整数型 .程序集 IATHOOK类, , 公开 .子程序 APIAddr, 整数型, 公开, '此方法放在IATHOOK后调用方可成功,失败返回0 .子程序 IATHook, 逻辑型, 公开, 完事后注意调用IATUnHook .参数 进程ID, 整数型, 可空, '为空表示自身进程 .参数 模块名, 文本型, , 需加后缀,如“user32.dll” .参数 函数名, 文本型, , 注意大小写,如“MessageBoxA” .参数 新地址, 整数型, , 到整数 (&HookCallBack) .子程序 IATUnHook, 逻辑型, 公开, 与IATHOOK参数完全相同 .参数 进程ID, 整数型, 可空, 为空表示本进程 .参数 模块名, 文本型, , 需加后缀,如“user32.dll” .参数 函数名, 文本型, , 注意大小写,如“MessageBoxA” .参数 地址, 整数型, , 与IATHOOK最后一个参数相同 .程序集 PE类, , 公开, 获取可执行程序入口点,附加数据; .子程序 GetEntryPoint, 整数型, 公开, 获取的是OEP,即EP+imagebase .参数 全文件路径, 文本型, , 要处理的文件全路径 .子程序 overlay, 字节集, 公开, 获取PE文件的附加数据 .参数 全文件路径, 文本型, , 要处理的文件全路径 .程序集 超级解压类, , 公开, 调用7z解压文件,支持7z,zip,rar等压缩文件的带密码解压 .子程序 超级解压, 逻辑型, 公开, 解压压缩文件,支持rar,zip,7z等等压缩文件的解压,支持带密码解压 .参数 待解压文件, 文本型, , 欲解压的文件的全路径 .参数 解压到的目录, 文本型, , 欲解压到的路径 .参数 解压密码, 文本型, 可空, 解压所用密码,没有密码就不填 .程序集 汇编类, , 公开, 用于辅助生成shellcode,返回值都是字节集 .子程序 add_eax_char, 字节集, 公开, 占用3个字节,char值在0-127之间,返回汇编指令对应的字节集 .参数 char, 字节型, , add eax,1,参数为1,注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 add_eax_Num, 字节集, 公开, 占用5个字节,返回汇编指令对应的字节集 .参数 Num, 整数型, , add eax,8,参数为8,注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 add_esp_char, 字节集, 公开, 占用3个字节,char值在0-127之间,返回汇编指令对应的字节集 .参数 char, 字节型, , add esp,8,参数为8,注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 call, 字节集, 公开, 占用5个字节,call转换,返回汇编指令对应的字节集,此处为十进制,想用16进制,请自行转换;示例:call (Hex2Dec (“402000”), Hex2Dec (“401000”)) .参数 call到的地址, 整数型, , 00401000 call 00402000,参数为00402000 .参数 call所在的地址, 整数型, , 00401000 call 00402000,参数为00401000 .子程序 call_API, 字节集, 公开, 占用5个字节,如00401000 call MessageBoxA .参数 call所在地址, 整数型, , 自行转换,Hex2Dec("00401000") .参数 lpProcName, 文本型, , 如MessageBoxA .参数 hModule, 文本型, , 如user32.dll .子程序 call_API_FF15, 字节集, 公开, 占用6个字节,如00401000 call MessageBoxA .参数 lpProcName, 文本型, , 如MessageBoxA .参数 hModule, 文本型, , 如user32.dll .子程序 call_eax, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 call_FF15, 字节集, 公开, 占用6个字节,call转换,返回汇编指令对应的字节集,此处为十进制,想用16进制,请自行转换;示例:call (Hex2Dec (“402000”)) .参数 call到的地址, 整数型, , 00401000 call 00402000,参数为00402000 .子程序 jmp, 字节集, 公开, 占用5个字节,jmp转换,返回汇编指令对应的字节集,此处为十进制,想用16进制,请自行转换;jmp (Hex2Dec (“402000”), Hex2Dec (“401000”)) .参数 jmp_to, 整数型, , 00401000 jmp 00402000,参数为00402000 .参数 jmp_from, 整数型, , 00401000 jmp 00402000,参数为00401000 .子程序 jmp_FF25, 字节集, 公开, 占用6个字节,jmp转换,返回汇编指令对应的字节集,此处为十进制,想用16进制,请自行转换;jmp (Hex2Dec (“402000”)) .参数 jmp_to, 整数型, , 00401000 jmp 00402000,参数为00402000 .子程序 mov_eax_Num, 字节集, 公开, 占用5个字节,返回汇编指令对应的字节集 .参数 Num, 整数型, , 自己注意进制,mov eax,401000,参数为Hex2Dec(“401000”) .子程序 nop, 字节集, 公开, 占用个字节,返回汇编指令对应的字节集 .子程序 popad, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 popfd, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_char, 字节集, 公开, 占用2个字节,char值在0-127之间,返回汇编指令对应的字节集 .参数 char, 字节型, , push 8,参数为8,注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 push_eax, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_ebp, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_ebx, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_ecx, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_edi, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_edx, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_esi, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_esp, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 push_Num, 字节集, 公开, 占用5个字节,返回汇编指令对应的字节集 .参数 Num, 整数型, , push 401000,参数为Hex2Dec(401000),注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 pushad, 字节集, 公开, 占用1个字节,将通用寄存器的内容压入堆栈;返回汇编指令对应的字节集 .子程序 pushfd, 字节集, 公开, 占用1个字节,本指令可以把标志寄存器的内容保存到堆栈中去;返回汇编指令对应的字节集 .子程序 retn, 字节集, 公开, 占用1个字节,返回汇编指令对应的字节集 .子程序 retn_n, 字节集, 公开, 占用3个字节,返回汇编指令对应的字节集 .参数 n, 短整数型, , retn 3,参数填3,注意进制;16进制,请用Hex2Dec(Hex)转换 .子程序 xor_eax_eax, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 xor_ebx_ebx, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 xor_ecx_ecx, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 xor_edi_edi, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 xor_edx_edx, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .子程序 xor_esi_esi, 字节集, 公开, 占用2个字节,返回汇编指令对应的字节集 .程序集 内存DLL注入类, , 公开, 可能还有点问题 .子程序 取DLL函数地址, 整数型, 公开, 返回已经注入到指定进程内的DLL的函数地址。失败返回0。 .参数 DLL函数名, 文本型, , 区分大小写。 .子程序 是否已注入, 逻辑型, 公开, 已注入返回真,未注入返回假。 .子程序 卸载DLL, 逻辑型, 公开, 卸载已经注入的内存中的DLL,成功返回真,失败返回假.(最好不要卸载,卸载的话被注入的进程很容易崩溃) .子程序 执行DLL函数, 整数型, 公开, 执行已经注入到指定进程内的DLL的函数,成功返回所执行的函数的地址,失败返回0。 .参数 DLL函数名, 文本型, , 区分大小写。 .参数 等待函数执行完毕, 逻辑型, 可空, 默认为假,为真则函数执行完毕后本函数才返回。 .参数 返回值, 整数型, 参考 可空, 如果上一个参数为真,则可提供一个变量保存被执行的DLL函数的返回值。 .参数 线程句柄, 整数型, 参考 可空, 可提供变量保存函数执行线程的句柄,不需要请留空.接收了句柄记得不用时要关闭. .参数 参数1, 整数型, 可空, 可提供给被执行函数最多10个参数(理论上支持无限个,自己看着改吧)不需要的请留空。 .参数 参数2, 整数型, 可空, 非整数型参数需传递变量的内存数据指针,该指针必须是在目标进程内的。 .参数 参数3, 整数型, 可空, 提供的参数请与所执行的函数的参数个数一致,否则被注入的进程绝对会崩溃! .参数 参数4, 整数型, 可空 .参数 参数5, 整数型, 可空 .参数 参数6, 整数型, 可空 .参数 参数7, 整数型, 可空 .参数 参数8, 整数型, 可空 .参数 参数9, 整数型, 可空 .参数 参数10, 整数型, 可空 .子程序 注入DLL, 整数型, 公开, 成功返回DLL的模块句柄,失败或已注入返回0。 .参数 进程句柄, 整数型, , 句柄必须拥有对被注入进程的完全操作权限。注入后如果没有其他用处可以关闭该句柄。 .参数 DLL数据, 字节集 .程序集 取机器码类, , 公开, 获取硬件信息,硬盘等等 .子程序 取3段机器码, 文本型, 公开, 获取3段32位机器码,如1111111111-2222222222-3333333333 .参数 bios, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .参数 HardDisk, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .参数 MAC, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .子程序 取4段机器码, 文本型, 公开, 获取4段23位机器码,如11111-22222-33333-44444 .参数 bios, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .参数 HardDisk, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .参数 Video, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .参数 MAC, 逻辑型, 可空, 填 假 表示此段全为0,可空,默认为真 .DLL命令 _窗口是否可见, 整数型, "user32", "IsWindowVisible", 公开, 判断窗口是否可见 如窗口可见则返回TRUE(非零) .参数 窗口句柄, 整数型, , 要测试的那个窗口的句柄 .DLL命令 AdjustTokenPrivileges, 逻辑型, "advapi32.dll", "AdjustTokenPrivileges", 公开 .参数 TokenHandle, 整数型 .参数 DisableAllPrivileges, 整数型 .参数 NewState, , 传址 .参数 BufferLength, 整数型 .参数 PreviousState, , 传址 .参数 ReturnLength, 整数型, 传址 .DLL命令 API_IsDebuggerPresent, 整数型, "kernel32.dll", "IsDebuggerPresent", 公开 .DLL命令 CallNextHookEx, 整数型, "user32.dll", "CallNextHookEx", 公开 .参数 hhk, 整数型, , 钩子句柄 .参数 nCode, 整数型, , 钩子类型 .参数 wParam, 整数型 .参数 LPARAM, 整数型 .DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle", 公开, 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError .参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄; .DLL命令 CreateFileA, 整数型, "kernel32.dll", "CreateFileA", 公开, , 成功返回文件句柄,失败返回0 .参数 打开文件名, 文本型, , lpFileName,要打开的文件的名字 .参数 访问权限, 整数型, , dwDesiredAccess,访问权限 .参数 共享方式, 整数型, , dwShareMode,共享方式 .参数 安全特性, SECURITY_ATTRIBUTES, 传址, lpSecurityAttributes,安全特性信息 .参数 创建方式, 整数型, , dwCreationDisposition,创建方式 .参数 文件属性, 整数型, , dwFlagsAndAttributes,参见相关帮助 .参数 从文件复制文件属性, 整数型, , hTemplateFile,参见相关帮助 .DLL命令 CreateProcess, 整数型, "kernel32.dll", "CreateProcessA", 公开, CreateProcess(编辑框1.内容, “”, 0, 0, 0, 4, 0, 取运行目录(), si, pi) .参数 lpApplicationName, 文本型 .参数 lpCommandLine, 文本型 .参数 lpProcessAttributes, 整数型 .参数 lpThreadAttributes, 整数型 .参数 bInheritHandles, 整数型 .参数 dwCreationFlags, 整数型, , 0正常,4挂起,3调试,6调试挂起 .参数 lpEnvironment, 整数型 .参数 lpCurrentDriectory, 文本型 .参数 lpStartupInfo, STARTUPINFO, 传址 .参数 lpProcessInformation, PROCESS_INFORMATION, 传址 .DLL命令 CreateRemoteThread, 整数型, "kernel32", "CreateRemoteThread", 公开, 在另一进程中建立线索 .参数 hProcess, 整数型 .参数 lpThreadAttributes, 整数型 .参数 dwStackSize, 整数型 .参数 lpStartAddress, 整数型 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型 .参数 lpThreadId, 整数型, 传址 .DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32.dll", "CreateToolhelp32Snapshot", 公开, 返回快照后的句柄 .参数 快照标志, 整数型, , 进程=15,线程=4,DLL=8,堆= .参数 进程标识符, 整数型, , lProcessID 欲照快照的进程标识符 .DLL命令 DuplicateHandle, 整数型, "kernel32", "DuplicateHandle", 公开, 复制对象句柄 .参数 hSourceProcessHandle, 整数型 .参数 hSourceHandle, 整数型 .参数 hTargetProcessHandle, 整数型 .参数 lpTargetHandle, 整数型, 传址 .参数 dwDesiredAccess, 整数型 .参数 bInheritHandle, 整数型 .参数 dwOptions, 整数型 .DLL命令 ExitProcess, 整数型, "kernel32.dll", "ExitProcess", 公开, , .参数 进程句柄, 整数型, , 填0即可 .DLL命令 FindWindow, 整数型, "user32.dll", "FindWindowA", 公开, FindWindow,寻找窗口列表中第一个符合指定条件的顶级窗口 .参数 窗口类名, 文本型, , lpClassName,参见相关帮助,字符 (0) .参数 窗口文本, 文本型, , lpWindowName,参见相关帮助 .DLL命令 GetClassName, 整数型, "user32.dll", "GetClassNameA", 公开, 为指定的窗口取得类名 以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError .参数 句柄, 整数型, , 欲获得类名的那个窗口的句柄 .参数 文本, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符 .参数 文本长度, 整数型, , 由lpClassName提供的缓冲区长度; .DLL命令 GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess", 公开 .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId", 公开 .DLL命令 GetExitCodeThread, 整数型, , "GetExitCodeThread", 公开, 取线程返回值 .参数 hThread, 整数型 .参数 lpExitCode, 整数型, 传址 .DLL命令 GetModuleHandleA, 整数型, "kernel32.dll", "GetModuleHandleA", 公开, , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError .参数 lpModuleName, 文本型, , lpModuleName,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD .DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress", 公开, , .参数 hModule, 整数型, , hModule .参数 lpProcName, 文本型, , lpProcName .DLL命令 GetThreadContext, 逻辑型, "kernel32", "GetThreadContext", 公开 .参数 hThreadId, 整数型 .参数 线程环境, context_ .DLL命令 GetThreadContext1, 逻辑型, "kernel32", "GetThreadContext", 公开 .参数 线程句柄, 整数型 .参数 寄存器, 寄存器 .DLL命令 GetWindow, 整数型, "user32", "GetWindow", 公开, 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError .参数 源窗口, 整数型, , 源窗口 .参数 关系, 整数型, , 指定结果窗口与源窗口的关系,它们建立在下述常数基础上:;GW_CHILD:寻找源窗口的第一个子窗口;GW_HWNDFIRST:为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口;GW_HWNDLAST:为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口;GW_HWNDNEXT:为源窗口寻找下一个兄弟窗口;GW_HWNDPREV:为源窗口寻找前一个兄弟窗口;GW_OWNER:寻找窗口的所有者; .DLL命令 GetWindowText, 整数型, "user32.dll", "GetWindowTextA", 公开, 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError .参数 句柄, 整数型, , 欲获取文字的那个窗口的句柄 .参数 文本, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入 .参数 文本长度, 整数型, , lp缓冲区的长度; .DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA", 公开, 调查窗口标题文字或控件内容的长短(在vb里使用:直接使用vb窗体或控件的caption或text属性) 字串长度,不包括空中止字符 .参数 hwnd, 整数型, , 想调查文字长度的窗口的句柄; .DLL命令 GetWindowThreadProcessId, 整数型, "user32.dll", "GetWindowThreadProcessId", 公开, GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符 .参数 窗口句柄, 整数型, , hwnd,指定窗口句柄 .参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符 .DLL命令 KillTimer, 整数型, "user32.dll", "KillTimer", 公开 .参数 窗口句柄, 整数型, , hwnd .参数 事件标识符, 整数型, , nIDEvent .DLL命令 LoadLibraryA, 整数型, "kernel32.dll", "LoadLibraryA", 公开, , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间 .参数 动态链接库名称, 文本型, , lpLibFileName,指定要载入的动态链接库的名称 .DLL命令 LookupPrivilegeValueA, 逻辑型, "advapi32.dll", "LookupPrivilegeValueA", 公开 .参数 lpSystemName, 文本型 .参数 lpName, 文本型 .参数 lpLuid, LuID, 传址 .DLL命令 Module32First, 整数型, "kernel32.dll", "Module32First", 公开 .参数 hSnapshot, 整数型, , hSnapshot .参数 模块进程结构, MODULEENTRY32, 传址 .DLL命令 Module32Next, 整数型, "kernel32.dll", "Module32Next", 公开 .参数 hSnapshot, 整数型, , hSnapshot .参数 模块进程结构, MODULEENTRY32, 传址 .DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess", 公开, kernel32.dll .参数 访问级别, 整数型, , 2035711完全访问 .参数 子进程继承, 逻辑型, , 0为子进程继承 .参数 进程ID, 整数型, , 要打开的进程标识 .DLL命令 OpenProcessToken, 整数型, "advapi32.dll", "OpenProcessToken", 公开 .参数 ProcessHandle, 整数型 .参数 DesiredAccess, 整数型 .参数 TokenHandle, 整数型, 传址 .DLL命令 OpenThread, 整数型, "kernel32.dll", "OpenThread", 公开 .参数 dwDesiredAccess, 整数型 .参数 bInheritHandle, 逻辑型 .参数 dwThreadId, 整数型 .DLL命令 Process32First, 整数型, "kernel32.dll", "Process32First", 公开, 取进程快照第一个进程信息返回内存指针 .参数 快照句柄, 整数型 .参数 进程信息, 进程信息 .DLL命令 Process32Next, 整数型, "kernel32.dll", "Process32Next", 公开 .参数 快照句柄, 整数型 .参数 进程信息, 进程信息 .DLL命令 ReadProcessMemory, 整数型, "kernel32.dll", "ReadProcessMemory", 公开, 在进程中读内存数据 地址1048576 .参数 进程句柄, 整数型, , 欲读取的进程句柄(可用OpenProcess函数得到) .参数 地址, 整数型, , 读取的起始地址 .参数 返回内容, 字节集, 传址, 返回的数据,其类型可设为整数、文本和字节集 .参数 长度, 整数型, , 一次读取的字节长度(读取的字节数4) .参数 实际长度, 整数型, 传址, 实际读取的字节长度 .DLL命令 RegOpenKeyExA, 整数型, , "RegOpenKeyExA", 公开, 打开注册表项 .参数 hKey, 整数型 .参数 lpSubKey, 文本型 .参数 ulOptions, 整数型 .参数 samDesired, 整数型 .参数 phkResult, 整数型, 传址 .DLL命令 ResumeThread, 整数型, "kernel32.dll", "ResumeThread", 公开, 开始暂停的线程 .参数 线程句柄, 整数型 .DLL命令 RtlMoveMemory, 整数型, , "RtlMoveMemory", 公开 .参数 lpvDest, 整数型, 传址 .参数 lpvSource, 整数型 .参数 cbCopy, 整数型 .DLL命令 SetThreadContext, 逻辑型, "kernel32", "SetThreadContext", 公开 .参数 hThreadId, 整数型 .参数 线程环境, context_ .DLL命令 SetThreadContext1, 逻辑型, "kernel32", "SetThreadContext", 公开 .参数 线程句柄, 整数型 .参数 寄存器, 寄存器 .DLL命令 SetTimer, 整数型, "user32.dll", "SetTimer", 公开 .参数 窗口句柄, 整数型, , hwnd .参数 事件标识符, 整数型, , nIDEvent .参数 时钟周期, 整数型, , uElapse .参数 回调函数地址, 整数型, , lpTimerFunc .DLL命令 SetWindowsHookEx, 整数型, "user32.dll", "SetWindowsHookExA", 公开 .参数 钩子类型, 整数型 .参数 处理函数入口, 整数型 .参数 函数所在模块, 整数型 .参数 目标线程ID, 整数型 .DLL命令 SHFileOperation, 整数型, "Shell32.dll", "SHFileOperationA", 公开 .参数 文件参数, SHFILEOPSTRUCT .DLL命令 SuspendThread, 整数型, , "SuspendThread", 公开 .参数 线程句柄, 整数型 .DLL命令 TerminateProcess, 整数型, "kernel32.dll", "TerminateProcess", 公开, 成功返回非零 .参数 进程句柄, 整数型 .参数 退出代码, 整数型, , 传入0 .DLL命令 TerminateThread, 逻辑型, "kernel32", "TerminateThread", 公开 .参数 hThread, 整数型 .参数 dwExitCode, 整数型 .DLL命令 Thread32First, 逻辑型, "kernel32.dll", "Thread32First", 公开 .参数 hSnapshot, 整数型 .参数 lpte, THREADENTRY32, 传址 .DLL命令 Thread32Next, 逻辑型, "kernel32.dll", "Thread32Next", 公开 .参数 hSnapshot, 整数型 .参数 lpte, THREADENTRY32, 传址 .DLL命令 VirtualAllocEx, 整数型, "kernel32.dll", "VirtualAllocEx", 公开, 成功返回分配内存的首地址,失败返回0 .参数 hProcess, 整数型, , 申请内存所在的进程句柄 .参数 lpAddress, 整数型, , 填0 .参数 dwSize, 整数型, , 欲分配的内存大小 .参数 flAllocationType, 整数型, , 填4096,MEM_COMMI .参数 flProtect, 整数型, , 填64,可读可写,可执行 .DLL命令 VirtualFreeEx, 整数型, "kernel32.dll", "VirtualFreeEx", 公开 .参数 hProcess, 整数型 .参数 lpAddress, 整数型 .参数 dwSize, 整数型, , 填0 .参数 dwFreeType, 整数型, , 填32768 .DLL命令 VirtualProtect, 整数型, "kernel32.dll", "VirtualProtect", 公开, 成功返回非0,失败返回0 .参数 起始地址, 整数型, , lpAddress .参数 长度, 整数型, , dwSize .参数 新保护权限, 整数型, , 可读写权限(PAGE_READWRITE)=4;PAGE_EXECUTE_READWRITE=64 .参数 旧保护权限, 整数型, 传址, 保存旧属性的结构变量地址 .DLL命令 VirtualProtectEx, 整数型, "kernel32.dll", "VirtualProtectEx", 公开, 成功返回非0,失败返回0 .参数 hprocess, 整数型, , 要修改内存的进程句柄 .参数 起始地址, 整数型, , lpAddress .参数 长度, 整数型, , dwSize .参数 新保护权限, 整数型, , 可读写权限(PAGE_READWRITE)=4 .参数 旧保护权限, 整数型, 传址, 保存旧属性的结构变量地址 .DLL命令 VirtualQueryEx, 整数型, "kernel32.dll", "VirtualQueryEx", 公开 .参数 hProcess, 整数型 .参数 lpAddress, 整数型 .参数 info, MEMORY_BASIC_INFORMATION, 传址 .参数 dwLength, 整数型 .DLL命令 VMProtectBegin, , "VMProtectSDK32.lib", "_VMProtectBegin@4", 公开, 功能:设置开始标记 .参数 MarkerName, 文本型, 传址, 标记名 .DLL命令 VMProtectBeginMutation, , "VMProtectSDK32.lib", "_VMProtectBeginMutation@4", 公开, 功能:设置[变异]标记 .参数 MarkerName, 文本型, 传址, 标记名 .DLL命令 VMProtectBeginUltra, , "VMProtectSDK32.lib", "_VMProtectBeginUltra@4", 公开, 功能:设置[虚拟+变异]标记 .参数 MarkerName, 文本型, 传址 .DLL命令 VMProtectBeginUltraLockByKey, , "VMProtectSDK32.lib", "_VMProtectBeginUltraLockByKey@4", 公开 .参数 MarkerName, 文本型, 传址, 标记名 .DLL命令 VMProtectBeginVirtualization, , "VMProtectSDK32.lib", "_VMProtectBeginVirtualization@4", 公开, 功能:设置[虚拟]标记 .参数 MarkerName, 文本型, 传址, 标记名 .DLL命令 VMProtectBeginVirtualizationLockByKey, , "VMProtectSDK32.lib", "_VMProtectBeginVirtualizationLockByKey@4", 公开 .参数 MarkerName, 文本型, 传址 .DLL命令 VMProtectDecryptStringA, 整数型, "VMProtectSDK32.lib", "_VMProtectDecryptStringA@4", 公开, 功能:加密Ansi字符串常量,返回加密后的字符串指针 .参数 char, 文本型, 传址, 提供Ansi字符串常量 .DLL命令 VMProtectDecryptStringW, 整数型, "VMProtectSDK32.lib", "_VMProtectDecryptStringW@4", 公开, 功能:加Unicode字符串,返回加密后的字符串指针 .参数 wchar_t, 文本型, 传址, 提供Unicode字符串常量 .DLL命令 VMProtectEnd, , "VMProtectSDK32.lib", "_VMProtectEnd@0", 公开, 功能:设置与虚拟/变异等功能配对的结束标记 .DLL命令 VMProtectIsDebuggerPresent, 逻辑型, "VMProtectSDK32.lib", "_VMProtectIsDebuggerPresent@4", 公开, 功能:检测调试器是否存在 .参数 CheckKernelMode, 逻辑型, , 是否检测KernelMode调试器.为假,则检测user-mode调试器,例如OllyDBG, WinDBG等..为真,则同时检测user-mode和KernelMode(包括SoftICE, Syser等...)调试器, .DLL命令 VMProtectIsValidImageCRC, 逻辑型, "VMProtectSDK32.lib", "_VMProtectIsValidImageCRC@0", 公开, 功能:检测程序内存没有没有被改变 .DLL命令 VMProtectIsVirtualMachinePresent, 逻辑型, "VMProtectSDK32.lib", "_VMProtectIsVirtualMachinePresent@0", 公开, 功能:检测程序是否运行在虚拟机,比如VMware, Virtual PC, VirtualBox, Sandboxie等... .DLL命令 WaitForSingleObject, 整数型, "kernel32.dll", "WaitForSingleObject", 公开 .参数 hHandle, 整数型 .参数 dwMilliseconds, 整数型, , 填-1 .DLL命令 WriteProcessMemory, 逻辑型, "kernel32.dll", "WriteProcessMemory", 公开 .参数 进程句柄, 整数型 .参数 开始写入进址, 整数型, , 内存地址 .参数 写入数值数据, 字节集, 传址, 数据指针 .参数 写入长度, 整数型, , 长度 .参数 实际写入长度, 整数型, , 实际写出长度0 .DLL命令 取文本指针, 整数型, "kernel32", "lstrcpyn", 公开, 感谢海洋老师的例程 .参数 变量, , 传址, 一定要传址 .参数 变量, , 传址, 一定要传址.重复一次,骗骗Windows:) .参数 保留, 整数型, , 0 .图片 SE_PROTECT_END, 公开, 置入代码 (#SE_PROTECT_END)'结束标记 .图片 SE_PROTECT_START, 公开, 置入代码 (#SE_PROTECT_START)'默认保护 .图片 SE_PROTECT_START_MUTATION, 公开, 置入代码 (#SE_PROTECT_START_MUTATION)'乱序变形 .图片 SE_PROTECT_START_ULTRA, 公开, 置入代码 (#SE_PROTECT_START_ULTRA)'乱序+虚拟 .图片 SE_PROTECT_START_VIRTUALIZATION, 公开, 置入代码 (#SE_PROTECT_START_VIRTUALIZATION)'虚拟 .图片 SE_UNPROTECT_END, 公开, 置入代码 (#SE_UNPROTECT_END)'屏蔽特定代码的乱序和混淆 .图片 SE_UNPROTECT_START, 公开, 置入代码 (#SE_UNPROTECT_START)'屏蔽特定代码的乱序和混淆 .图片 VMProtect_Begin, 公开, 置入代码 (#VMProtect_Begin) 'VMP保护开始标志 .图片 VMProtect_End, 公开, 置入代码 (#VMProtect_End) 'VMP保护结束标志
软件名称:眼睛卫士 3.21 Final 软件作者:邓语晨 , DUX 授权性质:免费 发布日期:2007.11.30 软件介绍: 眼睛卫士为长期在电脑前工作的人设计:每隔一段时间,强迫您休息几分钟。眼睛卫士锁屏功能强大,不想休息都不行!眼睛卫士自我保护意识强,没有管理密码,不想用都不行! 眼睛卫士同时还是一款非常好用的定时关机软件,不但提供了常见的定时关机功能,而且提供了新颖的闲置关机功能:在您有事离开电脑而又忘记关闭电脑时,眼睛卫士会体贴的按您设定的时限自动为您关机。 眼睛卫士是一款绿色软件,无须安装,无须卸载。 快捷键: Ctrl+Shift+Alt+A 调出右键菜单 Ctrl+Shift+Alt+Z 定义事件提醒 Ctrl+Shift+Alt+X 关闭显示器 Ctrl+Shift+Alt+S 关机菜单 保证:本软件永久免费,无病毒,无木马,无恶意代码,无广告,无网络垃圾! 声明:我们不对您在使用眼睛卫士后造成的任何直接或间接损失承担任何责任! MD5: EyeGuard.exe 371caa55b75043368b1e97d154cb2fd9 EyeGuardHook.dll 3798bedfe87ee678b064a9130f9e67bf 主要功能: ⒈ 强制保护眼睛视力 ⒉ 定时关机、闲置关机、快速关机 ⒊ 定时提醒、临时提醒 ⒋ 保护液晶显示器 ⒌ 持续低网速执行关机 ⒍ 指定时间禁止使用计算机 ⒎ 无管理密码,很难禁用,很难退出 ⒏ 每天累积计时、每天限时 ⒐ 智能初始化,智能跟踪 ⒑ 循环播放MP3,wav,midi音乐 特别说明: 眼睛卫士3.21基于眼睛卫士3.x之前版本修改而来,由于眼睛卫士3.01源码丢失,导致眼睛卫士停止升级达1年之久。由于很多朋友要求升级眼睛卫士,才促使了该版本的诞生。 常见问题: ---------------------------------------------- ⒈ 问:左下角图标不见了怎么办? 答:通过快捷键 Ctrl+Shift+Alt+A 显示右键菜单,后进入设置并选择显示图标。 ⒉ 问:为什么卡巴斯基6.0会报警? 答:因为眼睛卫士默认使用双进程守护功能。所以会在眼睛卫士目录下生成一隐藏兼系统属性的ProcEGuard.exe程序。此程序无任何恶意代码,目的仅为了守护眼睛卫士进程,免得用户强行结束眼睛卫士进程。 ⒊ 问:用户可能会通过别的方式结束眼睛卫士进程,怎么办? 答:您可以设置用户权限,把这些用户设置在user用户组里。这样该用户就没有办法结束眼睛卫士进程了。 ⒋ 问:万一忘记密码,进不去眼睛卫士,怎么办? 答:您可以在开机时按住F8,进入安全模式,再删除眼睛卫士配置文件即可。但如选择禁止进入安全模式,则勿请牢记密码! ⒌ 问:我设置了指定时间禁止使用计算机,但我用管理密码取消关机后,该功能失效了? 答:使用管理密码取消后,则该功能暂停使用,直到用户注销(或重启、或休眠、或重新设置禁用时段)后才重新生效。 ⒍ 问:为什么使用眼睛卫士后,我不能再更改系统时间了? 答:眼睛卫士禁止修改系统时间,您可以让眼睛卫士失效或退出眼睛卫士后再修改。 ⒎ 问:智能跟踪(1)和智能跟踪(2)的区别? 答:智能跟踪(1)自2.5版起更改了算法,准确可靠,无鼠标滞后感,但只适合Win2000及以上系统。智能跟踪(2)有鼠标滞后感,但适用Win98及以上系统。请根据操作系统进行选择。 ⒏ 问:定时关机和闲置关机,我只想要其中一个功能,怎么办? 答:当定时关机的分钟数设置为 9 时将禁用定时关机功能,当闲置关机分钟数设置为 99 时将禁用闲置关机功能。 ⒐ 问:当强制休息而被锁屏时,我因事急需使用电脑,怎么办? 答:用户在强制休息后有一次暂时中断锁屏的机会。通过快捷键Ctrl+Shift+Alt+Z,可暂停锁屏3分钟,3分钟之后将会继续提示休息。 ⒑ 问:持续低网速关机功能,为何无法保存? 答:是特意设计成不保存的。此功能生效后,临时关机功能将暂停使用,直到此功能失效。 ⒒ 问:我想在休息时播放多首音乐? 答:设置休息时运行Winamp等音乐播放程序,并设置好自动循环播放。 ⒓ 问:我想控制自己对电脑的使用,而我又知道管理密码,怎么办? 答:设置一个自己也不知道或输入过程很麻烦的密码...^-^ ---------------------------------------------- v3.21 Final by 语晨 用VS2005重新建立工程编译,解决没有VC8环境时无法启动 v3.2 Final by 语晨 改用VS2005编译,从优化大小改为优化速度 取消禁止更改时间功能 解决托盘菜单同时弹出系统菜单的问题 修正锁屏后三处严重的资源泄露 修正注册表操作时一处资源泄露 完善休息时任务栏的锁定与恢复 v3.01 Final by 语晨 修正锁定后休眠,重启时无法初始化。 修正暂停锁定后休息时间初始化错误。 修正锁定过程中休眠,重启又休眠。 v3.0 Final by 语晨 新增禁止进入安全模式功能。 新增禁止删除启动项选项。 新增 Ctrl+Shift+Alt+S 关机菜单。 新增提示窗、锁屏后恢复之前窗口焦点。 新增锁屏后自动关闭计算机。 新增持续低网速指定时间关机。 新增无密码也可进入设置。 新增防结束进程树功能。 新增休息时运行Winamp播音乐。 修正自动关机设置错误。 取消锁屏时关闭显示器(快捷键代之)。 完善自动关闭显示器的智能判断。 完善设置功能及一些细节。 v2.5.0.0 by 语晨 新增指定时间段禁止使用计算机功能。 新增 Ctrl+Shift+Alt+X 关闭显示器功能。 新增自定义锁屏文字功能。 新增禁止修改系统时间功能。 新增强制休息时禁用屏保功能。 新增闲置指定时间自动关闭显示器功能。 新增休息过程中暂停锁屏3分钟功能。 新增锁屏时关闭显示器功能。 解决提示信息时原窗口失去焦点问题。 解决音乐无法循环播放的问题。 更改智能跟踪(1)的算法:准确可靠。 更改智能跟踪五分钟为智能跟踪指定休息时间。 修正一处严重的资源泄露(强烈建议弃用之前版本)。 修正多用户下眼睛卫士无法正常工作的问题。 修正资源崩溃导致的菜单变黑问题。 修正强杀进程后导致的相关锁定。 完善关机或休眠后初始化的智能判断。 完善锁定前的提示方式。 完善定时提醒功能。 取消隐藏进程功能。 v2.3 by 语晨 完善双进程保护功能。 完善每天限时功能。 修正休息时偶尔无法锁定的问题。 v2.2.1 by 语晨 修正休眠时的一个判断错误。 修正锁定后键盘依然可以正常输入问题。 修正因预防用户修改时间导致的判断错误。 v2.2 by 语晨 修正关机或休眠10分钟后的初始化问题。 修正无管理密码也可“ALT+F4”退出的问题。 修正更改日期可躲避每天限时问题。 修正每天限定时间初始化错误。 美化强制休息时的锁定界面。 优化文件大小:压缩后仅20K。 新增右键菜单提醒项及快捷键。 v2.1 SP1 by 语晨 修正了休息进度条结束时的死循环。 定时与闲置关机取消时不再需要密码。 v2.1.0.6 by 语晨 新增定时事件提醒和临时事件提醒功能。 新增限制每天累积工作时间的功能。 新增休息结束后暂停计时,直到用户回来。 进一步优化内存占用,减小到400K左右。 修正配置文件被意外改写的问题。 修正定时休眠十分钟以上无法初始化计时。 修正提醒窗口有时无法最前显示的问题。 修改快捷键Ctrl+Shift+Alt+Z为定义提醒。 v2.0.0.0 by 语晨 新增避免强行退出功能:双进程守护。 新增游戏,视频全屏模式时暂停计时功能。 新增智能跟踪方式二:运行稳定,无鼠标滞后感。 新增定时休眠和闲置休眠功能。 新增关机(休眠)十分钟以上则重新计时的功能。 新增定时(闲置)关机(休眠)前一分钟倒计时功能。 新增闲置关机在全屏模式下自动失效的功能。 新增休息结束后锁定计算机的功能。 新增全屏模式下,100分钟后自动关机功能。 新增屏幕保护判断,全屏判断更准确。 新增显隐托盘图标开关。 新增快捷键,以打开菜单或进入设置。 新增隐藏进程开关。 修正拦截关机消息时的返回值错误。 修正隐藏进程后定时关机时的可能蓝屏。 修正XP下无法隐藏进程的问题。 修正闲置关机功能的计时准确性。 修正各提示窗口不能最前显示的问题。 修正配置文件被意外修改后导致的崩溃问题。 优化内存占用,从之前的2.8MB减少到现在的0.8MB。 改进算法,优化系统资源占用。 改进:屏保或全屏时不再出现提示信息。 v1.5.0.0 by 语晨 新增:工作时间累积功能,避免通过重启的方式躲避规定的休息时间。 新增:闲置关机功能。用户离开电脑后指定时间,自动关机。 修正:双击状态栏眼睛卫士图标时,再现双对话框的问题。 完善:智能跟踪功能,进一步减轻了鼠标滞后感。 v1.3.0.0 by DUX 在设置对话框取消播放音乐后,锁定时仍然播放音乐的问题解决。 锁定时按Alt+F4会关闭程序的问题已经解决。 v1.2.0.0 by DUX 在win98和winme中开启自动跟踪失败时,工作时间始终为0的问题已经更改。 进入设置或者退出时,需要输入密码,便于管理。 在任务管理器中隐藏进程。 添加整点报时功能。 v1.1.2.0 by DUX 鼠标移动到右下角的眼睛卫士图标上时,提示信息中含有当前已经工作时间,还有多少时间开始锁定。 v1.1 by DUX 原程序运行时需要探测鼠标和键盘,导致有些其他程序响应缓慢。在系统设置中添加一个选项,用户可以指定打开或者关闭智能跟踪功能。 v1.04 by DUX 播放音乐文件使用MCIWndPlay函数,更加稳定。 更正了突然断电情况下,再启动机器时任务管理器不能使用的BUG(只需要启动眼睛卫士即可还原)。 v1.03 by DUX 更改了程序图标,更加拟人化。 更正了即使没有选择定时自动关机,到时候也自动关机的漏洞。 锁定时可以播放MP3,wav,midi等音乐文件。 v1.02 by DUX 修改了低分辨率下锁定屏幕时最后一行字显示不全问题。 在锁定时可以播放音乐(*.wav)。 左键单击查看上次休息后连续工作时间,或者每过半小时滚动出现一窗口提示已经连续工作时间。 v1.01 by DUX 可以设置自动随系统启动而运行,不必用户自己在“开始”-“程序”-“启动”中添加该程序。 增加了自动关机功能,可以在指定的时间自动关机。 ---------------------------------------------- 欢迎使用,有问题敬请反馈和建议。 ---------------------------------------------- 作者:邓语晨 主页: http://www.qpsoft.com 反馈:http://www.qpsoft.com/blog/eyeguard 邮件: support@qpsoft.com ---------------------------------------------- 原作者: DUX 主页: http://duxxp.blogchina.com ---------------------------------------------- 在此特别感谢用户:coul, bnm_1203, zbsina, zzq, qhw, sdjz(郭先生), 张宽敞, 肖桂明, 蔡先体, Jason, 杨仁勇, bazheng2005, 周煜明, west99999, Sun Bo, zzz, Ke Xianbin, rendong, wyj, 黄翔, tomy8888, 杨明, 焦晓冬, Li changzhong, Kevin Lee, 查皮, 佐佐, qihi, 麦精, 随风, rock, stephen, 哈木瓜, 贝贝丹, sz7898988, naval, breezie, xianguang 等对该软件提出的使用反馈和建议,你们的支持是我们工作的最大动力!
McAfee(R) VirusScan(R) Enterprise 8.0i 版 发行说明 Copyright (C) 2004 Networks Associates Technology, Inc. 保留所有权利 ==================================================================== - DAT 版本: 4382 - 引擎版本: 4.3.20 ==================================================================== 感谢您使用 VirusScan Enterprise 软件。 本文件包含有关这一版本的重 要信息。我们强烈建议您阅读整篇文档。 重要信息: McAfee 不支持软件预发布版本的自动升级功能。要升级为正式产品,必 须首先卸载现有版本的软件。 _____________________________________________________________________ 本文件包含的内容 - 新功能 - 更改的功能 - 安装和系统要求 - 测试安装 - 已解决的问题 - 已知问题 - 安装、升级和卸载 - 与其他产品的兼容性 - Alert Manager (TM) - Common Management Agent - ePolicy Orchestrator(R) - GroupShield(TM) - ProtectionPilot(TM) - 第三方软件 - 访问保护 - 增添文件类型扩展名 - AutoUpdate - 缓冲区溢出保护 - 日志文件格式 - Lotus Notes - 镜像任务 - 扫描 - 有害程序策略 - 文档 - 参与 McAfee 测试程序的测试 - 联系信息 - 版权和商标归属 - 许可和专利信息 __________________________________________________________________ 新功能 本版本 VirusScan Enterprise 提供以下几种新功能,这些功能可以有助于 防止入侵,并更有效地检测入侵: - 产品版本号 新版本为 8.0i。 产品版本号已经从 7.1 更改为 8.0,这一更改反映了自上次发布以来产 品内部功能的重大更改。 有关详细信息,请参阅以下"新功能"和"更改 的功能"部分。 产品版本号增加"i"表示 McAfee VirusScan Enterprise 是全球第 一款提供主动式入侵防护系统 (IPS) 保护能力的防病毒产品。这些 IPS 功能是由 McAfee Entercept 的"缓冲区溢出保护"功能提供的, McAfee Entercept 是我们的主机入侵防护安全产品。 - 访问保护。 通过此功能您可以限制对端口、文件、共享资源和文件夹的访问,从而防止 入侵。 通过创建规则指定要阻挡的端口以及是否限制对入站或出站进程的访问,可 以阻挡端口。如果您希望允许一个特定进程或一组进程访问准备阻挡的端口, 也可以从规则中排除这些进程。 阻挡端口时,即同时阻挡 TCP 和 UDP 访问。 您可以通过将共享资源设置为只读或阻止对所有共享资源的读取和写入,限 制对共享资源的访问。 您可以通过创建规则阻挡文件和文件夹,规则指定禁止对您定义的文件或文 件夹进行访问的进程、禁止的文件操作以及在某人尝试访问阻挡的项目时应 采取的操作。 这些"访问保护"功能在防范入侵时非常有效。在病毒发作时,管理员可以 阻止对感染病毒区域的访问,直到发布新的 DAT。 注: 如果您阻挡 ePolicy Orchestrator 代理或 Entercept 代理 使用的端口,则代理的进程受到过滤器信任,可以与被阻挡的端口进 行通讯。但是,与这些代理进程无关的通讯将被阻挡。 本版 VirusScan Enterprise 提供了一些端口阻挡规则样本、文件和 文件夹阻挡规则样本。 默认安装本产品时,这些规则中有些会处于警告模 式,而有些则处于阻挡模式。 警告: 虽然采用这些规则的目的是防范各种常见的威胁,但是,也会阻挡合 法的活动。在部署 VirusScan Enterprise 之前,我们建议您查 看一下这些规则,确保它们适合于您的网络环境。 需要考虑的事项: - 白名单。每条端口阻挡规则均包括一些排除在阻挡范围之外的应用程 序。这些列表一般包含多数最常见的电子邮件客户端和 web 浏览器。 请务必查看每个列表,确保其中包含允许发送电子邮件和下载文件 的所有程序。将这些程序列入白名单,确保这些程序不被阻挡。 - 对网络上发生的文件系统活动的阻挡。 某些规则(例如,"禁止远程 创建/修改/删除文件(.exe)")对于阻止自身从一个共享资源复制 到另一个共享资源的病毒非常有效。但是,它们也可能会阻挡那些依 靠将文件推入工作站进行工作的管理系统。例如,在 ePolicy Orchestrator 服务器部署代理时,就是将代理安装程序推送到工 作站的管理共享资源上并运行该程序。在部署之前,请确保为每个规 则选择正确的模式(关闭、警告或阻挡)。 McAfee Installation Designer 可以用于配置 VirusScan 部 署软件包。 警告: 默认规则无法为您的网络环境提供全面的保护。 您所需的限制取决于 您的环境。我们提供的规则的目在于通过示例说明该功能的作用以及 如何利用规则防止某些特定的威胁。 发现新的威胁时,病毒信息库将向您提供建议,告诉您如何利用访问 保护规则阻挡这些新威胁。请访问以下位置的病毒信息库: http://vil.mcafee.com - 源 IP (按访问扫描)。 按访问扫描程序检测到写入共享文件的病毒时,它会在按访问扫描统计信息 对话框和按访问扫描信息对话框中显示检测到的病毒的源 IP 地址。 - 阻挡(按访问扫描)。 使用此功能可以阻挡在共享文件夹中放置了含有已感染病毒文件的远程计 算机的进一步访问。您可以指定阻挡这些连接的时间长短。如果您希望在指 定的时间限制之前取消阻挡所有的连接,您可以在按访问扫描统计对话框中 进行此操作。 - 缓冲区溢出保护。 "缓冲区溢出保护"可以阻止利用缓冲区溢出在计算机上执行代码。此功能 会检测到从堆栈中的数据开始运行的代码,并阻止该代码运行。但是,此功 能不阻止数据写入堆栈。即使"缓冲区溢出保护"功能会阻止受到利用的代 码运行,也不要指望受到利用的应用程序仍然会保持稳定。 VirusScan Enterprise 为大约 30 种最常用且最容易受利用的软件应用程 序及微软 Windows 服务提供缓冲区溢出保护。这些受保护的应用程序在一 个单独的缓冲区溢出保护特征码文件中定义。此 DAT 文件在常规更新期间 随病毒特征码文件一起下载。到本产品发布之日为止,缓冲区溢出保护码文 件中包括以下应用程序: - dllhost.exe - EventParser.exe - excel.exe - explorer.exe - frameworkservice.exe - ftp.exe - iexplore.exe - inetinfo.exe - lsass.exe - mapisp32.exe - mplayer2.exe - msaccess.exe - msimn.exe - mstask.exe - msmsgs.exe - NaimServ.exe - Naprdmgr.exe - Outlook.exe - powerpnt.exe - rpcss.exe - services.exe - sqlservr.exe - SrvMon.exe - svchost.exe - visio32.exe - VSEBOTest.exe - w3wp.exe - winword.exe - wmplayer.exe - wuauclt.exe 缓冲区溢出保护定义文件更新时,此列表也会进行相应的更改。 - 有害程序策略。 使用此功能可以检测到有害程序(例如, Jspyware、adware、dialers、 jokes 等),并对其执行相应的操作。 您可以从当前 -.DAT 文件的预定义列表中选择程序所有类别或这些类别 中的特定程序。也可以添加自己的程序进行检测。 配置分两步进行: - 首先,在"有害程序策略"中配置要检测的程序。默认情况下,此策 略在每个扫描程序属性页中是启用的。 - 其次,逐一配置每个扫描程序(按访问扫描程序、按需扫描程序和电 子邮件扫描程序),并指定在检测到有害程序时扫描程序要执行的操 作。在此处指定的操作与其他扫描设置无关。 对有害程序的实际检测和随后的清除均由 -.DAT 文件决定,正如对病毒 的处理一样。如果检测到有害程序且主要操作设置为"清除",则 -.DAT 文 件会尝试使用 -.DAT 文件中的信息对程序进行清除操作。如果无法清除 检测到的程序,或者不在 -.DAT 文件中(例如用户定义的程序),则清 除操作会失败,并转而执行辅助操作。如果您选择"删除"操作,则仅删除 定义为有害的程序,而遭到修改的注册表键可能会保持不变。 - 脚本扫描(按访问扫描)。 使用此功能可以在执行 JavaScript 和 VBScript 脚本之前对其进行 扫描。脚本扫描程序能够象真正的 Windows 脚本主机组件的代理组件一 样运行。它可以阻止脚本(例如 Internet Explorer 网页脚本)的执 行并对其进行扫描。如果脚本不含有病毒,则将其传送给真正的主机。如果 脚本已感染病毒,则不执行脚本。 - Lotus Notes(电子邮件扫描)。 除基于 MAPI 的电子邮件(例如,Microsoft Outlook)之外,电子邮 件传递扫描程序和按需电子邮件扫描程序现在均扫描 Lotus Notes 邮件 和数据库。 您可以配置一系列属性,应用于所安装的任何电子邮件客户端。 客户端扫描程序具有不同的特点,在《产品指南》的"电子邮件扫描"部分 有此方面的介绍。例如,Microsoft Outlook 邮件在传递时扫描,而 Lotus Notes 邮件则在访问时扫描。 - 选择性更新 (AutoUpdate)。 在 VirusScan 控制台中使用 AutoUpdate 任务有选择地仅更新 DAT 文 件、扫描引擎、产品升级、HotFix、补丁程序或 Service Pack 等。 如果您通过 ePolicy Orchestrator 管理 VirusScan Enterprise, 则只有 ePolicy Orchestrator 3.5 或更高版本才提供此选择性更新 功能。早期版本的 ePolicy Orchestrator 不支持此功能。 - Alert Manager 本地警报。 无需本地安装 Alert Manager 服务器,即可生成 SNMP 陷阱和本地事 件日志条目。 - 修复安装。 通过 VirusScan 控制台"帮助"菜单中的新菜单项,您可以修复安装。 您可以选择将产品恢复为原始安装设置,或重新安装程序文件。 用户必须具有管理权限才能执行这些功能。 管理员可以对此功能进行保护, 即在"用户界面选项"的"密码选项"对话框中为其设置密码。 警告: 将产品恢复为原始安装设置时,自定义的设置会丢失。 重新安装程序文件时,将覆盖 HotFix、补丁程序和 Service Pack。 - 错误报告服务。 错误报告服务启用后,可以提供对 Network Associates 应用程序的持 续后台监控功能,并在检测到问题时提示用户。检测到错误时,用户可以选 择提交数据进行分析或忽略该错误。在 VirusScan 控制台的"工具"中 启用"错误报告服务"。 ______________________________________________________________________ 更改的功能 自上次发布 VirusScan Enterprise 以来,以下功能已发生更改: - 每天更新 (AutoUpdate)。 默认 AutoUpdate 任务时间安排已经从每周更改为每天。当然,管理员 可以修改该时间安排。 - 默认下载站点 (AutoUpdate)。 执行 AutoUpdate 时,现在默认的下载站点为 HTTP 站点,FTP 站点 作为辅助站点。 有关详细说明,请参阅《VirusScan Enterprise 产 品指南》。 - 系统使用率(按需扫描)。 CPU 使用率已更改为系统使用率。 按需扫描启动后,该功能会采集最初 30 秒钟内的 CPU 和 IO 样本,然后根据您在按需扫描属性中指定的使用率 水平进行扫描。这样更为符合实际需要,我们可以根据 CPU 和 IO 的使 用率平衡利用 CPU 和磁盘资源。 - 可恢复的扫描。 经过更改后,按需扫描程序可以执行真正的可恢复扫描。如果在完成扫描之 前中断扫描,则扫描程序会从扫描中断处自动恢复扫描。扫描程序的增量扫 描功能能够识别上一次扫描的文件,因此下次扫描启动时,可以从中断处恢 复扫描。 - 压缩文件扫描。 本版本从扫描选项中删除了"扫描压缩的文件"选项,因为该功能已经在每 种扫描程序中永久性启用了。扫描程序始终会扫描压缩文件。 ______________________________________________________________________ 安装和系统要求 有关安装和系统要求的完整信息,请参阅产品文档。 测试安装 您可以通过在已经安装本软件的任何计算机上运行 EICAR 标准防病毒测试文件, 测试软件的运行情况。EICAR 标准防病毒测试文件是全世界防病毒产品厂商 共同努力的成果,它使客户可以按照一个统一标准验证其安装的防病毒产品。 要测试安装,请: 1. 将下面一行文字复制到一个独立文件中,然后以 EICAR.COM 名称保存该 文件。 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 该文件的大小为 68 或 70 字节。 2. 启动防病毒软件,让它扫描 EICAR.COM 所在的目录。 VirusScan Enterprise 扫描此文件时,它会报告发现 EICAR 测试文 件。 3. 测试完安装的软件后,请删除该文件,以避免对正常用户发出警告。 重要信息: 请注意,此文件并非病毒。 _____________________________________________________________________ 已解决的问题 下面介绍本软件产品以前版本中存在但当前版本中已解决的问题。 1. 问题: VirusScan Enterprise 7.1 按访问扫描程序会对其他 McAfee防病 毒或安全产品的隔离文件夹中包含的数据执行操作,除非从扫描任务中排 除那些文件夹。例如,如果您在已经安装 VirusScan Enterprise 的 同一台计算机上使用 McAfee GroupShield 或 IntruShield,则它 们各自的隔离文件夹可能会包含合法的感染病毒的数据。这些隔离文件夹 应该从按访问扫描任务中排除,以避免清除、删除或移动合法的感染病毒的 数据。 解决方案: 安装程序会检测到其他产品并为其添加排除项。 2. 问题: 对于使用 ePolicy Orchestrator 3.0 创建和部署的按需扫描任务, 可恢复扫描不起作用。 如果在 ePolicy Orchestrator 中创建的按需 扫描在扫描完成之前即结束(由于系统关闭等),就会出现这种问题。按需 扫描任务再次启动时,它会再次从开始位置扫描,而不是从最后扫描的文件 恢复扫描。 解决方案: 对于使用 ePolicy Orchestrator 3.0 创建和部署的按需扫描任务, 可恢复扫描工作正常。 3. 问题: 具有用户权限(相对于具有管理员权限的管理员)的用户回滚 DAT 文件时, 出现下列错误: "无法保存刚刚回滚的 DAT 版本" 这意味着 VirusScan Enterprise 无法创建正确的注册表键,以识别 回滚操作。因此,执行更新可能会重新应用回滚的 DAT。在回滚的 DAT 版 本已损坏(这通常是执行 DAT 回滚的原因)的情况下,这会产生问题。 正常情况下,VirusScan Enterprise 不更新经过回滚的 DAT 版本。 注: 只有在除管理员之外的其他人员执行 DAT 回滚时才出现此问题。在 管理员执行回滚时,不能通过更新应用回滚的 DAT 版本。 解决方案: 无法重新应用回滚的 DAT。 4. 问题: 通过 ePolicy Orchestrator 部署 VirusScan Enterprise 时, 或采用静默安装时,VShield 图标不出现在系统任务栏中。 解决方案: 现在,通过 ePolicy Orchestrator 部署 VirusScan Enterprise 时,或静默安装时,VShield 图标会显示在系统任务栏中。 5. 问题: 将 VirusScan Enterprise 安装至采用 Intel 64 位处理器的系统 时,不能使用 REGSVR32.EXE 正确注册 VSUPDATE.DLL 文件。结果, 在安装完成后执行更新操作时,会出现错误,并会显示以下错误信息: "加载 COM 组件时出错。" 要正确注册.DLL,请在命令提示符下输入以下命令: "<驱动器>:\Winnt\syswow64\regsvr32.exe vsupdate.dll" 注: 如果您将 VirusScan Enterprise 安装到默认位置,则安装路径 为: <驱动器>:\Program Files\Network Associates\VirusScan\ 解决方案: 此问题在 VirusScan Enterprise 8.0 中已经得到解决。 ______________________________________________________________________ 已知问题 安装、升级和卸载 1. 在安装结束时,需要重新启动系统(具有可选性),才能加载 TDI 网络驱 动程序。在重新启动计算机之前,"端口阻挡"、"病毒感染跟踪"和"病 毒感染跟踪阻挡"功能均处于禁用状态。 2. Internet Explorer 要求。《VirusScan Enterprise 8.0 安装指 南》中将 Internet Explorer 要求错误列为 5.0 版或更高版本。 Internet Explorer 要求是 Internet Explorer 4.0 版 Service Pack 2 或更高版本。 3. 如果您准备在采用 Windows NT4 操作系统的计算机上安装 VirusScan Enterprise 8.0,并使用 AutoUpdate 功能,则必须首先在该计算机 上安装 Internet Explorer 4.0 Service Pack 2 或更高版本。 如果在您开始在采用 Windows NT4 操作系统的计算机上安装 VirusScan Enterprise 8.0 之前没有安装 Internet Explorer 4.0 Service Pack 2 或更高版本,系统会生成一个错误编号 1920"服务器启动失败" 的错误,要求您选择"放弃"、"重试"或"继续"安装。如果"继续" 安装,则不会安装 AutoUpdate 组件。如果您决定以后安装 AutoUpdate 功能,则必须首先安装 Internet Explorer 4.0 Service Pack 2 或 更高版本,然后,完全删除 VirusScan Enterprise 8.0 并重新安装。 4. 如果您使用未压缩的安装程序"SETUPVSE.EXE"在 Windows NT4 终端服务 器上安装 VirusScan Enterprise,则必须在执行"SETUPVSE.EXE"之前, 先将终端服务器切换到"安装模式"。有关详细信息,请参阅知识库中的文 章 KB37558。 5. 要使用 MSIEXEC.EXE 安装 VirusScan Enterprise 产品,请完成以 下步骤: a. 在命令提示符下输入以下命令,解压缩 .MSI 和其他文件: SETUP.EXE -nos_ne [-nos_o""] 注: -nos_ne 命令会从 SETUP.EXE 解压缩安装文件,但是不会 执行 SETUP.EXE 或删除安装文件。 -nos_o"" 命令会指定用于解压缩安装文件的 目标文件夹。 如果不指定输出路径,这些文件会解压缩到用户配置文件的" Temp"文件夹内。 b. 请确保删除任何其他厂商的产品,包括 McAfee VirusScan 和 VirusScan Enterprise 早期版本。 c. 在命令提示符下输入以下命令,运行 MSIEXEC.EXE: "msiexec.exe /i vse800.msi" 6. 安装"缓冲区溢出保护"功能时,会有以下限制: - 如果在已经安装 McAfee Entercept 代理的计算机上安装 "缓冲区溢出保护",则会在 VirusScan 控制台中禁用"缓 冲区溢出保护"功能。 McAfee Entercept 产品覆盖范围更大,因此 McAfee Entercept 产品优先于 VirusScan Enterprise 中的"缓冲区溢出保护"功 能。 - 在 64 位平台上无法安装"缓冲区溢出保护"。 - 缓冲区溢出保护与 Windows XP 快速用户切换配合使用时,仅 保护会话。 - 缓冲区溢出保护并不保护 Windows 终端服务器或 Citrix MetaFrame 的终端会话。 它仅保护本地登录。 7. 在 64 位平台上无法安装 ScriptScan。 8. 在 64 位平台上无法安装右键单击扫描功能。 9. 本版本支持使用管理安装点 (AIP) 进行部署。但是,必须从 AIP 中 运行 SETUP.EXE,才能执行升级或卸载其他防病毒软件。 要创建 AIP,请在命令提示符下输入"setup.exe /a"。此时会出现一 个向导,指导您创建 AIP。创建 AIP 后,压缩 (.ZIP) 文件中的所有 必要文件均同时复制到 AIP。这些文件包括: - CMU300.NAP - CONTACT.TXT - EXAMPLE.SMS - EXTRA.DAT - INSTALL.PKG - INSTMSIW.EXE - PKGCATALOG.Z - PACKING.LST - README.TXT - SETUP.INI - SETUPVSE.EXE - SIGNLIC.TXT - UNINST.DLL - UNINST.INI - VSE800.NAP - VSE800DET.MCS 由于这些文件会自动复制到 AIP,因此,管理员不需要手动复制这些文件。 注: 如果通过 Active Directory 组策略部署 VirusScan Enterprise(这样会使用 MSIEXEC.EXE 进行安装),则必须首 先删除现有的所有防病毒产品,才能安装 VirusScan Enterprise。 10. 静默完全安装 Computer Associates eTrust Antivirus 程序时, 该操作不完全静默进行。Computer Associates eTrust Antivirus 会显示一个包含"确定"按钮消息框,提示需要重新启动。单击"确定" 后,完全安装会继续正常进行。此问题是 Computer Associates 的 一个已知问题,您可以访问 Computer Associates 的网站,编号为 QO19636 的文章即介绍相关的内容。Computer Associates 网站提 供修补此问题的可下载文件。虽然此问题针对 Computer Associates eTrust Antivirus 6.0 版,但是,该补丁程序对 7.0 版也适用。 与其他产品的兼容性 Alert Manager 1. VirusScan Enterprise 8.0 只能向 Alert Manager 4.7.x 发送 警报。无法向早期版本的 Alert Manager 发送警报。 此外,在已经安装 Alert Manager4.7.x 以前版本的计算机上,无法安 装 VirusScan Enterprise 8.0。如果您在已经安装 Alert Manager 4.5 或 4.6 的系统中安装 VirusScan Enterprise 8.0,应该同时 安装 Alert Manager 4.7.x,该版本会自动替换早期版本。 但是,请注意,Alert Manager 4.7.x 可以接收早期版本的 NetShield 和 VirusScan 发送的警报。您可以配置这些软件程序的早 期版本将警报发送到 Alert Manager 4.7.x。 2. 在 Windows 2003 (.NET) Server 上安装 Alert Manager 时,警 报消息不会自动在 VirusScan Enterprise 8.0 中显示。 您必须手 动启动信息服务: a. 从"开始"菜单中,依次选择 "设置"|"控制面板"|"管理工具"|"服务"|"Messenger" b. 打开"Messenger 的属性"对话框。 c. 在常规选项卡的"启动类型"下,选择"自动"。 d. 在"常规"选项卡的"服务状态"下,单击"启动"。 e. 单击"确定"应用这些更改,并关闭"Messenger 的属性"对话框。 Common Management Agent 1. 在 ePolicy Orchestrator 3.0.x 中安装 VirusScan Enterprise 8.0 不会将 Common Management Agent 自动从早期版本自动升级到 3.5 版。如果您使用 ePolicy Orchestrator 3.0.x 和 VirusScan Enterprise 7.x,则在将 VirusScan Enterprise 8.0 安装软件包 添加至 ePolicy Orchestrator 资料库时,Common Management Agent 不会升级至 3.5 版。 要将 Common Management Agent 从早期版本升级到 3.5 版,必须安 装 Common Management Agent 3.5 版,然后,将其推送到客户端或 执行更新任务。 注: 使用 ePolicy Orchestrator 管理 VirusScan Enterprise 8.0 时,不需要安装 Common Management Agent 3.5。Common Management Agent 3.5 版与其早期版本仅有的不同之处在于: - Common Management Agent 3.5 版能够进行选择性更新,而 早期版本只能进行整体更新。选择性更新允许您单独更-.DAT、 扫描引擎和补丁程序等。 - Common Management Agent 3.5 版不过滤客户端的事件。 2. 如果已经安装 Common Management Agent 3.5 版,则安装 ePolicy Orchestrator 3.0.x 会失败。 如果您尝试在已经安装 VirusScan 8.0 的同一台计算机上安装 ePolicy Orchestrator 3.0.x,则 ePolicy Orchestrator 安装会因为 Common Management Agent 的 升级问题而失败。因为 VirusScan Enterprise 8.0 安装 Common Management Agent 3.5 版,而 ePolicy Orchestrator 3.0.x 安 装早期版本的 Common Management Agent,所以代理程序无法升级, 安装自然会失败。 要解决此问题,请执行以下步骤: a. 删除 VirusScan Enterprise 8.0。 a. 安装 ePolicy Orchestrator 3.0.x。 b. 重新安装 VirusScan Enterprise 8.0。 c. 要在 ePolicy Orchestrator 3.0.x 中将 Common Management Agent 从早期版本升级到 3.5 版,必须在 ePolicy Orchestrator 3.0.x 中安装 Common Management Agent 3.5 版,然后将其推送到客户端或执行更新任务。 ePolicy Orchestrator 1. 如果您准备使用 ePolicy Orchestrator 管理 VirusScan Enterprise 8.0,则必须使用 ePolicy Orchestrator 3.0 版 Service Pack 1 或更高版本。 2. 选择性更新。要使用新的选择性更新功能,必须使用 ePolicy Orchestrator 3.5 或更高版本管理 VirusScan Enterprise.早期 版本的 ePolicy Orchestrator 会执行更新,但是不支持仅更新 .DAT 文件、扫描引擎等的选择性更新。 3. 本版 VirusScan Enterprise 8.0 提供两个 .NAP 文件,必须将这 两个.NAP 文件添加到 ePolicy Orchestrator 资料库内。另外,如 果您运行 ePolicy Orchestrator 3.0.x,在添加两个 .NAP 文件后, 必须运行更新可执行文件,以解决与事件解析程序注册有关的问题。 注: 如果您运行 ePolicy Orchestrator 3.5 版或更高版本,则不需 要运行更新可执行文件。 这些文件随 VirusScan Enterprise 8.0 安装软件包附带,您可以从 下载这些文件的位置找到这些文件: - VSE800.NAP - VSE800REPORTS.NAP.此文件是一个扩展报告.NAP 文件。 - VSE800UPDATEFOREPO30.EXE. 此文件是一个更新可执行文件。 a. 将两个 .NAP 文件添加至 ePolicy Orchestrator 资料库。 注: 我们建议您在安装 VSE800.NAP 之前,先安装 VSE800REPORTS.NAP 文件。按照此顺序安装 .NAP 文件可 以防止在托管产品下显示的 VirusScan Enterprise 英文说 明出现问题。有关详细信息,请参阅本部分的已知问题 8。 b. 如果您使用 ePolicy Orchestrator 3.0.x,则可以在已经安装 ePolicy Orchestrator 3.x 的计算机上执行 VSE800UPDATEFOREPO30.EXE。 此可执行文件用于在 ePolicy Orchestrator 3.0.x 服务器上 注册事件解析程序 .DLL。此更新解决了 ePolicy Orchestrator 的一个问题,这一问题会导致在添加扩展报告 .NAP 时事件解析程序 错误注册。 注: 有关详细信息,请参阅《与 ePolicy Orchestrator 配合使用的 VirusScan Enterprise 8.0 配置指南》。 4. 如果将 VSEREPORTS.NAP 文件登记到 ePolicy Orchestrator 3.01 版或 3.02 版资料库,可能会导致"未指定的错误"。 这是一个控制台超时错误,可以忽略。即使控制台超时,服务器仍会完成 .NAP 文件中所有的 SQL 脚本的执行。 5. 如果您将 Microsoft SQL Server 7.0 版与 ePolicy Orchestrator 3.01 或更高版本配合使用,则在将 VSE800.NAP 文件登记到 ePolicy Orchestrator 资料库中,按需扫描任务不会保留。 必须安装 Microsoft SQL Server 2000 版或更高版本,才能保留按需扫描任务。 6. 从 ePolicy Orchestrator 服务器通过 UNC 将资料库复制到某服务 器,且该服务器已经在"访问保护属性"中启用这些文件阻挡规则时,复制 的资料库可能会损坏: - "禁止远程修改文件 (.exe)" - "禁止远程修改文件 (.dll)" - "禁止远程创建/修改/删除系统根目录中的任何内容" - "禁止远程创建/修改/删除文件 (.exe)" 这些规则启用时,某些文件复制会被阻止,因为 ePolicy Orchestrator 服务器远程打开文件,并采用与共享传播式蠕虫同样的方 式进行写入访问和修改其内容。 如果您准备从 ePolicy Orchestrator 服务器通过 UNC 复制资料库, 请确保在目标服务器上禁用这些文件阻挡规则,然后再执行复制任务。 7. 从资料库中删除项目时,ePolicy Orchestrator 符合性基线不会重新 评估符合性。 例如,在将 VirusScan Enterprise 8.0 登记到 ePolicy Orchestrator 资料库时,它会标记为该环境的新符合性基线。所有已经 安装 VirusScan Enterprise 8.0 以前版本的计算机均标记为不符合。 不过,如果您从资料库中删除 VirusScan Enterprise 8.0,而不是重 新评估符合性,则符合性基线会保持在 8.0 版。即使将 VirusScan Enterprise 7.1 重新登记到资料库,符合性基线只会增量提高。 8. 取决于安装两个 VirusScan Enterprise 8.0 .NAP 文件的顺序, 在 ePolicy Orchestrator"Repository "(资料库)中"Managed Products"(托管产品)|"Windows"|"VirusScan Enterprise"|"8.0.0" 下的 VirusScan Enterprise 8.0 的英文说明可能不可 用。 如果在安装 VSE800REPORTS.NAP 之前已经将 VSE800.NAP 安装 到资料库,则英文说明不可用。 如果在安装 VSE800.NAP 之前已经安装 VSE800REPORTS.NAP, 则英文说明可用。 9. 在 ePolicy Orchestrator"Event Filtering"(事件过滤)策略 中禁用事件过滤。VirusScan Enterprise 会生成许多事件 ID,这些 ID 不会在 ePolicy Orchestrator 过滤器列表中列出。 要确保发送 所有 VirusScan Enterprise 事件,请在策略中禁用事件过滤功能: a. 登录至 ePolicy Orchestrator 控制台。 b. 在"Reporting"下,选择"ePO 数据库"并将其展开。 c. 选择服务器并登录。 d. 选择"事件"。 e. 在右侧窗格中,选择"不过滤事件"。 f. 单击"应用"保存这些设置。 GroupShield 1. 除 VirusScan Enterprise 8.0 和 Alert Manager 4.7.1 之外, 如果您准备使用 GroupShield,请确保在安装 Alert Manager 之 前安装 GroupShield。必须按照此顺序安装,才能确保警报发送正常。 ProtectionPilot 1. 如果您准备使用 Protection Pilot 管理 VirusScan Enterprise 8.0i,则必须使用 Protection Pilot 1.0 版 Patch 1 或更高版本。 2. 如果将 VSEREPORTS.NAP 文件登记到 ProtectionPilot 资料库,可 能会导致"未指定的错误"。 这是一个控制台超时错误,可以忽略。即使控制台超时,服务器仍会完成 .NAP 文件中所有的 SQL 脚本的执行。 3. 在 ProtectionPilot 上无法使用选择性更新。此功能仅在 ePolicy Orchestrator 3.5 或更高版本中提供。 第三方软件 1. Spy Sweeper。如果您使用 Spy Sweeper 扫描 VirusScan Enterprise 安装文件夹,则在它检测到 BHO.DLL 时会发生检测错误。 此文件并不是 spyware;它是随 VirusScan Enterprise 安装的 ScriptScan 的一个组件。 2. Microsoft Windows XP Service Pack 2。如果您使用 Microsoft Windows XP Service Pack 2 并准备通过 ePolicy Orchestrator 管理 VirusScan Enterprise,则 Windows XP Firewall 将禁止这种操作,除非将 FRAMEWORKSERVICE.EXE 添加到 Windows XP Firewall 的排除白名单中。有 关如何进行此操作的信息,请参阅 Microsoft 知识库中的文章 842242。 3. 以下第三方产品与 VirusScan Enterprise 8.0 的"缓冲区溢出"功能不兼 容。如果必须使用这些产品,我们建议您禁用 VirusScan Enterprise"缓 冲区溢出"功能: - Tiny Personal Firewall - CyberArmour Firewall - Zone Alarm Pro 注: VirusScan Enterprise 8.0 和 Zone Alarm Pro 安装在同一 台计算机上时,Zone Alarm Pro 会崩溃。 - BlackIce Firewall 注: 请先安装 VirusScan Enterprise 8.0,然后再安装 BlackIce Firewall,以确保它们兼容。 访问保护 1. 与已知漏洞和弱点相关的端口。使用此链接可以访问一个网站,该站点提供 最经常受利用的 TCP 端口的列表。 http://www.us-cert.gov/current/services_ports.html 注: 如果通过单击无法访问链接,请将其复制粘贴至 web 浏览器,即可 访问该站点。 2. 如果您禁用按访问扫描程序,则同时会禁用端口阻挡规则和您配置的文件、 共享资源以及文件夹规则。 3. 如果您在非英语或本地化环境中使用"访问保护"功能,则默认规则可能会 包含本地化操作系统中不存在的文件夹的参考。 添加文件类型扩展名 1. 如要您在"其他文件类型"或"指定文件类型"对话框中使用通配符指定文 件类型扩展名,则不能使用 (*) 作为通配符。在这些情况下指定文件类型 扩展名时,必须使用问号 (?) 作为通配符。 AUTOUPDATE 1. 只有在更新时登录且对该映射驱动器位置至少具有读取权限时,才能从映射 驱动器进行更新。如果没有用户登录到该系统,或者,虽然登录但是对映射 位置不具有最起码的读取权限,则更新将失败。 2. 编辑资料库列表使用 UNC 路径时,"编辑 AutoUpdate 资料库列表" 对话框不会在接受所输入的路径之前验证其事实上是否为有效的 UNC 共享 资源。 确保输入有效的 UNC 服务器、共享资源和路径名称。输入无效的 UNC 路径可能会导致从此位置进行更新时出现问题。 3. VirusScan Enterprise《产品指南》中的 EXTRA.DAT 信息。这些信息用于 对 VirusScan Enterprise《产品指南》中"更新"部分的信息进行更正。 "更新任务执行过程中的活动"下的"更新"部分中错误地叙述如下: "默认情况下,将新病毒特征
此文档包括 WinRAR 多功能综合压缩文件管理器

WinRAR 功能:

* WinRAR 引入了一个原创的压缩算法。它提供了比其它 PC 压缩工具更高
的压缩率,特别适用于处理可执行文件,对象库,大的文本文件等。

* WinRAR 提供了一个可选的,对多媒体数据高度优化的压缩运算法。

* WinRAR 支持文件和压缩文件大小超过 9,223,372,036,854,775,807 字节,
大约 9000PB。压缩文件的数目适用于所有实际用途,没有限制。

* WinRAR 对 RAR 和 ZIP 2.0 格式压缩文件提供完整支持,并可以解压 CAB、
ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO、Z、7Z 等压缩文件。

* WinRAR 支持 NTFS 的文件安全和数据流。

* WinRAR 提供了经典窗口交互界面和命令行界面。

* WinRAR 提供了创建“固实”压缩文件的功能,这种格式相对于普通方式能
够使压缩率提高10% - 50%,当压缩大量小文件时更加显著。

* WinRAR 提供了使用默认或外部自解压模块来创建或修改自解压压缩文件的
能力。

* WinRAR 提供了创建多卷自解压格式压缩文件的能力。

* WinRAR 提供了许多服务功能,例如设置密码,添加压缩文件和文件注释。
甚至压缩文件的物理损坏也可能修复。并且压缩文件可以被锁定,以防止
后来被改变。用户身份校验信息可作为附加安全特性被添加,并且 WinRAR
将保存最后更新和压缩文件名的信息。


WinRAR - 最新版本的最新更新

版本 3.70 beta 8

1. 错误修正:

a) WinRAR 外壳扩展无法在 Windows NT 4.0 中运行;

b) 在命令行模式下, 当解压缩 ZIP 文件时 WinRAR 返回“写入错误”(数值 5) 代
码。这种情况下, 它应该返回“创建出错”(数值 9)。


版本 3.70 beta 7

1. 错误修正:

a) unrar.exe 的 -ioff 开关无效;

b) WinRAR 3.70 beta 在处理文件扩展名短缺的卷 (如 .rar, .002, .r03) 时失败。
当你精确地指定了下一卷的名称后, 它仍会继续询问;

c) WinRAR 外壳扩展在 Windows 95 下无效。


版本 3.70 beta 6

1. 错误修正:

a) WinRAR 外壳不允许对锁定的 RAR 卷创建恢复卷。现在恢复卷对锁定的和非锁定的
RAR 卷都可用;

b) WinRAR 对文件大小超过 4 GB 的 UDF ISO 文档中文件显示错误的大小。这些文件
可以被正确解压,但是在列表窗口中显示的大小不正确。


版本 3.70 beta 5

1. 错误修正:

a) 当解压 TAR 压缩文件时, 如果解压的文件名长度超过 100 个字符 WinRAR 3.70
beta 版本会裁切解压的名称一个字符;

b) WinRAR 3.70 beta 版本解压超过 100 卷的分卷 RAR 卷, 并且使用旧格式的命名策
略时不能正确解压。


版本 3.70 beta 4

1. 在创建自解压压缩文件时的“高级自解压选项”的“高级”页面中新的“请求管理员访
问权限”选项, 允许在 Windows Vista 中启动时请求管理员访问权限。

此选项的等价命令行是 -iadm 开关。

2. 纠正在 Windows 9x/Me 中外壳扩展的 DBCS 编码(日语, 汉语, 等。)的支持。

3. 纠正一个从超过 4 GB 的 UDF ISO 映象文件中解压文件的错误。


版本 3.70 beta 3

1. WinRAR 设置可以在注册表键 HKEY_CURRENT_USER\Software\WinRAR\Paths 中设置字符
串值 "AppData" 来覆盖默认的 %appdata%\WinRAR 路径。

例如,如果要保存主题文件到 WinRAR 文件夹中,设置 "c:\Program Files\WinRAR" 到
此值。

2. 当解压 UDF ISO 文件时总计进度条被显示。

3. 在上一版本中,在 Windows Vista 里,当选择了一个新的 WinRAR 主题时压缩文件的图
标不改变。

4. 当生成的压缩文件是自解压的并且压缩文件大小超过 4 GB,WinRAR 显示一个警告。
Windows 不能运行应用程序
of such size.

5. 修正 ISO 处理的代码。

版本 3.70 beta 2

1. 压缩对话框中“模式”和“取消”按钮被交换。

2. 错误修正:

a) beta 1 可能会把从 ISO 9660 压缩文件中解压文件的文件名剪裁一个字符;

b) 打开“Windows 进度条”选项则在转换压缩文件窗口中进度条不能正确工作;

c) 如果 setting.reg 在 %appdata%\WinRAR 文件夹中不存在“加载 WinRAR 设置自”
对话框不显示。


版本 3.70 beta 1

1. 数个 Windows Vista 兼容修改:

a) 帮助格式从旧的 HLP 改变为新的基于 CHM 的 HTML;

b) GUI 自解压模块如果在当前用户帐号下不能创建目标文件夹会尝试请求管理员权限;

c) 日志文件 rar.log 和 WinRAR 主题文件存储在 %APPDATA%\WinRAR 文件夹中,代替
WinRAR 程序文件夹。

到处的设置文件 settings.reg 默认也被保存到 %APPDATA%\WinRAR 文件夹中, 但是
也可以在“保存 WinRAR 设置”和 “加载 WinRAR 设置” 对话框中选择其他的文件
夹。

WinRAR 在它的 program files 文件夹和 %APPDATA%\WinRAR 中搜索注册文件和
settings.reg;

d) WinRAR 外壳整合 Vista 兼容修改。

2. 添加对 ISO 13346 (UDF) 文件格式的支持。此格式被频繁用于 DVD 光盘的 ISO 映象。

3. 添加对 ISO 9660 的 Unicode 支持, 这样 WinRAR 可以更好地处理非英语文件名的
.iso 文件。

4. 在显示压缩和解压进程的对话框的设计改变:

a) 提供更多的空间用于文件名, 允许较长的名称;

b) 在单独行中显示当前压缩文件名, 允许比以前更长的压缩文件名;

c) 当压缩时, 在空行显示当前的压缩率;

d) 它可以使用标准的 Windows 和 经典的 WinRAR 进度条。在 WinRAR 的“设置/常
规”对话框打开“Windows 进度条”选项。如果某些 Windows 可视化风格被激活
默认此选项是打开的,如果选择 Windows 经典主题则关闭

Windows 进度条仅有两种颜色, 所以他们不能指示当前的压缩率。但是现在压缩
率显示在一个单独的行中;

e) "模式..." 按钮移到窗口的底部。

5. GUI 自解压模块支持下列命令开关:

-d<路径> 设置目标路径
-p<密码> 指定一个密码
-s 缄默安装, 全部隐藏
-s1 和 -s 相同
-s2 缄默模式, 隐藏启动对话框
-sp<参数> 指定安装程序的参数

6. GUI 自解压模块不像以前的版本, 它不传递整个命令行给安装程序。如果你需要获得
自解压模块的整个命令行, 解析包含此命令行的 sfxcmd 环境变量。

7. 新的开关 -sc<字符集>[对象] 允许指定列表文件和压缩包注释文件的字符集。它代替
RAR 3.60 中的 -fcu 开关, -fcu 开关从支持的开关列表中移除。现在你需要指定
-scuc 代替 -fcu 使用 Unicode 注释。不像 -fcu, -sc 允许支持 OEM 和 ANSI 字符
集。

8. 文件菜单中新的“保存压缩文件副本为...”命令。
此命令可以用在你从 Internet 直接用 WinRAR 打开压缩文件, 而你又希望把它保存
到本地硬盘时、

9. “自动换行”命令添加到 WinRAR 内部查看器的“查看”菜单中, 这样你可以改变打
开的查看器窗口的换行模式。

此选项的状态在查看会话间不保存。如果你需要改变默认的自动换行模式, 使用
WinRAR “设置/查看器”对话框

10. “关联配置文件”对话框添加“上移”和“下移”按钮。
使用这些按钮, 你可以改变选择配置文件在列表中的位置。

11. 当添加恢复记录时会显示操作进度。

12. 如果 WinRAR 被最小化到状态栏并且鼠标移动到它的图标上, WinRAR 显示关于当前
操作进度的消息。在以前的版本中它仅包括完成的百分比, 现在它也包含剩余时间
的信息。

13. 当对最新创建的 RAR 卷计算 CRC32 控制和时, 控制台 RAR 显示 "计算控制和" 消
息。以前的版本也计算卷控制和, 但不显示。

14. 在“文件”菜单中的压缩文件历史列表允许 Unicode 名称, 提供对非英语压缩文件
名的更多的支持。

15. 在控制台 RAR 和 UnRAR 密码处理模块中的堆栈溢出问题被修正。GUI WinRAR 不受
影响。我们感谢 iDEFENSE LABS 报告此错误。


版本 3.62

1. 错误修正:

a) 在 WinRAR 的处理 7-Zip 压缩文件模块中的堆栈溢出问题被修正;

b) WinRAR GZip 模块在解压 GZip 压缩文件时可能设置错误的文件日期。



版本 3.61

1. 纠正在多线程文本压缩模块中的错误, 在某些环境下会导致损害的压缩数据。

此错误仅存在于 WinRAR 3.60 的多线程模式。 其他平台的 RAR 版本不受影
响。

2. 解决了一个 WinRAR 3.60 在 Windows 95 中的一个兼容性问题。


版本 3.60

1. 多线程版本的 RAR 压缩算法提高了在有数个 CPU、多核心 CPU 和使用超线
程技术的处理器的计算机上的压缩速度。多线程默认被启用,但是你可以在
“设置”对话框的“常规”部分中禁用它。

在命令行模式你可以使用 -mt<线程> 开关控制多线程。

2. WinRAR 可以显示文件夹树面板来在磁盘和文件夹目录中导航。使用“选项/
文件夹树”子菜单启用文件夹树。它能在文件和压缩文件管理模式下被单独
配置。

文件夹树代替了以前在“文件”菜单中的“浏览文件夹”命令并使用了它的
Ctrl+T 键盘快捷键。

3. 新的 WinRAR “重命名”命令也能处理 ZIP 压缩文件了。以前版本仅能处理
RAR 压缩文件。

4. 添加了对使用 "-lh7" 算法创建的 LZH 压缩文件的解压。

5. 在“设置/压缩”对话框中新的“从解压路径移除重复的文件夹”选项。

如果此选项打开,你解压的压缩文件的根目录没有文件而只有一个“somename”
文件夹并且目标文件夹是新建的或空的并以 '/somename' 结尾, WinRAR 会
从 'somename/somename' 的结果路径中排除一个 'somename'。

6. 在“设置/压缩”对话框中的新的“定义卷大小...”按钮。此按钮激活“定义
卷大小”对话框。这里你可以自定义预定义的卷大小,和压缩对话框中的“分
割卷, 单位字节”关联。

7. 对某些数据类型 RAR 生成压缩文件的速度增加。根据数据的类型和大小,压
缩文件会减小 5 - 15%。

8. 在解压对话框中和命令行的 -or 开关的新的“自动重命名”选项来自动重命名
同名文件已经存在的解压文件。你也可以从覆盖确认提示中选择“全部重命名”
按钮直接启用自动重命名模式。

重命名文件将得到象 'filename(N).txt' 的名字,'filename.txt' 的位置
是原始的文件名,'N' 是数字。

9. 在解压对话框的“高级”部分的“设置修改时间”选项也可用于 ZIP 压缩文
件。以前它仅可用于 RAR 压缩文件来修改。

10. “多线程”选项添加到“性能和硬件测试”命令中,这样你可以比较常规和
多线程版本的 RAR 压缩算法的性能。

11. 新的 'ch' (改变压缩文件参数) 命令行模式命令。它的目的是应用开关
-av, -tl and -cl 到压缩文件。

12. 新的 'cv' 命令行模式命令。它提供命令行界面到 WinRAR 的 "转换压缩文
件" 命令。它仅支持 winrar.exe,而不支持 rar.exe。

13. 新的命令行 -sl<大小> 和 -sm<大小> 开关设置处理的文件的大小限制。

14. 新的命令行 -fcu[文件] 开关允许从 Unicode 文件读取压缩文件注释。它
允许修改 "cw" 命令的行为,设置注释输出格式为 Unicode。

15. 当使用不带参数的 -ms 开关时,7Z 添加到不压缩存储的格式列表中。

16. 开关 -e[+]<属性> 现在被大多数命令行操作,包括解压和删除文件,支持。
以前它仅被压缩命令支持。

17. 在压缩对话框的压缩文件名中,在解压对话框的目标路径 中,在 WinRAR
设置的“压缩”和“路径”页的文件夹名都允许使用环境变量。例如,你可
以在“临时文件文件夹” 区域中输入 '%temp%'。


版本 3.51

1. 错误修正:

a) 修正两个问题,可能被特别制作的 ACE 和 UUE/XXE 压缩文件所利用;

b) 以前的版本不能删除某些临时文件;

c) WinRAR 在命令行中处理非常长(超过 1024 个字符)的压缩文件名参数
崩溃


版本 3.50

1. 现在可以通过安装界面主题来改变 WinRAR 的外观了。主题文件在
http://www.rarlab.com/themes.htm 下载

主题文件是一个 RAR 压缩文件, 可以在 WinRAR 内打开主题来安装。你
可以使用“选项/主题”菜单管理已经安装的主题。

2. WinRAR 支持解压缩使用 Zip64 格式扩展创建的 ZIP 压缩文件。Zip64
被引入来移除 ZIP 格式在压缩文件大小方面的限制。

3. 添加多卷(多部分) CAB 压缩文件支持。

4. 在解压对话框的“高级”部分的新选项:

a) “删除压缩文件”选项允许删除已经解压的压缩文件;

b) “检查认证信息”选项控制处理 RAR 压缩文件内的认证信息。

5. 在压缩对话框的“高级”部分和解压对话框中的“如果其它 WinRAR 副
本正激活则等待”选项。

如果被启用, 它会在其它 WinRAR 副本正在创建、修改或解压压缩文件
时等待, 并在其它 WinRAR 任务完成后再开始操作。如果你要执行数个
压缩或解压缩任务, 队列执行能帮助减少磁盘定位的次数并提高整体性
能。

6. WinRAR 可以整合到 Windows 关联菜单中,也可以用在 Windows x64
系统中。

7. 自解压模块:

a) 自解压模块不再使用 UPX 压缩, 所以它们现在比较大。 UPX 压缩
可能会导致反病毒软件的众多错误警告。如果你需要压缩的模块, 你
可以从 http://upx.sourceforge.net 获得 UPX 并压缩 WinRAR 文
件中的 *.sfx 文件;

b) 默认的自解压图片可以使用自定义位图文件替换。你可以或者使用
“高级压缩选项”对话框的“文本和图标”的“从文件加载自解压图
片”或者是使用 -iimg<名称> 命令行开关来执行它。注意控制台
RAR 不支持 -iimg, 仅图形界面 WinRAR 能识别它。此选项不支持
Windows 95, 98 和 Me。如果你使用 UPX 压缩过的自解压模块也不
能使用它。

c) 可以指定用户自定义超过 32x32 大小和任何颜色数的自解压图标。
和上一条目一样,此改进仅可用于未使用 UPX 压缩的自解压模块并
且你的操作系统不是 9x/Me;

d) DOS.SFX 模块移动到 RAR/DOS32 中发布。如果你需要使用 WinRAR
创建 DOS 自解压文件, 只需要把 DOS.SFX 复制到 WinRAR 文件夹。

8. “向导”命令允许在创建或更新压缩文件时指定密码。

9. 上一个 WinRAR 版本中如果用户在 *.exe, *.htm 文件上按下 Enter 或
双击解压时会解压全部的压缩文件内容。现在可以定义要全部解压的文件
的掩码。这些掩码可以在“设置”对话框的“查看器”页输入。例如, 如
果你要在你在压缩的 HTML 文件上双击时仅解压光标下的一个文件, 则从
此区域中移除“*.htm *.html”。

10. WinRAR 支持的压缩格式附加的文件扩展名可以在“设置”对话框的“综
合”页的“用户自定义压缩文件扩展名”区域指定。例如, 如果你有扩展
名是“.001”的 RAR 格式的文件, 你可以在这里输入“001”来把它关联
到 WinRAR。

11. 在“设置”对话框中的“文件列表”页新的“彩色显示加密的或压缩的 NTFS
文件”。

12. 在“设置”对话框的“常规”页中和工具栏鼠标右键菜单中新的“锁定工
具栏”选项。“锁定工具栏”防止意外的工具栏移动和改变大小。

13. “修复”和“解压”命令用下划线来代替无效字符(冒号、问号标记等)也
可用于 ZIP 压缩文件中的文件名。以前的 WinRAR 仅对 RAR 压缩文件使
用它。

14. 新的 -n<掩码> 和 -n@<列表文件> 开关设置附加的包含过滤器, 仅匹配掩
码的文件才被处理。

15. 新的 -id[c,d,p,q] 开关。增强以前可用的 -idp 开关(禁用百分比提示),
开关 -idc, -idd 和 -idq 支持控制台 RAR 隐藏版权信息、“完成”信息
和所有信息消息。

16. 开关 -e+<属性> 允许指定文件包含属性掩码。例如, 你可以使用 -e+h 开
关来仅压缩隐藏属性的文件。

17. 在压缩时开关 -ver[n] 也支持选项 'n' 参数。它限制文件版本的最大数字。

18. 如果一个已经存在的文件的短文件名和一个正在压缩的文件的长文件名相同,
WinRAR 会在压缩前修改已经存在文件的短文件名。在这样的情况下即使长
文件名不同, 以前的版本也会提示覆盖已经存在的文件。

19. 安全性更改:

a) WinRAR 外壳不允许运行 *.pif 文件。压缩的 PIF 文件是计算机病毒传播
的典型方式之一;

b) WinRAR 外壳允许运行名字中有 5 个或以上连续空格的文件, 例如,
"calc.txt .exe"。病毒频繁地添加这样的空格来迷惑用户并隐藏真实
的扩展名。当在文件列表中显示这样的文件的名字时 WinRAR 外壳移除这些
不在开头和结尾的连续的空格。

20. 在 Windows XP 中 WinRAR 在文件列表中使用不同的颜色来高亮显示存储的卷,
和在 Windows 资源管理器中一样。


版本 3.42

1. 修复在 WinRAR 图形界面的“删除”命令中的缓冲区溢出错误, 它可能在损
坏的压缩文件中删除文件时引起崩溃


版本 3.41

1. 此版本的错误修正:

a) 对已存在的 RAR 固实压缩文件添加新文件时, RAR 3.40 的压缩率比
RAR 3.30 的低;

b) WinRAR “修复”命令在修复损坏的 ZIP 压缩文件时崩溃

2. 如果压缩的 Unicode 名无效, RAR 的 “l”和“v”命令将显示 ASCII 文件
名, 而不是损坏的 Unicode 文件名。


版本 3.40

1. “最快”(-m1) RAR 压缩模式被修改提供更高的压缩速度和较低的压缩率。
这在如有规律的备份等需要高速度的操作时有用。

你可以通过选择 64K 的字典来代替默认的 4MB 的字典来提高“最快”压缩
的速度。

2. WinRAR 可以解压缩由 Unix 'compress' 工具创建的压缩文件。像 GZIP 和
BZIP2 压缩文件, WinRAR 使用一步打开 tar.Z 和 .taz 文件,所以用户不
需要手动解压 .tar。

3. WinRAR 可以解压缩由 7-Zip 创建的压缩文件(.7z 文件)。“查找”命令不
支持此压缩文件类型。

4. 在 WinRAR 设置中新的“安全”对话框:

a) “从解压中排出的文件类型”选项防止解压有潜在危险的文件,像 .exe,
.scr 和 .pif;

b) “提示选择病毒扫描软件”选项修改“扫描压缩文件内的病毒”命令的
动作。如果你希望跳过病毒扫描选择对话框则你可以关闭它。

5. 新的命令行开关 -ep3 允许保存和恢复包括盘符的完全的文件路径。

WinRAR 外壳等于 -ep3 开关的是在压缩对话框的“文件/文件类型”页和
解压对话框“高级/文件路径”页的“解压绝对路径”中的选项“存储包括
盘符的完全路径”。

6. 你可以选择和压缩在 WinRAR 外壳中“我的电脑”的磁盘目录。只要在
WinRAR 的地址栏中选中“我的电脑”,选择要压缩的磁盘并点击“添加”。
如果你选择超过一个项目,WinRAR 会自动设置“存储包含盘符的完全路
径”压缩模式。

7. 如果你在 Windows 资源管理器的“我的电脑”视图选择多个磁盘,并从关
联菜单启动压缩,WinRAR 在压缩它们时会自动设置“存储包含盘符的完全
路径”模式。

8. 新的命令行开关 -oc 在解压时恢复 NTFS“压缩”属性。RAR 在创建压缩
文件时总是保存“压缩”属性,但如果不指定 -oc 开关则不会恢复它。

WinRAR 外壳等价 -oc 开关的是在解压的“高级”部分的“设置压缩属
性”选项。

9. 从此版本的 RAR 开始卷包含卷号区。

如果压缩文件由 WinRAR 3.40 或更高版本创建,你可以在“信息”对话框
的顶行和地址栏查看卷号。

在命令行模式使用 'L' 和 'V' 命令在所有卷信息行显示卷号。

此功能在原始卷名丢失,而你需要重命名卷来纠正名字时有用。

10. 命令 'L' 和 'V' 在压缩文件列表中显示 NTFS“压缩”属性。

11. 开关 -ag 可以包含一个 '{' 和 '}' 内字符的可选文本。此文本被插入到
压缩文件名中。例如: -agHH{hours}MM{minutes}

同一功能在 WinRAR 压缩对话框的“由掩码生成压缩文件名”区域也被支持。

12. 如果开关 -ac 被指定,RAR 不会重置这些文件的“存档”属性,它们的大
小和修改时间在启动压缩操作后被改变。

所以在把加到压缩文件中后和清除“存档”属性前修改的文件会包含到下一
个增加的备份中。对于 WinRAR 图形界面选项中的“压缩后清除存档属性”
命令相同。

13. 如果你在压缩文件的子文件夹中使用“添加到收藏夹”命令,WinRAR 会保
存此子文件夹并在访问此收藏夹条目时恢复它。以前的版本只能存储压缩文
件的根目录。

14. 当你编辑压缩文件时,WinRAR 在检测到文件被修改后立即提示更新它们。
以前的版本在更新改变的文件前等待外部编辑器的退出。

15. 如果你拖动一个压缩文件到 WinRAR 的地址栏或工具栏上,WinRAR 会显示
它的内容,即使正在打开着其他压缩文件。以前版本会把拖动的压缩文件添
加到浏览的文件中。

如果你需要把它添加到浏览的压缩文件中时,你仍然可以拖动压缩文件到文
件列表中。

16. 纠正了对损坏的 LZH 压缩文件的处理,避免了当读取损坏的 LZH 文件头时
可能的崩溃

17. RAR 和 WinRAR 在修复一个包含恢复记录的压缩文件时显示操作进度。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧