DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize), 参数lpName是你要求查询的环境变量的名, lpBuffer是返回你所指定的环境变量的值的, dSize是告诉这个函数lpBuffer可以存放多少个字节.
分析本地故障原因就是因为环境变量中的默认路径被删除的结果,默认路径一经设置,当前系统如有程序运行时需要某些DLL或EXE文件,以及Active控件时就会到所有默认路径中去查找,如果在这些目录中查找到相应的程序则自动加载,查找不到则报告缺少某某文件的错误信息。
小知识:什么是环境变量?环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的默认路径,当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。简单地说这里的“Path”就是一个变量,里面存储了一些常用命令所存放的目录路径。
很多朋友会在自己的计算机上安装双系统,例如C盘安装Windows 98,D盘安装Windows XP。可是某些软件往往只在Windows 98系统中安装,Windows XP系统中是无法正常使用的,比较麻烦却有效的方法是再安装一遍。当我们了解了环境变量中的用途后就可以很好解决双系统的软件共用问题。
1、在服务里关闭iis admin service服务
2、找到文件c:\\windows\\system32\\inetsrv\\metabase.xml,用“记事本”打开该文件,用记事本中的“查找”功能搜索关键词“AspMaxRequestEntityAllowed”,就会找AspMaxRequestEntityAllowed=204800,是win 2003用于限制最大上传文件大小的,默认是204800即200KB,你可以根据您的具体情况,修改该值,1MB对应1024000,10MB对应10240000,依此类推,设置完该值,保存文件即可。
3、重启iis admin service服务
当然了,修改的前提是你有你自己的服务器;如果你是虚拟主机用户,那么就联系你的空间商修改吧,呵呵。
SQL注入是从正常的 WWW 端口访问,而且表面看起来跟一般的 Web 页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看 IIS 日志的习惯,可能被入侵很长时间都不会发觉。
但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。
根据国情,国内的网站用 ASP+Access 或 SQLServer 的占 70% 以上,PHP+MySQ 占 20%,其他的不足 10%。在本文,我们从分入门、进阶至高级讲解一下 ASP 注入的方法及技巧,PHP 注入的文章由 NB 联盟的另一位朋友 zwell 撰写,希望对安全工作者和程序员都有用处。了解 ASP 注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区。大家准备好了吗? Lets Go...
“Virtual PC 在PAE模式下无法运行
此版本的Virtual PC 无法在PAE(物理地址扩展)模式下运行。请恢复到正常状态下运行”等信息!
什么是PAE模式,启用PAE模式的其中一个原因是为了启用XP的“数据执行保护”功能(DEP),PAE影响到了一些虚拟机软件和驱动的安装。因此,禁用DEP就等于禁用PAE。我们应该如何禁用DEP呢?
答:PAE模式和Windows XP SP2中添加的DEP(数据执行保护)功能密切相关,DEP在实现数据执行保护时依赖于PAE(物理内存扩展)技术,而VPC产生PAE故障的原因可能是软件版本问题,首先换一个稳定版本并打上相关的补丁,如果还不能解决,请依照下面的方法操作:
(1)在“数据执行保护”面板中修改
右击“我的电脑”选择“属性”,打开“高级”选项卡在“性能”栏中点击“设置”按钮,然后在弹出的“性能选项”窗口中选择“数据执行保护”选项卡,将默认的“仅为基本Windows程序和服务启用DEP”改为“为除下列选定程序之外的所有程序和服务启用DEP”,接着点击“添加”按钮将VPC程序加入例外列表中。
开始还有点摸不着头脑,后来仔细想想,才记起前两天打开过机箱加了个内存,估计就是这个原因引起的。服务器为了安全,因此打开过机箱或者机箱没盖好的情况下可能就出现这样的警报错误!于是想到了BIOS中的“机箱开启”报警功能,用来提醒用户电脑机箱曾经被打开过。可我的机箱并没有相应的传感器,应该是电脑误报。于是进入BIOS,在“Advanced Chipset Features”下找到“Reset Case Open Status”或“Case Opened”选项,设置为“No”将该功能关闭,之后问题不再出现。
现在很多主板都具有“机箱开启”报警功能,但大家购买的机箱往往没有传感器,所以建议大家把它关闭(某些主板是缺省开启的),以免带来麻烦。
今天在本地连接服务器上的SQL2005发现连接不上,并且服务器上所有与防火相关的东西都关闭了,还是连接不上。进行如下操作之后。连接OK。
一、为 SQL 启用远程连接
1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。
注意:请在接收到以下消息时单击“确定”:
直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。
4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
症状
当您首次尝试安装 Microsoft Office 程序或运行某个 Office 程序时,可能收到一条错误消息。如果您是通过 Administrator 用户帐户登录计算机的,可能收到下面的错误消息:
安装时发生严重错误
如果您是通过具有管理员权限的标准用户帐户登录计算机的,可能收到下面的错误消息:
无法打开修补程序包。请与应用程序供应商联系,验证这是否是 Windows Installer 的修补程序包。
您可能还会收到以下错误消息:? 无法访问您要使用的功能所在的 CD-ROM 或其他可移动式磁盘。请插入 Office XP product 磁盘并单击“确定”按钮。
注意:在此消息中,Office XP product 是您使用的具体 Office 产品的名称。
? 无法打开修补程序包。请与应用程序供应商联系,验证这是否是 Windows Installer 的修补程序包。
? The installation source for the product in not available.Verify that the source exists and that you can access it.
? This patch package could not be opened.Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.
原因
如果注册表中包含来自安装的较低版本 Office 的 Microsoft Windows Installer 信息,可能会发生此问题。
解决方案一:
要解决此问题,请运行 Windows Installer 清理实用工具,删除 Windows Installer 注册表设置,然后重新安装 Office。为此,请按照下列步骤操作: 1. 下载、安装、然后运行 Windows Installer 清理实用工具,删除与您的 Office 安装相关的 Windows Installer 注册表设置。可以从 Microsoft 下载中心下载以下文件:
msicuu2.exe (http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe)
有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 (http://support.microsoft.com/kb/119591/) 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,这些服务器可帮助防止对该文件进行未经授权的更改。 如果您运行的是 Windows NT 4.0 或 Microsoft Windows 2000,请单击下面的链接,下载并安装 Windows 清理实用工具。
2. 要使用 Windows 清理实用工具,请按下列步骤操作: a. 单击“开始”,指向“程序”,然后单击“Windows 安装清理”。
b. 选择要删除的程序,然后单击“删除”。
c. 单击“确定”,然后单击“退出”。
有关如何下载、安装和使用 Windows Installer 清理实用工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290301 (http://support.microsoft.com/kb/290301/) Windows Installer 清理实用工具说明
3. 运行 Office 安装程序,重新安装 Office。
注意:由于 Windows Installer 清理实用工具会删除与 Windows Installer 相关的注册表设置,而不会删除 Office 程序文件,因此,请确保将 Office 安装在它原来所在的文件夹中,以防止硬盘上的文件重复。
解决方法二:
在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes
\Installer\Products\找到OFFICE2003的东西,删除后,才能重新安装OFFICE2003。
解决方法三:
现象:卸载MS Office 2003时出现Windows Installer无法打开此修补程序包问题
卸载时出现“无法打开修补程序包。请与应用程序供应商联系,验证这是否是 Windows Installer 的修补程序包。”的错误信息,原想是可能vista权限问题,以管理员身份运行,情况依旧;后怀疑Windows Installer的问题,在微软官网上下载装上Windows Installer,再卸载MS Office,依旧如此;那既然如此,则重装再卸载总行了吧,运行MS Office 2003 安装程序,结果出现一样的错误信息;汗 ,难道我非得用MS Office不成,无法卸载啊。没有办法了,找百度帮忙~~~,现已解决,步骤如下:
1、下载、安装 Windows Install Clean Up
Windows Installer 清理实用工具 点此下载
2、运行 Windows Install Clean Up,删除与您的 Office 安装相关的 Windows Installer 注册表设置。
具体步骤: a. 单击“开始”,指向“程序”,然后单击“Windows Install Clean Up”;
b. 选择要删除的程序,这里选择有"Office 2003"字样那项,然后单击“Remove”;
c. 单击“确定”,然后单击“Exit”。
3、运行 MS Office 安装程序,重新安装MS Office。(注意:由于Windows Install Clean Up会删除与 Windows Installer 相关的注册表设置,而不会删除MS Office程序相关文件,因此,请确保将 Office 安装在它原来所在的文件夹中,以防止硬盘上的文件重复,产生垃圾文件。)
4、卸载MS Office,成功!
5.若无法安装Windows Install Clean Up(出现下图),直接使用OFFICE2003顽固卸载
1.获取启动项
方法一: wmic startup list brief |findstr /v "desktop.ini ctfmon.exe" >启动项.txt
说明:运行后将会在当前目录下生成一名为“启动项”的文本文件,它会自动过滤掉常用的
启动文件夹下的desktop.ini以及要用到的ctfmon.exe。
方法二: start msinfo32 /categories +SWEnvStartupPrograms /report 启动项.txt
说明:运行后同样会在当前目录下生成一个名为启动项的文本文件,不过它不能过滤你不想要
的东西。
建议使用方法1,执行速度应该比较快一些,都是wmic调用,只不过方法二是通过msinfo32来
调用的。
2.获得进程列表
方法一: wmic process list status >进程列表.txt
方法二:tasklist >进程列表.txt
方法三: start msinfo32 /categories +SWEnvRunningTasks /report 进程列表.txt
说明:方法一最灵活,利用它可以方便地筛选不想显示出来的进程。方法二也不错,既灵活又
方便,而且还可以显示进程中加载的DLL模块以及进程中的服务等等。方法三就不推荐了,即
不能筛选掉不想显示的,能获得的信息又少,更要命的是执行速度慢。
3.结束进程
方法一:taskill /im 进程名 或PID 例:taskill /im notepad.exe 又如:taskill 514 (514
为进程PID)
方法二:ntsd -c q -p 进程PID
方法三:wmic process where name="进程名" call terminate
说明:方法一最简单,方法二很强大,绝大多数进程都可以被结束,方法三最灵活,不光可以
通过进程PID来结束,还可以通过映像名等等属性来结束进程.
4.获取开放端口
方法: netstat /an /b
说明:网上关于这个命令的文章不计其数,不过大多数只讲到了它的an参数,在XP里,它有两
个更强大的参数就是/b 和 /o通过这两个参数都可以获得开放端口对应的进程PID,通过它很
容易就可以判断出某个端口是否为木马所用。
强大的命令行工具wmic,批处理下的API
1.wmic=Microsoft Windows Management Instrumentation
2. C:\WINDOWS\system32\wbem 下的东西,特别是.xsl格式化文件,实现wmic的格式化输出
如wmic /output:c:\process.html process list /format:htable.xsl
NOD32 是一款优秀的反病毒软件,官方已经推出简体中文版,但这个中文版做得很粗糙,很明显是在繁体中文版的基础上直译过来,未考虑大陆用语习惯,远不如大陆网友制作的汉化语言包用起来舒服。下面讲解一下如何用汉化语言包替换原版语言包并将最新病毒库文件封装进原版安装程序的方法。
所需软件:
1、WinHex 16 进制编辑器。
2、sfv 计算工具,如:MagicSFV、Total Commander 等。
3、Winrar 2.9 以下版本,如 Winrar 2.8(NOD32 的安装程序不兼容 Winrar 2.9 以上版本的压缩格式)。
4、支持 utf-8 编码的文本编辑器,如:Emeditor 或 Windows 2000/xp 自带的记事本。
5、NOD32 官方简体中文版(以 NOD32 for Windows NT/2000/2003/XP/x64 Administrator 版本为例)。
6、NOD32 汉化语言包。
其实重新封装 NOD32 可以以任意语言版本为基础进行,但因为英文版本中不包含语言包文件,处理时需要修改的内容很多。为方便,本文以官方简体中文版为例进行讲解。
封装 NOD32 分为三步:封装最新病毒库、封装汉化语言包和重新打包。下面首先来进行相对比较简单的封装病毒库步骤。
一、封装病毒库
步骤:
1、获取最新病毒数据库
打开一台已经安装了 NOD32 并已升级到最新版本的计算机,从其安装目录下拷贝以下文件(默认路径为 C:\Program Files\ESET):
nod32.000
nod32.002
nod32.003
nod32.004
nod32.005
nod32.006
2、解包
NOD32 Admin 官方简体中文版的安装文件是 ndntcsad64.exe,是用 Winrar 打包的自解压文件。直接用 Winrar 打开此文件,并将其全部释放到一个目录中(如:d:\nod32)。文件列表如下:
ntadmncs.nup
ntbasecs.nup
ntinetcs.nup
ntstdcs.nup
advheur.nup
archs.nup
charon.nup
engine.nup
pwscan.nup
utilmod.nup
main.dll
mainlang.dll
mfc42.dll
mfc42u.dll
msvcrt.dll
readme.txt
setup.exe
setup.xml
其中:mfc42.dll、mfc42u.dll、msvcrt.dll 是 NOD32 所需的微软 MFC 库文件,setup.exe、main.dll是安装程序,mainlang.dll 是安装程序的语言包文件,setup.xml是主安装脚本,*.nup 是特殊封装的安装包。nup 文件是我们要处理的对象。在这些 nup 文件中,以 cs 结尾的是软件各基础组件安装包(如果是英文版,则以 en 结尾),其余的几个 nup 文件是病毒数据库和一些可在网上升级的扫描器支持组件包。为叙述方便,我们把前者简称为组件包,后者简称数据包。数据包即是我们需要升级的内容。每个数据包中封装着一个文件,对应关系如下:
数据包 内嵌文件
engine.nup nod32.000
archs.nup nod32.002
advheur.nup nod32.003
pwscan.nup nod32.004
utilmod.nup nod32.005
charon.nup nod32.006
3、重新封装数据包
下面以将 nod32.000 封装进 engine.nup 为例讲解如何把第一步获得的最新病毒库文件封装进数据包。
⑴替换封装文件:
用 WinHex 打开 engine.nup 文件,在开头部分查找"[update_data]"字符串,这之后的部分即为内嵌的文件,我们从"NOD32-MODULE"开始选中,一直选到文件末尾的倒数第 66 字节处(即 16进制数据 88 3F 03 05 之前),然后按 Delete 键删除选中的数据(参见图一、图二),再把光标移回至刚才"NOD32-MODULE"所在位置。
图一:

图二:

用 WinHex 打开 nod32.000 文件,Ctrl+A 全选数据,然后 Ctrl+C 复制数据。切换至 engine.nup 文件,Ctrl+V 粘贴数据。
⑵替换文件信息
用 SFV 工具计算 nod32.000 文件的 SFV 检验码,并转换成十进制。在 engine.nup 开头处查找"crc=",将其后的数值替换成新校验值。查找"filesize=",将其后的数值替换为 nod32.000 文件的实际大小。其它的如:version、build、date 等数据由 nod32.000 的开头部分获得并替换(参见图三,图中红线处是需要修改内容,蓝线处是参照内容)。所有数据替换完毕后保存退出,engine.nup 文件即封装完成。
图三:

其它的几个数据包文件按同样方法封装。所有文件封装完毕后运行一下 setup.exe,如果不报 CRC 错误即是封装无误。
二. 加入简体语言包。
1、解压缩组件包。
组件包 nup 文件的结构和数据包类似,只不过组件包封装的是一个 rar 文件。即可以分离出这个 rar 文件再将其展开,也可以利用 NOD32 安装程序直接展开 rar 中包含的文件。为方便起见,建议采用后一种方法来获取 nup 文件的内容:直接运行 setup.exe,等待出现任一对话框时,切换到资源管理器,然后打开系统临时文件夹,会发现有 nodtmpa、nodtmp、nodtmpc、nodtmpd 和 NSetup 等五个子文件夹,前四个文件夹中的文件分别就是 ntbasecs.nup、ntstdcs.nup、ntadmncs.nup 和 ntinetcs.nup 组件包中的内容,对应关系如下:
文件夹 对应组件包
nodtmpa ntbasecs.nup
nodtmpb ntstdcs.nup
nodtmpc ntadmncs.nup
nodtmpd ntinetcs.nup
将 nodtmpa、nodtmpb、nodtmpc、nodtmpd 这三个文件夹复制到其它地方,然后退出安装程序。
2、替换语言包文件
上一步我们已经展开了 NOD32 安装包中所有的文件,现在我们要将汉化语言包加入其中。将语言包的如下文件按下表添加至上一步复制的四个文件夹中,替换原有的语言包文件:
文件夹 语言包文件
nodtmpa krnstpr.dll nod32ari.dll nod32krr.dll
nod32rui.dll pr_upd.dll
nodtmpb nod32r.dll pr_amon.dll pr_dmon.dll
pr_nod32.dll
nodtmpc cfgedit.dll cfgeditl.xml pr_mirr.dll
nodtmpd pr_emon.dll pr_imon.dll
语言包中还有一个 mainlang.dll 文件,用它来替换 d:\nod32 文件夹中的同名文件。
3、修改组件安装脚本
在这四个文件夹中各有一个 setupc.xml 安装脚本,是 UTF-8 编码格式的文本文件。使用支持 UTF-8 编码的文本编辑器打开这四个脚本,查找需要修改的字符串编码,将其修改为符合大陆用语习惯的简体编码。字符串必须以 unicode 格式来写,如:程序(unicode 编码格式请自行查询相关资料,本文不再讲解)。
4、压缩封装组件
⑴压缩。
将修改后的四个文件夹中的文件用 Winrar 2.8(必须是低于 2.9 的 Winrar 版本!否则将来安装时会报错。)分别压缩打包为 nodtmpa.rar、nodtmpb.rar、nodtmpc.rar 和 nodtmpd.rar(注意:只压缩文件,不包含文件夹)。
如用如下命令: rar a nodtmpa.rar nodtmpa\*.* -m5 -ep 封装组件包。
按照前面封装病毒库的办法将这四个 rar 封装入 ntbasecs.nup、ntstdcs.nup、admncs.nup 和 ntinetcs.nup 文件中。查找内嵌 rar 文件时,以"Rar!"为特征字符串(参见图四)。
图四:

格式:变量名=实际含义
-----------------------------------------------------------------------
%HOMEDRIVE% = C:\ 当前启动的系统的所在分区
%SystemDrive% = C:\ 当前启动的系统的所在目录
这种方法通常适用于由打印机驱动程序引起的乱码故障,考虑到打印机驱动程序常常会与某些应用程序共用相同的动态链接文件,因此在对应用程序频繁执行卸载和删除操作时,打印机驱动程序也很容易受到破坏,一旦打印机少了某个驱动文件,那么它工作起来出现打印乱码的故障也就不可避免了。既然这种乱码故障是由打印机的驱动程序引起的,因此我们就可以从打印驱动程序这个角度出发,来有针对性地排除由驱动出错而造成的乱码故障:
首先,检查一下当前打印机安装的驱动程序是否是原机附带的,如果不是的话,那迅速找来原装驱动程序,并将系统已有的驱动程序按照正确的方法卸载干净;之后,再按正确的方法,把原装驱动程序安装好,然后再进行打印测试,看看此时的打印乱码故障是否能排除。当然,要是身旁的确没有原装正版打印机驱动程序的话,不妨尝试到网上搜索一下,看看是否能找到适合于当前型号的打印机驱动程序,倘若能找到的话,也可以使用这个驱动程序来替代原装程序。