1.什么是特洛伊木马病毒?

2.电脑最下面的任务栏不显示怎么办

3.如何快速破坏电脑资料

4.怎样破坏电脑硬件

如何破坏一个文件系统,如何破坏对方电脑系统文件

随着杀毒软件的升级,病毒的花样也是越来越多。现在经常碰到病毒直接把杀毒软件给禁用了,让杀毒软件失去威力。下面教你一招用批处理防止病毒禁用杀毒软件。

解决方案

方案一:

新建一个记事本文件,把后缀名改成bat格式。在记事本中写入以下代码:

@echo

off

关闭回显

cd\

转换到根目录

cd

/d

%systemdrive%

转换到系统盘根目录

cd

program

files\

rising\

rav

进入杀毒软件安装目录

rd

ws2_32.dll/s/q?

删除ws2_32.dll文件

copy

%windir%\system32\ws2_32.dll

将system32下面ws2_32.dll拷贝到杀毒软件安装目录下

attrib

+s

+h

+r

ws2_32.dll?

设置ws2_32.dll为只读文件、系统文件、隐藏文件属性。

将批处理放到桌面上,如果遇到用伪造Ws2_32.dll文件禁用杀毒软件的此类病毒,双击它即可正常使用杀毒软件。

方案二:请打开360系统急救箱自定义全盘扫描,查杀一遍,查杀完成后重启电脑。

然后再打开360系统急救箱,选择修复功能(修复选项可全选),立即修复

360系统急救箱:

style="font-size: 18px;font-weight: bold;border-left: 4px solid #a10d00;margin: 10px 0px 15px 0px;padding: 10px 0 10px 20px;background: #f1dada;">什么是特洛伊木马病毒?

“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。

一个完整的“木马”程序包含了两部分:“服务器”和“控制器”。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了!

病毒是附着于程序或文件中的一段计算机代码,它可在计算机之间传播。它一边传播一边感染计算机。病毒可损坏软件、硬件和文件。

病毒 (n.):以自我复制为明确目的编写的代码。病毒附着于宿主程序,然后试图在计算机之间传播。它可能损坏硬件、软件和信息。

与人体病毒按严重性分类(从 Ebola 病毒到普通的流感病毒)一样,计算机病毒也有轻重之分,轻者仅产生一些干扰,重者彻底摧毁设备。令人欣慰的是,在没有人员操作的情况下,真正的病毒不会传播。必须通过某个人共享文件和发送电子邮件来将它一起移动。

