首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
Search
1
在IC617中进行xa+vcs数模混仿
84 阅读
2
科普:Memory Compiler生成的Register file和SRAM有何区别?
74 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
74 阅读
4
后仿中$setup,$hold与$setuphold
45 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
35 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vscode
linux
systemverilog
vcs
STM32
PyQT
EDA
FPGA
gvim
cadence
Alist
xilinx
UVM
uos
macos
package
MCU
risc-v
bennyhe
累计撰写
378
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
搜索到
168
篇与
的结果
2025-07-14
Impulse C-to-FPGA设计工具 (2008-06-09 12:21:01)[
Impulse Accelerated Technologies公司最近推出2.0版的CoDeveloper C-to-FPGA设计工具。新版本包括一个新的编译器,速度提高达两倍,并提高了设计质量,使其可与手工优化的设计相比。2.0版增加了对模块生成的支持,允许从C语言生成硬件IP模块,并使用指定端口将这些模块与整体设计集成在一起。在改进对VHDL的支持的同时,新版本增加了Verilog编译器输出。Impulse公司透露,新版本包含扩展指令调度和循环管线操作,大大地改善了设计结果的质量,改进的地方包括:支持定宽(fixed-width integer)整数、定点数学操作、优化器报告(包括管线有效率估计)、通过应用管理器和应用监控器接口进行的桌面模拟。新版本改进了对嵌入式处理器的支持,包括支持最新的Altera和Xilinx处理器和相关软件设计环境。CoDeveloper的设计初衷是促使FPGA算法可与现有的C/C++工具协同开发和调试。这种软件到硬件编译器将C语言处理翻译成低级FPGA硬件语言,并优化生成的逻辑。目前用FPGA实现嵌入式系统呈现越来越最流行的趋势。本书介绍了用C 语言为FPGA编程的原理和技术,以及如何用C语言实现FPGA硬件的平台。该平台提供了一个类似C语言的描述硬件需求的语言Impulse C,设计者只需用该语言描述要实现的硬件的行为,在设计平台的支持下,就可以在FPGA 上实现所要求的硬件。因此,这种设计方法既简化了硬件设计者的设计过程,又为软件设计人员提供了一种可行的硬件设计的途径。本书注重理论与实际相结合,既有原理的介绍,又对设计方法和过程作了详尽的介绍,同时提供了丰富的实例。本书可作为高等院校自动化、电子信息类专业高年级本科生和研究生的教材和学习参考资料,也可作为从事FPGA编程的工程技术人员和EDA工具开发者的参考书。-
2025年07月14日
0 阅读
0 评论
0 点赞
2025-07-14
一种数字集成电路测试系统的设计
一种数字集成电路测试系统的设计http://www.ee365.cn 2005-11-01 20:34 摘要:介绍了一种数字集成电路测试系统的工作原理、组成。提出了系统的软硬件设计方案。该系统基于自定义总线结构,可测试电平范围宽。关键词:数字集成电路测试功能测试通道板精密测量单元随着数字集成电路的广泛应用,测试系统就显得越来越重要。在网络化集成电路可靠性试验及测试系统项目中,需要检验某些具有宽电平范围的军用数字集成电路芯片,而市场上常见的中小型测试系统可测电平范围达不到要求,而大型测试系统价格昂贵。本文介绍了为此项目研制的一种数字集成电路测试系统,可测电平范围达±32V,使用方便,且成本较低。测试系统结构及工作原理系统需要对集成电路进行功能测试和直流参数测试。功能测试通过向集成电路输入端施加设定的测试向量,检测并比较其输出的测试向量,从而验证器件的逻辑功能是否正常。直流参数测试是以电压或电流的形式验证集成电路的电气参数,要保证较高的测试精度。为了使系统结构灵活,便于升级,采用了基于总线的模块化结构,其结构如图1所示。系统由通道板、数控电源板(DPS板)、精密测量单元板(PMU板)、测试接口板、单片机系统板(CPU板)和总线板组成。各个板卡通过总线板进行数据连接和交换。DPS板给测试系统提供电源、电压参考,给被测器件(DUT)提供工作电压。测试接口板功能是给DUT提供测试接口,给器件上电。http://www1.ti.com.cn/customer/article/2004/images/040305_35.gif 在功能测试过程中,计算机把预先生成的测试向量送到单片机系统,单片机控制通道板把信号电平转换为测试所需的电平,并把转换后的时序波形施加到待测器件(DUT)的输入管脚上,然后检测DUT的输出,把检测结果通过总线传到单片机进行判断处理。直流参数测试过程是向DUT施加直流参数测试条件,通过PMU实现DUT直流参数的精密测量。通道板通道板功能有两个,一是把测试码合成最终的测试信号施加到DUT,另外的功能是对DUT的返回信号进行分析比较,将比较结果通过总线返回到单片机系统。通道板的结构设计如图2所示。控制总线通过译码与逻辑控制单元设定并控制DUT管脚的地址,管脚驱动与控制单元驱动并控制继电器阵列完成DUT管脚数据的输入和输出功能。VIH(VIL)是由DPS板设定产生的测试所需的高(低)驱动电平。总线发送由程序预先生成的测试向量,电平转换与驱动单元把测试向量转换为设定电平的测试时序波形,管脚驱动与控制单元控制继电器阵列把波形施加到DUT的输入管脚。管脚电平比较单元检测输出管脚信号电平,与预期输出数据进行逻辑比较后把比较结果传回下位机。在直流参数测试过程中,继电器控制单元将测试接口板上的DUT连接到PMU,利用PMU模块实现电压或电流的精密测量。在通道板的电平转换部分设计如图3所示。电路在稳定后,在无信号输入时,V1略高于V2,输出为VIH;当TTL输入为低电平时,由于电容电压不能突变,使得V1低于V2,比较器翻转,输出为VIL;当TTL输入为高电平时,同样,V1略高于V2,输出为VIH。由于电容充放电,输出端电平不能长久保持在低电平,选取足够大的电容可满足本系统的测试需要。http://www1.ti.com.cn/customer/article/2004/images/040305_36.gif 精密测量单元精密测量单元(PMU)是系统精密测量直流参数的基本单元。系统采用12位A/D和D/A转换器、分档以及开尔文接法等手段来实现高精度测量。PMU可实现加压测流(FVMI)和加流测压(FIMV)两种工作方式。其中PMU中加压测流原理图如图3所示。Vin作为输入,器件施加电压Vp经测试接口板施加到DUT,通过测试Vout可得到到测试电流I。根据电路图可以计算出:这样,根据公式(1),通过控制Vin就可以向被测器件施加设定的电压Vp,根据公式(2)可通过测试Vout来计算被测器件管脚上流过的电流I。http://www1.ti.com.cn/customer/article/2004/images/040305_38.gifhttp://www1.ti.com.cn/customer/article/2004/images/040305_37.gif 直流参数测试中,PMU可通过测试输出端高/低电平、输入端漏电流、输出短路电流以及静态功耗电流等来检测器件的负载特性和静态功耗。为了使PMU具有足够宽的测试范围和测试精度,A3采用具有FET输入级的高压运放OPA445,接成跟随器,使得流入A3的电流极小,保证了电流测试的精度,并且其高压特性保证了PMU的测试范围。 http://www1.ti.com.cn/customer/article/2004/images/040305_39.gif软件部分软件部分的作用是用计算机控制测试系统,并为用户提供一个友好、易于操作的界面。下位机软件用C51程序编写,主程序流程图如图4所示。上位机采用VC#.net编写。下位机软件的主要工作是根据上位机传送的测设参数设置系统电压及测试条件,载入测试向量向DUT管脚发送输入波形,然后测试输出端波形数据,发送到上位机并存储到数据库。经过用户的实际应用,证明该系统性价比高,测试准确。 http://www1.ti.com.cn/customer/article/2004/images/040305_40.gif参考文献
2025年07月14日
0 阅读
0 评论
0 点赞
2025-07-14
循环冗余校验CRC的算法分析和程序实现(cont')(2008-06-09 09:34:21)
三、CRC-32的程序实现。为了提高编码效率,在实际运用中大多采用查表法来完成CRC-32校验,下面是产生CRC-32校验吗的子程序。unsigned long crc_32_tab[256]={0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,0x0edb8832,…, 0x5a05df1b, 0x2d02ef8d};//事先计算出的参数表,共有256项,未全部列出。unsigned long GenerateCRC32(char xdata * DataBuf,unsigned long len){unsigned long oldcrc32;unsigned long crc32;unsigned long oldcrc;unsigned int charcnt; char c,t; oldcrc32 = 0x00000000; //初值为0 charcnt=0; while (len--) { t= (oldcrc32 >> 24) & 0xFF; //要移出的字节的值 oldcrc=crc_32_tab[t]; //根据移出的字节的值查表 c=DataBuf[charcnt]; //新移进来的字节值 oldcrc32= (oldcrc32 << 8) | c; //将新移进来的字节值添在寄存器末字节中 oldcrc32=oldcrc32^oldcrc; //将寄存器与查出的值进行xor运算 charcnt++; } crc32=oldcrc32; return crc32; }参数表可以先在PC机上算出来,也可在程序初始化时完成。下面是用于计算参数表的c语言子程序,在Visual C++ 6.0下编译通过。include <stdio.h>unsigned long int crc32_table[256];unsigned long int ulPolynomial = 0x04c11db7;unsigned long int Reflect(unsigned long int ref, char ch){ unsigned long int value(0);// 交换bit0和bit7,bit1和bit6,类推for(int i = 1; i < (ch + 1); i++){ if(ref & 1)value |= 1 << (ch - i); ref >>= 1; } return value;}init_crc32_table(){ unsigned long int crc,temp;// 256个值for(int i = 0; i <= 0xFF; i++){ temp=Reflect(i, 8);crc32_table[i]= temp<< 24;for (int j = 0; j < 8; j++){ unsigned long int t1,t2; unsigned long int flag=crc32_table[i]&0x80000000;t1=(crc32_table[i] << 1);if(flag==0) t2=0; else t2=ulPolynomial; crc32_table[i] =t1^t2 ; }crc=crc32_table[i];crc32_table[i] = Reflect(crc32_table[i], 32);}}结束语CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段。参考文献[1] 王新梅 肖国镇. 纠错码-原理与方法.西安:西安电子科技大学出版社,2001[2] 罗伟雄 韩力 原东昌 丁志杰 通信原理与电路. 北京:北京理工大学出版社,1999[3] 王仲文 ARQ编码通信.北京:机械工业出版社,1991[4] Ross Williams, A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS.
2025年07月14日
0 阅读
0 评论
0 点赞
2025-07-14
循环冗余校验CRC的算法分析和程序实现 (2008-06-09 09:33:23)
摘要 通信的目的是要把信息及时可靠地传送给对方,因此要求一个通信系统传输消息必须可靠与快速,在数字通信系统中可靠与快速往往是一对矛盾。为了解决可靠性,通信系统都采用了差错控制。本文详细介绍了循环冗余校验CRC(Cyclic Redundancy Check)的差错控制原理及其算法实现。关键字 通信 循环冗余校验 CRC-32 CRC-16 CRC-4 概述 在数字通信系统中可靠与快速往往是一对矛盾。若要求快速,则必然使得每个数据码元所占地时间缩短、波形变窄、能量减少,从而在受到干扰后产生错误地可能性增加,传送信息地可靠性下降。若是要求可靠,则使得传送消息地速率变慢。因此,如何合理地解决可靠性也速度这一对矛盾,是正确设计一个通信系统地关键问题之一。为保证传输过程的正确性,需要对通信过程进行差错控制。差错控制最常用的方法是自动请求重发方式(ARQ)、向前纠错方式(FEC)和混合纠错(HEC)。在传输过程误码率比较低时,用FEC方式比较理想。在传输过程误码率较高时,采用FEC容易出现“乱纠”现象。HEC方式则式ARQ和FEC 的结合。在许多数字通信中,广泛采用ARQ方式,此时的差错控制只需要检错功能。实现检错功能的差错控制方法很多,传统的有:奇偶校验、校验和检测、重复码校验、恒比码校验、行列冗余码校验等,这些方法都是增加数据的冗余量,将校验码和数据一起发送到接受端。接受端对接受到的数据进行相同校验,再将得到的校验码和接受到的校验码比较,如果二者一致则认为传输正确。但这些方法都有各自的缺点,误判的概率比较高。 循环冗余校验CRC(Cyclic Redundancy Check)是由分组线性码的分支而来,其主要应用是二元码组。编码简单且误判概率很低,在通信系统中得到了广泛的应用。下面重点介绍了CRC校验的原理及其 算法实现。 一、循环冗余校验码(CRC)CRC校验采用多项式编码方法。被处理的数据块可以看作是一个n阶的二进制多项式,由 。如一个8位二进制数10110101可以表示为: 。多项式乘除法运算过程与普通代数多项式的乘除法相同。多项式的加减法运算以2为模,加减时不进,错位,和逻辑异或运算一致。采用CRC校验时,发送方和接收方用同一个生成多项式g(x),并且g(x)的首位和最后一位的系数必须为1。CRC的处理方法是:发送方以g(x)去除t(x),得到余数作为CRC校验码。校验时,以计算的校正结果是否为0为据,判断数据帧是否出错。CRC校验可以100%地检测出所有奇数个随机错误和长度小于等于k(k为g(x)的阶数)的突发错误。所以CRC的生成多项式的阶数越高,那么误判的概率就越小。CCITT建议:2048 kbit/s的PCM基群设备采用CRC-4方案,使用的CRC校验码生成多项式g(x)= 。采用16位CRC校验,可以保证在 bit码元中只含有一位未被检测出的错误。在IBM的同步数据链路控制规程SDLC的帧校验序列FCS中,使用CRC-16,其生成多项式g(x)= ;而在CCITT推荐的高级数据链路控制规程HDLC的帧校验序列FCS中,使用CCITT-16,其生成多项式g(x)= 。CRC-32的生成多项式g(x)= 。CRC-32出错的概率比CRC-16低 倍。由于CRC-32的可靠性,把CRC-32用于重要数据传输十分合适,所以在通信、计算机等领域运用十分广泛。在一些UART通信控制芯片(如 MC6582、Intel8273和Z80-SIO)内,都采用了CRC校验码进行差错控制;以太网卡芯片、MPEG解码芯片中,也采用CRC-32进行差错控制。二、CRC校验码的算法分析CRC校验码的编码方法是用待发送的二进制数据t(x)除以生成多项式g(x),将最后的余数作为CRC校验码。其实现步骤如下:设待发送的数据块是m位的二进制多项式t(x),生成多项式为r阶的g(x)。在数据块的末尾添加r个0,数据块的长度增加到m+r位,对应的二进制多项式为 。用生成多项式g(x)去除 ,求得余数为阶数为r-1的二进制多项式y(x)。此二进制多项式y(x)就是t(x)经过生成多项式g(x)编码的CRC校验码。用 以模2的方式减去y(x),得到二进制多项式 。 就是包含了CRC校验码的待发送字符串。从CRC的编码规则可以看出,CRC编码实际上是将代发送的m位二进制多项式t(x)转换成了可以被g(x)除尽的m+r位二进制多项式,所以解码时可以用接受到的数据去除g(x),如果余数位零,则表示传输过程没有错误;如果余数不为零,则在传输过程中肯定存在错误。许多CRC的硬件解码电路就是按这种方式进行检错的。同时可以看做是由t(x)和CRC校验码的组合,所以解码时将接收到的二进制数据去掉尾部的r位数据,得到的就是原始数据。为了更清楚的了解CRC校验码的编码过程,下面用一个简单的例子来说明CRC校验码的编码过程。由于CRC-32、CRC-16、CCITT和CRC-4的编码过程基本一致,只有位数和生成多项式不一样。为了叙述简单,用一个CRC-4编码的例子来说明CRC的编码过程。设待发送的数据t(x)为12位的二进制数据100100011100;CRC-4的生成多项式为g(x)= ,阶数r为4,即10011。首先在t(x)的末尾添加4个0构成 ,数据块就成了1001000111000000。然后用g(x)去除,不用管商是多少,只需要求得余数y(x)。下表为给出了除法过程。除数次数 被除数/ g(x)/结果 余数 0 1 001000111000000 100111000000 1 0011 0 000100111000000 1 1 00111000000 1000000 1 0011 0 00001000000 2 1 000000 1100 1 0011 0 001100 从上面表中可以看出,CRC编码实际上是一个循环移位的模2运算。对CRC-4,我们假设有一个5 bits的寄存器,通过反复的移位和进行CRC的除法,那么最终该寄存器中的值去掉最高一位就是我们所要求的余数。所以可以将上述步骤用下面的流程描述://reg是一个5 bits的寄存器把reg中的值置0. 把原始的数据后添加r个0. While (数据未处理完) Begin If (reg首位是1) reg = reg XOR 0011. 把reg中的值左移一位,读入一个新的数据并置于register的0 bit的位置。 Endreg的后四位就是我们所要求的余数。这种算法简单,容易实现,对任意长度生成多项式的G(x)都适用。在发送的数据不长的情况下可以使用。但是如果发送的数据块很长的话,这种方法就不太适合了。它一次只能处理一位数据,效率太低。为了提高处理效率,可以一次处理4位、8位、16位、32位。由于处理器的结构基本上都支持8位数据的处理,所以一次处理8位比较合适。为了对优化后的算法有一种直观的了解,先将上面的算法换个角度理解一下。在上面例子中,可以将编码过程看作如下过程:由于最后只需要余数,所以我们只看后四位。构造一个四位的寄存器reg,初值为0,数据依次移入reg0(reg的0位),同时reg3的数据移出 reg。有上面的算法可以知道,只有当移出的数据为1时,reg才和g(x)进行XOR运算;移出的数据为0时,reg不与g(x)进行XOR运算,相当与和0000进行XOR运算。就是说,reg和什么样的数据进行XOR移出的数据决定。由于只有一个bit,所以有 种选择。上述算法可以描述如下,//reg是一个4 bits的寄存器初始化t[]={0011,0000}把reg中的值置0. 把原始的数据后添加r个0. While (数据未处理完) Begin 把reg中的值左移一位,读入一个新的数据并置于register的0 bit的位置。reg = reg XOR t[移出的位]End上面算法是以bit为单位进行处理的,可以将上述算法扩展到8位,即以Byte为单位进行处理,即CRC-32。构造一个四个Byte的寄存器reg,初值为0x00000000,数据依次移入reg0(reg的0字节,以下类似),同时reg3的数据移出reg。用上面的算法类推可知,移出的数据字节决定reg和什么样的数据进行XOR。由于有8个bit,所以有 种选择。上述算法可以描述如下://reg是一个4 Byte的寄存器初始化t[]={…}//共有 =256项把reg中的值置0. 把原始的数据后添加r/8个0字节. While (数据未处理完) Begin 把reg中的值左移一个字节,读入一个新的字节并置于reg的第0个byte的位置。reg = reg XOR t[移出的字节]End算法的依据和多项式除法性质有关。如果一个m位的多项式t(x)除以一个r阶的生成多项式g(x), ,将每一位(0=<k<m)提出来,在后面不足r个0后,单独去除g(x),得到的余式位 。则将后得到的就是t(x)由生成多项式g(x)得到的余式。对于CRC-32,可以将每个字节在后面补上32个0后与生成多项式进行运算,得到余式和此字节唯一对应,这个余式就是上面算法种t[]中的值,由于一个字节有8位,所以t[]共有=256项。多项式运算性质可以参见参考文献[1]。这种算法每次处理一个字节,通过查表法进行运算,大大提高了处理速度,故为大多数应用所采用。
2025年07月14日
0 阅读
0 评论
0 点赞
2025-07-14
系统自带的最不起眼但又最强的杀毒工具 此博文包含图片 (2008-06-09 09:32:11)
Windows系统集成了无数的工具,它们各司其职,满足用户不同的应用需求。其实这些工具“多才多艺”,如果你有足够的想象力并且善于挖掘,你会发现它们除了本行之外还可以帮我们杀毒。不信?你看吧! 一、任务管理器给病毒背后一刀 Windows任务管理器是大家对进程进行管理的主要工具,在它的“进程”选项卡中能查看当前系统进程信息。在默认设置下,一般只能看到映像名称、用户名、CPU占用、内存使用等几项,而更多如I/O读写、虚拟内存大小等信息却被隐藏了起来。可别小看了这些被隐藏的信息,当系统出现莫名其妙的故障时,没准就能从它们中间找出突破口。 1.查杀会自动消失的双进程木马 前段时间朋友的电脑中了某木马,通过任务管理器查出该木马进程为“system.exe”,终止它后再刷新,它又会复活。进入安全模式把c:\windows\system32\system.exe删除,重启后它又会重新加载,怎么也无法彻底清除它。从此现象来看,朋友中的应该是双进程木马。这种木马有监护进程,会定时进行扫描,一旦发现被监护的进程遭到查杀就会复活它。而且现在很多双进程木马互为监视,互相复活。因此查杀的关键是找到这“互相依靠”的两个木马文件。借助任务管理器的PID标识可以找到木马进程。 调出Windows任务管理器,首先在“查看→选择列”中勾选“PID(进程标识符)”,这样返回任务管理器窗口后可以看到每一个进程的PID标识。这样当我们终止一个进程,它再生后通过PID标识就可以找到再生它的父进程。启动命令提示符窗口,执行“taskkill /im system.exe /f”命令。刷新一下电脑后重新输入上述命令如图1,可以看到这次终止的system.exe进程的PID为1536,它属于PID为676的某个进程。也就是说PID为1536的system.exe进程是由PID为676的进程创建的。返回任务管理器,通过查询进程PID得知它就是“internet.exe”进程进程。(如图)http://www.news365.com.cn/wxpd/sm/fwpt/200804/W020080410345690783785.jpg 找到了元凶就好办了,现在重新启动系统进入安全模式,使用搜索功能找到木马文件c:\windows\internet.exe ,然后将它们删除即可。前面无法删除system.exe,主要是由于没有找到internet.exe(且没有删除其启动键值),导致重新进入系统后internet.exe复活木马。 2.揪出狂写硬盘的P2P程序 单位一电脑一开机上网就发现硬盘灯一直闪个不停,硬盘狂旋转。显然是本机有什么程序正在进行数据的读取,但是反复杀毒也没发现病毒、木马等恶意程序。 打开该电脑并上网,按Ctrl+Alt+Del键启动了任务管理器,切换到“进程”选项卡,点击菜单命令“查看→选择列”,同时勾选上“I/O写入”和“I/O写入字节”两项。确定后返回任务管理器,发现一个陌生的进程hidel.exe,虽然它占用的CPU和内存并不是特别大,但是I/O的写入量却大得惊人,看来就是它在捣鬼了,赶紧右击它并选择“结束进程”终止,果然硬盘读写恢复正常了。 二、系统备份工具杀毒于无形 笔者曾遭遇一个无法删除的病毒“C:\Program Files\Common Files\PCSuite\rasdf.exe”,同时也无法复制这个文件,如何清除它。笔者通过系统备份工具清除了该病毒,操作过程如下: 第一步:单击“开始→所有程序→附件→系统工具→备份”,打开备份或还原向导窗口,备份项目选择“让我选择要备份的内容”,定位到“C:\Program Files\Common Files\PCSuite”。 第二步:继续执行备份向导操作,将备份文件保存为“g:\virus.bkf”,备份选项勾选“使用卷阴影复制”,剩余操作按默认设置完成备份。 第三步:双击“g:\virus.bak”,打开备份或还原向导,把备份还原到“g:\virus”。接着打开“g:\virus”,使用记事本打开病毒文件“rasdf.exe”,然后随便删除其中几行代码并保存,这样病毒就被我们使用记事本破坏了(它再也无法运行)。 第四步:操作同上,重新制作“k:\virus”的备份为“k:\virus1.bkf”。然后启动还原向导,还原位置选择“C:\Program Files\Common Files\PCSuite\”,还原选项选择“替换现有文件”。这样,虽然当前病毒正在运行,但备份组件仍然可以使用坏的病毒文件替换当前病毒。还原完成后,系统提示重新启动,重启后病毒就不会启动了(因为它已被记事本破坏)。 三、记事本借刀杀人 1.双进程木马的查杀 现在,越来越多的木马采用双进程守护技术保护自己,就是两个拥有同样功能的代码程序,不断地检测对方是否已经被别人终止,如果发现对方已经被终止了,那么又开始创建对方,这给我们的查杀带来很大的困难。不过,此类木马也有“软肋”,它只通过进程列表进程名称来判断被守护进程是否存在。这样,我们只要用记事本程序来替代木马进程,就可以达到“欺骗”守护进程的目的。 下面以某变种木马的查杀为例。中招该木马后,木马的“internet.exe”和“systemtray.exe”两个进程会互相监视。当然,我们中招的时候大多不知道木马具体的监护进程。不过,通过进程名称可以知道,“systemtray.exe”是异常的进程,因为系统正常进程中没有该进程。下面使用替换方法来查杀该木马。 第一步:单击“开始→运行”,输入“Msinfo32”打开系统信息窗口,展开“系统摘要→软件环境→正在运行任务”,这里可以看到“systemtray.exe”路径在“C:\Windows\System32”下。 第二步:打开“C:\Windows\System32”,复制记事本程序“notepad.exe”到“D:\” ,同时重命名为“systemtray.exe”。 第三步:打开记事本程序,输入下列代码,保存为“shadu.bat”,放置在桌面(括号为注释,无须输入): @echo off Taskkill /f /im systemtray.exe (使用taskkill命令强行终止“systemtray.exe”进程) Delete C:\Windows\System32\systemtray.exe (删除病毒文件) Copy d:\systemtray.exe C:\Windows\System32(替换病毒文件) 第四步:现在只要在桌面运行“shadu.bat”,系统会将“systemtray.exe”进程终止并删除,同时把改名的记事本程序复制到系统目录。这样,守护进程会“误以为”被守护进程还存在,它会立刻启动一个记事本程序。 第五步:接下来我们只要找出监视进程并删除即可,在命令提示符输入: “taskkill /f /im systemtray.exe ”,将守护进程再生的“systemtray.exe”终止,可以看到“systemtray.exe”进程是由“PID 3288的进程”创建的,打开任务管理器可以看到“PID 3288的进程”为“internet.exe”,这就是再生进程的“元凶”。 第六步:按照第一步方式,打开系统信息窗口可以看到“internet.exe”也位于系统目录,终止“internet.exe”进程并进入系统目录把上述两个文件删除即可。 2.使病毒失效并删除 大家知道,文件都是由编码组成的,记事本程序理论上可以打开任意文件(只不过有些会显示为乱码)。我们可以将病毒打开方式关联到记事本,使之启动后变成由记事本打开,失去作恶的功能。比如,一些顽固病毒常常会在注册表的“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”等启动位置生成难以删除的键值,达到恶意启动的目的。下面使用记事本来“废”掉病毒的生命力。 第一步:启动命令提示符,输入“ftype exefile=notepad.exe %1”,把所有EXE程序打开方式关联到记事本程序,重启系统后我们会发现桌面自动启动好几个程序,这里包括系统正常的程序如输入法、音量调整程序等,当然也包括恶意启动的流氓程序,不过现在都被记事本打开了。 第二步:根据记事本窗口标题找到病毒程序,比如上例的systemtray.exe程序,找到这个记事本窗口后,单击“文件→另存为”,我们就可以看到病毒具体路径在“C:\Windows\System32”下。现在关掉记事本窗口,按上述路径提示进入系统目录删除病毒即可。 第三步:删除病毒后就可以删除病毒启动键值了,接着重启电脑,按住F8,然后在安全模式菜单选择“带命令提示的安全模式”,进入系统后会自动打开命令提示符。输入“ftype exefile="%1"%*”恢复exe文件打开方式即可。 四、注册表映像劫持让病毒没脾气 现在病毒都会采用IFO的技术,通俗的讲法是映像劫持,利用的是注册表中的如下键值 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options位置来改变程序调用的,而病毒却利用此处将正常的杀毒软件给偷换成病毒程序。恰恰相反,让我们自己可以利用此处欺瞒病毒木马,让它实效。可谓,瞒天过海,还治其人。 下面我们以屏蔽某未知病毒KAVSVC.EXE为例,操作方法如下: 第一步:先建立以下一文本文件,输入以下内容,另存为1.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\KAVSVC.EXE] "Debugger"="d:\1.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\KAVSVC.EXE] "Debugger"="d:\1.exe" (注:第一行代码下有空行。) 第二步:双击导入该reg文件后,确定。 第三步:点“开始→运行”后,输入KAVSVC.EXE。 提示:1.exe可以是任意无用的文件,是我们随意创建一个文本文件后将后缀名.txt改为.exe的, 总结:当我们饱受病毒木马的折磨,在杀毒软件无能为力或者感觉“杀鸡焉用宰牛刀”时,不妨运用系统工具进行病毒木马的查杀,说不定会起到意想不到的效果。
2025年07月14日
0 阅读
0 评论
0 点赞
1
...
21
22
23
...
34