“木马”全称是“特洛伊木马(TrojanHorse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。在Internet上,“特洛伊木马”指一些程序设计人员(或居心不良的马夫)在其可从网络上下载(Download)的应用程序或游戏、或网页中,包含了可以控制用户的计算机系统或通过邮件**用户信息的恶意程序,可能造成用户的系统被破坏、信息丢失甚至令系统瘫痪。

一、木马的特性

特洛伊木马属于客户/服务模式。它分为两大部分,既客户端和服务端。其原理是一台主机提供服务(服务器端),另一台主机接受服务(客户端),作为服务器的主机一般会打开一个默认的端口进行监听。如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来答应客户机的请求。这个程序被称为进程。

木马一般以寻找后门、窃取密码为主。统计表明,现在木马在病毒中所占的比例已经超过了四分之一,而在近年涌起的病毒潮中,木马类病毒占绝对优势,并将在未来的若干年内愈演愈烈。木马是一类特殊的病毒,如果不小心把它当成一个软件来使用,该木马就会被“种”到电脑上,以后上网时,电脑控制权就完全交给了“黑客”,他便能通过跟踪击键输入等方式,窃取密码、信用卡号码等机密资料,而且还可以对电脑进行跟踪监视、控制、查看、修改资料等操作。

二、木马发作特性

在使用计算机的过程中如果您发现:计算机反应速度发生了明显变化,硬盘在不停地读写,鼠标不听使唤,键盘无效,自己的一些窗口在被关闭,新的窗口被莫名其妙地打开,网络传输指示灯一直在闪烁,没有运行大的程序,而系统却越来越慢,系统资源站用很多,或运行了某个程序没有反映(此类程序一般不大,从十几k到几百k都有)或在关闭某个程序时防火墙探测到有邮件发出……这些不正常现象表明:您的计算机中了木马病毒。

三、木马的工作原理以及手动查杀介绍

由于大多玩家对安全问题了解不多,所以并不知道自己的计算机中了“木马”该怎么样清除。因此最关键的还是要知道“木马”的工作原理,这样就会很容易发现“木马”。相信你看了这篇文章之后,就会成为一名查杀“木马”的高手了。(如果成不了高手建议大家用皮筋打斑竹家玻璃,嘿嘿)

“木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,这是最基本的只要把Form的Visible属性设为False。ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。

A、启动组类(就是机器启动时运行的文件组)

当然木马也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端,(没有人会这么傻吧)。“木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。通过win.ini和system.ini来加载木马。在Windows系统中,win.ini和system.ini这两个系统配置文件都存放在C:windows目录下,你可以直接用记事本打开。可以通过修改win.ini文件中windows节的“load=file.exe,run=file.exe”语句来达到木马自动加载的目的。此外在system.ini中的boot节,正常的情况下是“Shell=Explorer.exe”(Windows系统的图形界面命令解释器)。下面具体谈谈“木马”是怎样自动加载的。

1、在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOLTrojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。

通过c:windowswininit.ini文件。很多木马程序在这里做一些小动作,这种方法往往是在文件的安装过程中被使用,程序安装完成之后文件就立即执行,与此同时安装的原文件被Windows删除干净,因此隐蔽性非常强,例如在wininit.ini中如果Rename节有如下内容:NUL=c:windowspicture.exe,该语句将c:windowspicture.exe发往NUL,这就意味着原来的文件pictrue.exe已经被删除,因此它运行起来就格外隐蔽。

2、在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell=explorer.exe程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

win.ini、system.ini文件可以通过“开始”菜单里的“运行”来查看。只要在“运行”对话框中输入“msconfig”,后点击“确定”按钮就行了。(这里大家一定要注意,如果你对计算机不是很了解,请不要输入此命令或删除里边的文件,否则一切后果和损失自己负责。斑竹和本人不承担任何责任。)

3、对于下面所列的文件也要勤加检查,木马们也可能隐藏在

C:\windows\winstart.bat和C:\windows\winnint.ini,还有Autoexec.bat

B、注册表(注册表就是注册表,懂电脑的人一看就知道了)

1、从菜单中加载。如果自动加载的文件是直接通过在Windows菜单上自定义添加的,一般都会放在主菜单的“开始->程序->启动”处,在Win98资源管理器里的位置是“C:windowsstartmenuprograms启动”处。通过这种方式使文件自动加载时,一般都会将其存放在注册表中下述4个位置上:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserS!hellFolders

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\UserShellFolders

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\ShellFolders

2、在注册表中的情况最复杂,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“AcidBatteryv1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer键值改为Explorer=“C:\WINDOWS\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。

3、此外在注册表中的HKEY_CLASSES_ROOT\exefile\shell\open\command=

“1”“*”处,如果其中的“1”被修改为木马,那么每次启动一个该可执行文件时木马就会启动一次,例如著名的冰河木马就是将TXT文件的Notepad.exe改成!了它自己的启动文件,每次打开记事本时就会自动启动冰河木马,做得非常隐蔽。

注册表可以通过在“运行”对话框中输入“regedit”来查看。需要说明的是,对系统注册表进行删除修改操作前一定要将注册表备份,因为对注册表操作有一定的危险性,加上木马的隐藏较隐蔽,可能会有一些误操作,如果发现错误,可以将备份的注册表文件导入到系统中进行恢复。(次命令同样很危险,如不懂计算机请不要尝试。切记)

C、端口(端口,其实就是网络数据通过操作系统进入计算机的入口)

1、万变不离其宗,木马启动都有一个方式,它只是在一个特定的情况下启动。所以平常多注意你的端口。一般的木马默认端口有

BO31337,YAL1999,Deep2140,Throat3150,冰河7636,Sub71243

那么如何查看本机开放哪些端口呢?

在dos里输入以下命令:netstat-an,就能看到自己的端口了,一般网络常用端口有:21,23,25,53,80,110,139,如果你的端口还有其他的,你可要注意了,因为现在有许多木马可以自己设定端口。(上面这些木马的端口是以前的,由于时间和安全的关系现在好多新木马的端口我不知道,也不敢去试,因为技术更新的太快了,我跟不上了。55555555555555)

2、由于木马的运行常通过网络的连接来实现的,因此如果发现可疑的网络连接就可以推测木马的存在,最简单的办法是利用Windows自带的Netstat命令来查看。一般情况下,如果没有进行任何上网操作,在MS-DOS窗口中用Netstat命令将看不到什么信息,此时可以使用“netstat-a”,“-a”选项用以显示计算机中目前所有处于监听状态的端口。如果出现不明端口处于监听状态,而目前又没有进行任何网络服务的操作,那么在监听该端口的很可能是木马。

3、系统进程:

在Win2000/XP中按下“CTL+ALT+DEL”,进入任务管理器,就可看到系统正在运行的全部进程,一一清查即可发现木马的活动进程。

在Win98下,查找进程的方法不那么方便,但有一些查找进程的工具可供使用。通过查看系统进程这种方法来检测木马非常简便易行,但是对系统必须熟悉,因为Windows系统在运行时本身就有一些我们不是很熟悉的进程在运行着,因此这个时候一定要小心操作,木马还是可以通过这种方法被检测出来的。

四、软件查杀木马介绍

上面所介绍的都是以手工方式来检测或者清除木马,但一般情况下木马没有那么容易就能发现,木马是很会隐藏的哦。幸好在已经有了不少的反木马软件。下面介绍几款软件,

1、瑞星杀毒软件。

2、个人版天网防火墙。根据反弹式木马的原理,就算你中了别人的木马,但由于防火墙把你的计算机和外界隔开,木马的客户端也连接不上你。防火墙启动之后,一旦有可疑的网络连接或者木马对电脑进行控制,防火墙就会报警,同时显示出对方的IP地址、接入端口等提示信息,通过手工设置之后即可使对方无法进行攻击。不过对于一些个别机器来说,运行天网会影响机器的运行速度。

3、木马克星。目前具我所知,是只查杀木马的软件,也是能查杀木马种类最多的软件。顾名思义,木马克星不克乾坤无敌槌也不克北冥槌法,专克各种木马。但也不是绝对哦,好象“灰鸽子”能屏蔽掉木马克星。(听说而已没试过哦。“灰鸽子”也是一种木马,和冰河差不多。)(现在木马克星大多是没注册的版本。用木马克星查木马时,要是提示你发现木马只有注册用户才能清除,这只是作者的一个小手段,其实他的意思是如果发现木马,那么只有注册用户才能清楚,要是真的发现了木马,软件会告诉你木马的具体位置和名字是什么。我们用其他的软件和手段清除不就行了)

4。绿鹰PC万能精灵。他会实时监控你的计算机,看着“系统安全”心理舒服多了。

有了类似的这些防护软件,你的计算机基本上是安全了。但道高一尺,魔高一丈。最近又出现了一种可以把木马伪装易容的程序(不知道是哪个高手搞的,很是厉害),就是把木马本体根据排列组合生成多个木马,而杀毒软件只能查杀他们的母体。而后生成的木马就不能查到了,所以手动人工的清除木马我们还是要掌握一些地。

软件查杀其他病毒很有效,对木马的检查也是蛮成功地,但彻底地清除不很理想,因为一般情况下木马在电脑每次启动时都会自动加载,而杀病毒软件却不能完全清除木马文件,总的说来,杀病毒软件作为防止木马的入侵来说更有效。

五、木马的防御

随着网络的普及和网络游戏装备可以换人民币的浪潮,木马的传播越来越快,而且新的变种层出不穷,我们在检测清除它的同时,更要注意采取措施来预防它,下面列举几种预防木马的方法。(大家的意见,我借用而已)

1、不要下载、接收、执行任何来历不明的软件或文件

很多木马病毒都是通过绑定在其他的软件或文件中来实现传播的,一旦运行了这个被绑定的软件或文件就会被感染,因此在下载的时候需要特别注意,一般推荐去一些信誉比较高的站点。在软件安装之前一定要用反病毒软件检查一下,建议用专门查杀木马的软件来进行检查,确定无毒和后再使用。

2、不要随意打开邮件的附件,也不要点击邮件中的可疑。(后边另外介绍一个关于邮件的例子,大家注意收看。)

3、将资源管理器配置成始终显示扩展名。将Windows资源管理器配置成始终显示扩展名,一些文件扩展名为vbs、shs、pif的文件多为木马病毒的特征文件,如果碰到这些可疑的文件扩展名时就应该引起注意。

4、尽量少用共享文件夹。如果因工作等原因必须将电脑设置成共享,则最好单独开一个共享文!件夹,把所有需共享的文件都放在这个共享文件夹中,注意千万不要将系统目录设置成共享。

5、运行反木马实时监控程序。木马防范重要的一点就是在上网时最好运行反木马实时监控程序,PC万用精灵等软件一般都能实时显示当前所有运行程序并有详细的描述信息。此外如加上一些专业的最新杀毒软件、个人防火墙等进行监控基本就可以放心了。

6、经常升级系统。很多木马都是通过系统漏洞来进行攻击的,微软公司发现这些漏洞之后都会在第一时间内发布补丁,很多时候打过补丁之后的系统本身就是一种最好的木马防范办法。

六、木马传播的个别范例(给大家介绍一个邮件类的)

1、来自网络的攻击手段越来越多了,一些带木马的恶意网页会利用软件或系统操作平台等的安全漏洞,通过执行嵌入在网页HTML超文本标记语言内的JavaApplet小应用程序、javascript脚本语言程序、ActiveX软件部件交互技术支持可自动执行的代码程序,强行修改用户操作系统的注册表及系统实用配置程序,从而达到非法控制系统资源、破坏数据、格式化硬盘、感染木马程序、**用户数据资料等目的。

目前来自网页的攻击分为两种:一种是通过编辑的脚本程序修改IE浏览器;另外一种是直接破坏Windows系统。前者一般会修改IE浏览器的标题栏、默认主页或直接将木马“种”在你的机器里等等;后者是直接锁定你的键盘、鼠标等输入设备然后对系统进行破坏。

(作者插言):还好目前**千年用户名和密码的“木马”功能还仅仅是偷盗行为,没有发展成破坏行为。要不然号被盗了,在顺便把硬盘被格式化了。那样想第一时间找回密码就都没可能。希望这种情况不要发生。(啊门我弥佗佛)

下边是正题了,大家看仔细了!

假如您收到的邮件附件中有一个看起来是这样的文件(或者貌似这类文件,总之是特别诱人的文件,而且格式还很安全。):QQ靓号放送.txt,您是不是认为它肯定是纯文本文件?我要告诉您,不一定!它的实际文件名可以是QQ靓号放送.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}。

{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}在注册表里是HTML文件关联的意思。但是存成文件名的时候它并不会显现出来,您看到的就是个.txt文件,这个文件实际上等同于QQ靓号放送.txt.html。那么直接打开这个文件为什么有危险呢?请看如果这个文件的内容如下:

您可能以为它会调用记事本来运行,可是如果您双击它,结果它却调用了HTML来运行,并且自动在后台开始通过网页加载木马文件。同时显示“正在打开文件”之类的这样一个对话框来欺骗您。您看随意打开附件中的.txt的危险够大了吧?

欺骗实现原理:当您双击这个伪装起来的.txt时候,由于真正文件扩展名是.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。

在某些恶意网页木马中还会调用“WScript”。

WScript全称WindowsScriptingHost,它是Win98新加进的功能,是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于c:\WINDOWS下,正是它使得脚本可以被执行,就象执行批处理一样。在WindowsScriptingHost脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。

最近听不少玩家反映,许多马夫通过冒充千年官方网站的办法给玩家发名字类似“您的千年密码确认函”、“您的千年资料保护建议”等的邮件,来骗取玩家的信任,来点击运行该木马邮件。希望广大玩家在点击这类邮件时一定要看清邮件是否来自于千年官方网站。如是来自其他什么网站或个人邮箱的,马上删除,记得一定要马上删除,别抱任何侥幸心理。

七、关于“木马”的防御(纯属个人意见,不付法律责任)

防止木马对在家上网来说是很简单的事,无非就是装一大堆杀毒软件,并及时升级。(再新的木马只要传播速度快的话很快就会成为各种杀毒软件的战利品,除非此人专门定做个人木马)在加上天网防火墙(很多黑客就是利用口令和漏洞进行远程控制,该防火墙可以防止口令和漏洞入侵)基本上就可以解决问题啦,除非是自己好奇或是不小心打开了木马服务端,我想这种情况还是占一定的比例!

但是对网吧上网的来说,再好的防御也是白撤。

据我所知,现在的网吧安全系数几乎等于00000000,现在最厉害的应该就是装个还“原精灵吧”,但是......我个人认为那东西用处不是很大,说是保护用户密码还不如说它是网吧保护系统的一种软件。现在的木马一般都是通过邮件方式传送密码的,也就是说,你只要在输入框内输入你的密码之后,木马控制方就已经得到你的ID和密码了(一般不会超过三分钟)!对网吧上网的朋友来说,靠复制方法输入ID和密码算最安全的了,很多木马程序实际上就是一个键盘记录工具,在你不知情的情况下把你的键盘输入情况全部记录了下来,然后通过网络发送出去!(好可怕哦,不过具我所知现在公安部和文化部已经明令禁止网吧安装还原精灵了,说是为了保留历史记录云云。唉~~就这么点防御手段也给封杀了,哭哦)

总之,家庭上网用户记得随时更新自己的病毒库,随时检查计算机进程,发现不明进程马上格杀,不浏览一些不明站点(我通常是靠域名来分析站点的可靠程度,一般一级域名都不会出现恶意代码和网页木马),更别随意接收别人给你发送的文件和邮件!

网吧防盗真的很困难了,什么人都有,复杂了,就算老板花钱去注册一个木马克星,呵呵。。。都没用,想做坏事的人同样能把他干掉~~~~我个人认为,网吧上网除了复制ID密码粘贴到输入框,其他的就得听天由命了~~~~~

八、关于大家都用的醉翁巷1.1G的说明

用了人家的软件,就总要替人家说句公道话。前些时候,有人说醉翁1.1G软件运行后,没什么反映。当关闭软件的一刹那,一些防护类软件提示:此软件正在监视本机键盘!!

其实就是醉翁巷中的hook.dll文件在作怪。下面给大家说说“勾子”的我问题。

什么是勾子

在Windows系统中,勾子(hook)是一种特殊的消息处理机制。勾子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的勾子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用勾子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握勾子的编程方法是很有必要的。

勾子的类型

按使用范围分类,主要有线程勾子和系统勾子

(1)线程勾子监视指定线程的事件消息。

(2)系统勾子监视系统中的所有线程的事件消息。因为系统勾子会影响系统中所有的应用程序,所以勾子函数必须放在独立的动态链接库(DLL)中。这是系统勾子和线程勾子很大的不同之处。

醉翁巷中的hook.dll就是完成以上功能的程序,由于勾子对程序的特殊性,所以会有部分软件报告发现他在记录键盘动作,不过不会报告说他是木马。(呵呵搞的确实挺吓人的。不过就算它记录键盘动作,只要不发送就没太大危险了)

九、大总结(就是对上边的大总结啦)

大家知道了“木马”的工作原理,查杀“木马”就变得很容易,如果发现有“木马”存在,最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对你进行攻击。然后在根据实际情况进行处理。

下面给大家说一下我机器的防护装备:(一共就5样)

XFILTER个人防火墙:这个防火墙没什么防病毒的功能,它只监视所有未经过我个人许可的程序连接网络。任何程序连接网络它都会通告并询问。比如安装完该软件“第一次”运行千年,它会提示你C:\ProgramFiles\1000y\Client.exe要连接网络,是否放行。它就是这样来防范的。

瑞星杀毒软件:以杀各种恶意病毒和木马为主,2004版专门提供游戏保护。

还原精灵:记录当前硬盘和系统信息。不管以后对硬盘和系统进行什么操作都能还原成初始模样。比如我们2003年11月1日对当前C硬盘和系统进行备份保存,2003年12月1日由于感染木马,对系统进行还原,还原后所有东西都会回到2003年11月1日备份是的样子。不论你在C盘上进行了什么操作,都会变回备份时的样子。这个软件就有一个缺点,会影响机器的启动速度。但不影响机器的运行。最近还有朋友反映新版本和某些游戏有冲突。

木马克星:这个我就不多说了,网络游戏玩家必备的东东。

十六进制编译器:具体名字我就不说了,有兴趣的朋友随便找一个用就行了。主要是对一些可疑程序进行扫描和检测。

以上各个软件在各大门户网站和各大下载专业网站都可以找到,在这里小女子就不提供网址了,避免不必要的麻烦。

电脑最下面的任务栏不显示怎么办

特洛伊木马是一种恶意程序,它们悄悄地在宿主机器上运行,就在用户毫无察觉的情况下,让攻击者获得了远程访问和控制系统的权限。一般而言,大多数特洛伊木马都模仿一些正规的远程控制软件的功能,如Symantec的pcAnywhere,但特洛伊木马也有一些明显的特点,例如它的安装和操作都是在隐蔽之中完成。攻击者经常把特洛伊木马隐藏在一些游戏或小软件之中,诱使粗心的用户在自己的机器上运行。最常见的情况是,上当的用户要么从不正规的网站下载和运行了带恶意代码的软件,要么不小心点击了带恶意代码的邮件附件。

大多数特洛伊木马包括客户端和服务器端两个部分。攻击者利用一种称为绑定程序的工具将服务器部分绑定到某个合法软件上,诱使用户运行合法软件。只要用户一运行软件,特洛伊木马的服务器部分就在用户毫无知觉的情况下完成了安装过程。通常,特洛伊木马的服务器部分都是可以定制的,攻击者可以定制的项目一般包括:服务器运行的IP端口号,程序启动时机,如何发出调用,如何隐身,是否加密。另外,攻击者还可以设置登录服务器的密码、确定通信方式。

服务器向攻击者通知的方式可能是发送一个email,宣告自己当前已成功接管的机器;或者可能是联系某个隐藏的Internet交流通道,广播被侵占机器的IP地址;另外,当特洛伊木马的服务器部分启动之后,它还可以直接与攻击者机器上运行的客户程序通过预先定义的端口进行通信。不管特洛伊木马的服务器和客户程序如何建立联系,有一点是不变的,攻击者总是利用客户程序向服务器程序发送命令,达到操控用户机器的目的。

特洛伊木马攻击者既可以随心所欲地查看已被入侵的机器,也可以用广播方式发布命令,指示所有在他控制之下的特洛伊木马一起行动,或者向更广泛的范围传播,或者做其他危险的事情。实际上,只要用一个预先定义好的关键词,就可以让所有被入侵的机器格式化自己的硬盘,或者向另一台主机发起攻击。攻击者经常会用特洛伊木马侵占大量的机器,然后针对某一要害主机发起分布式拒绝服务攻击(Denial of Service,即DoS),当受害者觉察到网络要被异乎寻常的通信量淹没,试图找出攻击者时,他只能追踪到大批懵然不知、同样也是受害者的DSL或线缆调制解调器用户,真正的攻击者早就溜之大吉。

特洛伊木马造成的危害可能是非常惊人的,由于它具有远程控制机器以及捕获屏幕、键击、音频、视频的能力,所以其危害程度要远远超过普通的病毒和蠕虫。深入了解特洛伊木马的运行原理,在此基础上采取正确的防卫措施,只有这样才能有效减少特洛伊木马带来的危害.

1. Trojan Remover Update 6.4.7 Date 01.27

一个专门用来清除特洛伊木马和自动修复系统文件的工具。

antivirus.pchome.net/trojan/1070.html

2. ZoneAlarm Free 6.1.737.000

ZoneAlarm来保护你的电脑,防止Trojan(特洛伊木马)程序,Trojan也是一种极为可怕的程

www.onlinedown.net/soft/1017.htm

3. Trojan Remover 6.4.7 Date 01.27

专门用来清除特洛伊木马和自动修复系统文件的工具

antivirus.pchome.net/trojan/7704.html

4. Trojan Remover 6.46(Database 6461)

是一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检查系统登录文件、扫描

www.onlinedown.net/soft/2902.htm

5. 木马终结者 V3.5

特洛伊木马病毒一种破坏力十分强的黑客病毒,你只要中

www.skycn.com/soft/2519.html

6. LDM木马检测程序 2003钻石版

LDM木马检测程序是大部分流行特洛伊木马病毒的克星,是一个专门防制特洛伊木马病毒的

www.onlinedown.net/soft/11555.htm

7. The Cleaner Database V3887

一个专门检测和清除侵入您系统中的特洛伊木马的专业程

www.skycn.com/soft/3760.html

8. Trojan Remover V6.4.6(Database 6461) Update

Trojan Remover 是一个专门用来清除特洛伊木马和自动修

www.skycn.com/soft/3217.html

9. 木马终结者 3.33

所有特洛伊木马病毒的克星,专门防制特洛伊木马病毒的防毒软件

antivirus.pchome.net/trojan/8238.html

10. 木马杀手 Trojan System Cleaner 3.5.1117

木马杀手会检测现存的特洛伊木马程序的活动、复原被特洛伊木马修改的系统文件,杀除特

www.onlinedown.net/soft/17193.htm

11. Trojan Remover Database Update 6461

Trojan Remover 是一个专门用来清除特洛伊木马和自动修

www.skycn.com/soft/3219.html

12. ZoneAlarm Pro 6.1.737.000

保护你的电脑,防止Trojan(特洛伊木马)程序

antivirus.pchome.net/others/8104.html

13. Trojan Remover 6.4.6 Database 6461 Update

是一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检查系统登录文件、扫描

www.onlinedown.net/soft/2903.htm

14. ZoneAlarm Security Suite V6.1.737.000

ZoneAlarm 保护你的电脑,防止Trojan(特洛伊木马)程序

www.skycn.com/soft/3769.html

15. 熊猫卫士 钛金版2.05.00

*基于极速“UltraFast”引擎,快速检测和清除所有病毒、特洛依木马、蠕虫、恶意的Java

www.onlinedown.net/soft/9066.htm

16. Trojan Remover Database 6461

是一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检查系统登录文件、扫描

www.onlinedown.net/soft/2905.htm

17. ZoneAlarm Pro 6.1.737.000

ZoneAlarm来保护你的电脑,防止Trojan(特洛伊木马)程序,Trojan也是一种极为可怕的程

www.onlinedown.net/soft/1019.htm

18. Antiy Ghostbusters Pro 5.05

一个专业级别的特洛伊木马检测和系统安全工具

download.pchome.net/internet/safe/15974.html

19. The Cleaner Pro V4.1 Build 4252

一个专门检测和清除侵入您系统中的特洛伊木马的专业程

www.skycn.com/soft/3758.html

20. ZoneAlarm Free V6.1.737.000

ZoneAlarm 来保护你的电脑,防止Trojan(特洛伊木马)程

www.skycn.com/soft/9443.html

21. ZoneAlarm Pro V6.1.737.000

ZoneAlarm来保护你的电脑,防止Trojan(特洛伊木马)程序

www.skycn.com/soft/3770.html

22. ZoneAlarm Pro V6.1.737.000 Beta

ZoneAlarm来保护你的电脑,防止Trojan(特洛伊木马)程序,Trojan也是一种极为可怕?

download.21cn.com/list.php?id=3458

23. Antiy Ghostbusters Advanced Edition 5.04

AntiyLabs出品的专业级特洛伊木马检测工具,被网友称为“捉鬼队”。该软件可以对驱动

www.onlinedown.net/soft/7660.htm

24. Trojan Remover 木马病毒库 6072

一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检查系统登录文件、扫

download.21cn.com/list.php?id=5317

25. The Cleaner Pro 4 updates Database 3860

一个专门检测和清除侵入您系统中的特洛伊木马的专业程序,内置3093个木马标识。可在线

www.onlinedown.net/soft/1445.htm

26. Digital Patrol 5.00.31

专门检测系统中特洛伊木马程序的扫毒软件

antivirus.pchome.net/trojan/12504.html

27. 熊猫卫士 7.0铂金版中文测试版

*基于极速“UltraFast”引擎,快速检测和清除所有病毒、特洛依木马、蠕虫、恶意的Java

www.onlinedown.net/soft/9065.htm

28. Trojan Remover V6.4.6(Database 6457)

Trojan Remover 是一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检?

download.21cn.com/list.php?id=7335

29. Trojan Remover V6.3.3 Date 12.20

Trojan Remover是一个专门用来清除特洛伊木马和自动修复系统文件的工具。能够检查

download.21cn.com/list.php?id=3692

30. The Cleaner V3.5.4.3519(DataBase 3359) 汉化版

一个专门检测和清除侵入您系统中的特洛伊木马的专业程

www.skycn.com/soft/3759.html

31. Anti-Trojan 5.5.421

Anti-Trojan扫描隐藏在你的系统里的具有破坏性的特洛依木马程序。它利用三重扫描来检

www.onlinedown.net/soft/1318.htm

32. TDS-3: Trojan Defence Suite 3.2.0

防特洛伊木马的软件,可以检测到360种以上的特洛伊木马和电脑蠕虫

antivirus.pchome.net/trojan/10170.html

33. ZoneAlarm Pro 4.5.594

保护你的电脑,防止Trojan(特洛伊木马)程序

antivirus.pchome.net/others/10678.html

34. 木马终结者 V3.37

特洛伊木马病毒一种破坏力十分强的黑客病毒。你只要中了毒,你的计算机将被黑客控

download.21cn.com/list.php?id=10681

35. The Cleaner (executable only) 3.54 Build 3528

一个专门检测和清除侵入您系统中的特洛伊木马的专业程序

antivirus.pchome.net/cleaner/8957.html

36. BoDetect 3.5

一个专门用来监测和删除特洛依木马之类的小工具

antivirus.pchome.net/trojan/10171.html

37. ZoneAlarm Anti-Spyware V6.1.737.000

ZoneAlarm 来保护你的电脑,防止Trojan(特洛伊木马)程

www.skycn.com/soft/9442.html

38. ZoneAlarm Free 6.0.629.000 Beta

ZoneAlarm来保护你的电脑,防止Trojan(特洛伊木马)程序,Trojan也是一种极为可怕的程

www.onlinedown.net/soft/20642.htm

39. LDM木马检测程序 Power XP Build 688C

特洛伊木马病毒一种破坏力十分强的黑客病毒,你只要中

www.skycn.com/soft/8731.html

40. Advanced Registry Tracer 2.03

具有侦测出特洛伊木马病毒功能

download.pchome.net/system/treak/10607.html

41. 木马杀手(Trojan System Cleaner) V3.5.1117

木马杀手会检测现存的特洛伊木马程序的活动、复原被特

www.skycn.com/soft/14265.html

如何快速破坏电脑资料

电脑最下面的任务栏不显示,解决方法如下:

1、检查是否是任务栏设置问题。按下键盘上的“F11”键,看是否恢复任务栏。或者按Windows键(位于ctrl和alt中间),显示出开始菜单,在空白处单击右键,点击“属性”,打开“任务栏和开始菜单属性”,在任务栏中选中“自动隐藏任务栏”,应用后再取消选择,同时选择“锁定任务栏”。

2、检查是否是病毒问题。建议使用金山卫士木马查杀功能,它不仅可以查杀木马,还没有修复因病毒木马对系统的破坏。

3、检查是否是系统问题。可以“ctrl+alt+del”打开任务管理器,点击文件,新建任务,输入explorer.exe。

如果以上方法仍然无法解决问题,建议咨询电脑专家或者联系售后服务。

怎样破坏电脑硬件

步骤/方法

1.被破坏的XP系统文件,应该如何快速恢复

如果Windows XP系统文件被病毒或其它原因破坏了可以从Windows XP装置盘中恢复那些被破坏的文件。

2.搜索需要的文件

具体方法:在Windows XP的安装盘中搜索被破坏的文件,需要注意的是,文件名的最后一个字符用底线“_”代替,例如:如果要搜索“Notepad.exe”则需要用“Notepad.ex_”来进行搜索。

 

 

3.搜索到了之后,打开命令行模式(在“运行”中输入“cmd”),然后输入:“EXPAND 源文件的完整路径 目标文件的完整路径”。例如: EXPAND D:\SETUP\NOTEPAD.EX_ C:\Windows\NOTEPAD.EXE。有一点需要注意的是,如果路径中有空格的话,那么需要把路径用双引号(英文引号)包括起来。

 

4.找到当然是最好的,但有时我们在Windows XP盘中搜索的时候找不到我们需要的文件。产生这种情况的一个原因是要找的文件是在“CAB”文件中。由于Windows XP把“CAB”当作一个文件夹,所以对于Windows XP系统来说,只需要把“CAB”文件右拖然后复制到相应目录即可。

5.如果使用的是其他Windows平台,搜索到包含目标文件名的“CAB”文件。然后打开命令行模式,输入:“EXTRACT /L 目标位置 CAB文件的完整路径”,例如: EXTRACT /L C:\Windows D:\I386\Driver.cab Notepad.exe。同前面一样,如同路径中有空格的话,则需要用双引号把路径包括起来。

END

注意事项

Xp系统盘安装文件时注意里面的系统文件

对于一个经常写程序的人来说,写驱动不是一件困难的事情。因为网络上有很多现成的

代码,要实现某个功能,直接 Ctrl+C和Ctrl+V 就能解决问题。但是写出来了驱动能不能加

载进入内核就是另外一回事了,准确的说是能不能存在于别人的硬盘上就是另外一回事了。

因为很多杀毒软件(特别像360这种没技术含量的)见到后缀名为sys的文件就直接删除,

甚至连调用NtLoadDriver的机会都没有。对于一般的软件来说,给出一个声明说明一下解

决方法就算了。但是对于恶意程序,是不能给出声明的。于是很多恶意软件的作者另辟蹊径,

利用大公司写好的而且有数字签名的驱动来做坏事。

有人说,大公司做好的驱动怎么可能被用来做坏事呢?其实,这是很容易理解的事情。

很多安全类或者系统优化类的软件,甚至系统毫不相关的软件(比如:迅雷)都附带有驱动。

这些驱动都带有一定的通用性。q_lai_a_qu网友在其博客里说:“ComputerZ.sys……没事

逆了逆是鲁大师的驱动,发现这个驱动功能齐全,而且没有调用者验证!既可以读、写Msr

寄存器,也可以用in、out指令读写端口,而且char/short/long数据长度齐全!”。这个是

个人之言,可信度请自行揣度。下面说个可信度比较高的例子:曾经有病毒利用了360的

AntiRK.dll来删除杀毒软件的文件(请自行用谷歌搜索“360 antirk.dll”,会有惊喜发现。

AntiRK.dll虽然不是驱动,但也是被非法利用了)。破坏杀毒软件的病毒已经算是小儿科了,

其实利用某些驱动还能破坏硬件!我最近在笔记本上折腾硬件,“本友会”上的网友给我推

荐了几款软件:SetFSB、ThrottleStop、NvFlash、WinFlash。它们分别是修改CPU外频、设

置CPU倍频(可以调节CPU电压)、读写显卡BIOS和读写主板BIOS的软件。一言概括他们的特性,

就是它们都支持NT x86/x64,它们的驱动都有正规数字签名(特别是最后两个,分别带的是 NVIDIA和ASUS的数字签名)。

最为重要的是,他们的驱动没有加花加壳,没有校验调用者,

如果利用这几个驱动,加上一丁点的逆向知识,就能做出破坏性的病毒(以下摘自我在紫水

晶编程论坛的帖子):

1.SetFSB能调节处理器的外频,如果直接把外频调到600MHz,电脑会瞬间黑屏,可能

会损坏 CPU或主板;

2.ThrottleStop能调节 CPU的倍频(如果CPU没有锁倍频),如果直接把倍频调到 31,

电脑会瞬间黑屏,可能会损坏CPU 或主板;ThrottleStop还能调节CPU的核心电压,如果

把CPU的核心电压调到3V,能直接烧毁CPU 甚至主板;

3.NvFlash、WinFlash等软件能直接读写BIOS(显卡BIOS 和主板BIOS),我们可以把

BIOS全部写零;

4.如果做病毒的话,先写坏显卡BIOS 和主板BIOS,然后通过调节电压烧掉显卡和CPU

(有可能会连同主板一起损坏);

解决方案

由此可见,没有验证调用者的驱动实在是有着巨大的危害。我最近受学院委托,做一个

需要驱动的软件(那个驱动会被加上数字签名)。为了防止上述悲剧发生,我决定在正式写

驱动之前,先解决如何防止自己的驱动被恶意利用。以前我曾经在紫水晶编程论坛上问过这

个问题,网友的回答五花八门,不过大概是可以分成三类:第一类是信息验证,比如应用程

序发个信息给驱动来验证一下是“自己人”;第二类是加壳保护,比如给驱动和应用程序加

上极强难脱的壳,利用VMP加密通信部分(类似XueTr 的做法);还有人提出混合应用,综

合第一类和第二类的做法。

这三种想法看似都不错,但是我认为不妥。第一种:别人只要把驱动全部逆向完毕就行

了;第二种:虽然VMP保护和加保护壳使得破解不容易,但是不是使破解变得不可能。而且

VMP 和保护壳能使程序执行的效率降低,我不太喜欢。最可恶的是,杀毒软件对加了壳(甚

至包括 UPX)和 VMP的程序一律报毒,得不偿失。于是我想出了第三种思路:校验调用者的

特征。如果符合,就执行功能语句,否则不予执行。如何校验调用者的特征码呢?不少人想

到的是使用CRC32 或者 MD5。使用它们不是不可以,不过我还有自己的想法。我的想法是自

己设计一套验证算法,它的规则如下:

1.获得调用者的EPROCESS

2.通过调用者的EPROCESS获得调用者的文件路径

3.获取调用者的文件全部内容,放到字节数组buff里

4.把 buff里所有的元素依次相加减(fb1 + fb2 - fb3...),得到y1

5.把 buff里所有的元素依次异或(0 XOR fb1 XOR fb2 XOR fb3...),得到y2

把 y1和 y2与已经计算出来的数值对比,如果都相同则执行功能代码,如果不相同则不

执行功能代码

获得调用者的EPROCESS直接用 PsGetCurrentProcess()就行了,获得调用者的文件路

径比较麻烦,大家可以使用我以前向高手购买的代码(已经封装为函数,方便调用):

//依据 EPROCESS得到进程全路径

VOID GetFullPathByEprocess( ULONG eprocess, PCHAR ProcessImageName )

{

ULONG object;

PFILE_OBJECT FileObject;

UNICODE_STRING FilePath;

UNICODE_STRING DosName;

STRING AnsiString;

FileObject = NULL;

FilePath.Buffer = NULL;

FilePath.Length = 0;

*ProcessImageName = 0;

//Eprocess->sectionobject(offset_SectionObject)

if(MmIsAddressValid((PULONG)(eprocess+offset_SectionObject)))

{

object=(*(PULONG)(eprocess+offset_SectionObject));

//KdPrint(("[GetProcessFileName] sectionobject :0x%x\n",object));

if(MmIsAddressValid((PULONG)((ULONG)object+0x014)))

{

object=*(PULONG)((ULONG)object+0x014);

//KdPrint(("[GetProcessFileName] Segment :0x%x\n",object));

if(MmIsAddressValid((PULONG)((ULONG)object+0x0)))

{

object=*(PULONG)((ULONG_PTR)object+0x0);

//KdPrint(("[GetProcessFileName]

ControlAera :0x%x\n",object));

if(MmIsAddressValid((PULONG)((ULONG)object+0x024)))

{

object=*(PULONG)((ULONG)object+0x024);

if (NtBuildNumber >= 6000) object=((ULONG)object &

0xfffffff8);

//KdPrint(("[GetProcessFileName]

FilePointer :0x%x\n",object));

}

else

return ;

}

else

return ;

}

else

return ;

}

else

return ;

FileObject=(PFILE_OBJECT)object;

FilePath.Buffer = ExAllocatePool(PagedPool,0x200);

FilePath.MaximumLength = 0x200;

//KdPrint(("[GetProcessFileName]

FilePointer :%wZ\n",&FilePointer->FileName));

ObReferenceObjectByPointer((PVOID)FileObject,0,NULL,KernelMode);

RtlVolumeDeviceToDosName(FileObject-> DeviceObject, &DosName);

RtlCopyUnicodeString(&FilePath, &DosName);

RtlAppendUnicodeStringToString(&FilePath, &FileObject->FileName);

ObDereferenceObject(FileObject);

RtlUnicodeStringToAnsiString(&AnsiString, &FilePath, TRUE);

if ( AnsiString.Length >= 216 )

{

memcpy(ProcessImageName, AnsiString.Buffer, 0x100u);

*(ProcessImageName + 215) = 0;

}

else

{

memcpy(ProcessImageName, AnsiString.Buffer, AnsiString.Length);

ProcessImageName[AnsiString.Length] = 0;

}

RtlFreeAnsiString(&AnsiString);

ExFreePool(DosName.Buffer);

ExFreePool(FilePath.Buffer);

}

以上代码需要三个硬编码,分别是NtBuildNumber(系统版本号)、EPROCESS中的

SectionObject项和UniqueProcessId项的偏移。我测试的操作系统是Windows 2003。所以

我在代码里如下定义:

#define offset_SectionObject 0x124

#define offset_UniqueProcessId 0x94

ULONG NtBuildNumber=3790;

获得进程路径后就校验特征码。由于流程已经说清楚了,所以直接给出代码:

VOID CalcChar(PUNICODE_STRING logFileUnicodeString, LONG *XorChar, LONG

*AnSChar)

{

OBJECT_ATTRIBUTES objectAttributes;

IO_STATUS_BLOCK iostatus;

HANDLE hfile;

NTSTATUS ntStatus;

FILE_STANDARD_INFORMATION fsi;

PUCHAR pBuffer;

ULONG i=0,y1=0,y2=0;

//初始化 objectAttributes

InitializeObjectAttributes(&objectAttributes,

logFileUnicodeString,

OBJ_CASE_INSENSITIVE,//对大小写敏感

NULL,

NULL);

//创建文件

ntStatus = ZwCreateFile(&hfile,

GENERIC_READ,

&objectAttributes,

&iostatus,

NULL,

FILE_ATTRIBUTE_NORMAL,

FILE_SHARE_READ,

FILE_OPEN,//即使存在该文件,也创建

FILE_SYNCHRONOUS_IO_NONALERT,

NULL,

0 );

if (!NT_SUCCESS(ntStatus))

{

dprintf("The file is not exist!\n");

return;

}

//读取文件长度

ntStatus = ZwQueryInformationFile(hfile,

&iostatus,

&fsi,

sizeof(FILE_STANDARD_INFORMATION),

FileStandardInformation);

dprintf("The program want to read %d bytes\n",fsi.EndOfFile.QuadPart);

//为读取的文件分配缓冲区

pBuffer = (PUCHAR)ExAllocatePool(PagedPool,

(LONG)fsi.EndOfFile.QuadPart);

//读取文件

ZwReadFile(hfile,NULL,

NULL,NULL,

&iostatus,

pBuffer,

(LONG)fsi.EndOfFile.QuadPart,

NULL,NULL);

dprintf("The program really read %d bytes\n",iostatus.Information);

//异或计算

for(i=0;i<iostatus.Information;i++)

y1=y1^(LONG)(*(pBuffer+i));

*XorChar=y1;

//加减计算

for(i=0;i<iostatus.Information;i++)

{

if(i%2==0)

y2=y2+(LONG)(*(pBuffer+i));

else

y2=y2-(LONG)(*(pBuffer+i));

}

*AnSChar=y2;

//关闭文件句柄

ZwClose(hfile);

//释放缓冲区

ExFreePool(pBuffer);

}

接下来就要调用了。我们需要编写一个函数VerifyCaller,在此函数里有两个值需要

固化在驱动里,就是合法调用者的两个特征值。为了方便计算这两个特征值,我特地写了个

应用程序,核心代码如下:

Option Explicit

Private Function ReadFile(ByVal strFileName As String, Optional ByVal

lngStartPos As Long = 1, Optional ByVallngFileSize As Long = -1) As Byte()

Dim FilNum As Long

FilNum = FreeFile

Open strFileName For Binary As #FilNum

If lngFileSize = -1 Then

ReDim ReadFile(LOF(FilNum) - lngStartPos)

Else

ReDim ReadFile(lngFileSize - 1)

End If

Get #FilNum, lngStartPos, ReadFile

Close #FilNum

End Function

Private Function WriteFile(ByVal strFileName As String, bytData() As Byte,

Optional ByVal lngStartPos As Long = -1,Optional ByVal OverWrite As Boolean =

True)

On Error GoTo erx

Dim FilNum As Long

FilNum = FreeFile

If OverWrite = True And Dir(strFileName) <> "" Then

Kill strFileName

End If

Open strFileName For Binary As #FilNum

If lngStartPos = -1 Then

Put #FilNum, LOF(FilNum) + 1, bytData

Else

Put #FilNum, lngStartPos, bytData

End If

Close #FilNum

erx:

End Function

Private Sub Command1_Click()

Dim buff() As Byte, i As Long, y As Long, ub As Long

'text1.text is the file name

buff = ReadFile(Text1.Text, 1, -1)

ub = UBound(buff)

'calc xor char

y = 0

For i = 0 To ub

y = y Xor buff(i)

Next

Text2.Text = CLng(y)

DoEvents

'calc add/sub char

y = 0

For i = 0 To ub

If i Mod 2 = 0 Then

y = y + CLng(buff(i))

Else

y = y - CLng(buff(i))

End If

Next

Text3.Text = CLng(y)

End Sub

Private Sub Form_Load()

Me.Icon = LoadPicture("")

End Sub

驱动里的 VerifyCaller代码如下:

LONG VerifyCaller(void)

{

PEPROCESS cur_ep;

char cur_pp[260];

char *nt_cur_pp;

ANSI_STRING asCur_pp;

UNICODE_STRING usCur_pp;

LONG xorc, ansc;

cur_ep=PsGetCurrentProcess();

GetFullPathByEprocess((ULONG)cur_ep, cur_pp);

//在文件名前面加上\?\

nt_cur_pp=cs("\\?\\",cur_pp);

DbgPrint("%s",nt_cur_pp);

RtlInitAnsiString(&asCur_pp, nt_cur_pp);

RtlAnsiStringToUnicodeString(&usCur_pp, &asCur_pp, TRUE);

DbgPrint("%wZ",&usCur_pp);

CalcChar(&usCur_pp, &xorc, &ansc);

DbgPrint("XorChar: %ld; AnSChar: %ld",xorc,ansc);

//这个就是事先算好的合法程序的特征码,必须固化在驱动里!

if(xorc==186 && ansc==136176)

return 1;

else

return 0;

}

在 DispatchIoctl函数的每个功能执行之前,都调用VerifyCaller()校验一下调用者:

switch(uIoControlCode)

{

case IOCTL_VERIFY:

{

DbgPrint("[MyDriver] DispatchIoctl - IOCTL_VERIFY");

if(VerifyCaller()==1)

DbgPrint("[MyDriver] {IOCTL_VERIFY} Function code run now!");

else

DbgPrint("[MyDriver] {IOCTL_VERIFY} You're illegal caller!");

status = STATUS_SUCCESS;

break;

}

//下面省略

}

运行测试

3.首先把合法的调用者,非法的调用者(用eXeScope随便把合法的调用者Patch一下,

比如删掉程序的版本信息)和驱动复制到虚拟机

4.用合法的调用者来加载驱动并执行

5.用非法的调用者来加载驱动并执行

6.对比以上两者在DbgView的输出

调用者合法时:

调用者非法时:

写在最后

写完这篇文章,我必须再次重申:只有当驱动程序携带正式数字签名时,验证调用者的

代码才有使用价值。为什么这么说呢?因为别人无法patch 带有正式数字签名的驱动(一旦

驱动被 patch,签名就失效了,就像被破处的女人,不值钱了。这个比喻虽然粗俗,但是很

恰当)。而没有加上签名的驱动,本来就没有使用价值。即使别人要使用,直接把驱动扔到

IDA 里,什么代码都出来了。