基于kali的免杀木马技术研究_第1页
基于kali的免杀木马技术研究_第2页
基于kali的免杀木马技术研究_第3页
基于kali的免杀木马技术研究_第4页
基于kali的免杀木马技术研究_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论1.1研究背景 现在的社会,信息化快速发展,移动通信互联网的速度每天都在快速进化发展着。在网络世界日益发达的情况下,开放的互联网不仅带给了人们极大的便利,也在快速传播恶意代码。黑客通过使用恶意程序攻击、隐藏在人们的计算机中,对受害用户的信息数据进行盗取、破坏、勒索,或者监控用户的行为等等操作。在这个背景下,保护好用户的计算机计算机系统以及网络数据安全,是人们的迫切需求。病毒与反病毒的对抗是计算机安全领域中最激烈,规模最大的博弈,这也是计算机安全领域中对抗爆发的地方。随着网络的普及度越来越高,大众也越来越关注网络的安全问题。不同用户的安全意识不同,在用户终端上的防护都是杀毒软件,杀毒软件作为安全策略的执行者,是保护用户个人数据安全的最后一层壁垒,防御大部分恶意攻击,但随着黑客技术也越来越高明,伴随着病毒、木马以及社会工程学技术的融合,每年发生的入侵行为并未减少,如何研宄网络攻击行为,怎样防范网络攻击,如何降低被攻击的风险,怎样保障网络安全,是当前亟待解决的问题。在此背景下,kalilinux于2013年3月发布。Kalilinux是一个基于Debian的高级渗透测试和安全审计的Linux发行版,该操作系统内置了很多专门用来进行渗透测试和安全审计的工具,是计算机安全从事人员的利器,是一个专门的平台或者框架。在当前渗透测试中,kalilinux发挥着越来越重要的作用,常被渗透测试人员或安全人员用于各种取证或渗透。1.2研究内容杀毒软件作为保护用户计算机安全的最后一道防线,防御大部分恶意攻击,但随着黑客技术也越来越高明,伴随着病毒、免杀以及社会工程学技术的融合,每年发生的入侵行为并未减少,具有免杀效果的木马会对用户的数据安全产生极大的威胁。本文研究的内容是包括反病毒软件的实现原理,以及在基于kali生成的木马上如何对木马进行二次编码,使之获得远控免杀效果,并对这些技术手段归纳整理。最终在VirusTotal平台以及安装了市面上流行的杀毒软件的测试机上进行实验测试。1.3研究目的及意义对免杀木马的研究,通过绕过杀毒软件的安全防范措施,并对渗透行为可行性的探索,既能有效提高个人的安全意识,也能在一定程度上挖掘内部网络潜在的安全隐患,有助于人们判断信息系统的脆弱点所在,对信息安全做出信息评估。正是在这样的背景下,本文提出了基于kalilinux的免杀木马技术研宄,运用虚拟机技术,部署类似于平常用户计算机的网络环境,搭建可模拟真实的渗透攻击的实验平台。利用kalilinux系统生成的木马,并对它进行二次编码获得免杀效果渗透测试,一方面可以深入理解木马攻击的便利性和高效性,另一方面可以深入理解免杀技术的理论知识和提高木马免杀的相关技术,具有现实意义。

杀毒软件的原理机制为了研究免杀技术,首先要理解杀毒软件的工作原理。杀毒软件这一概念在恶意代码之后才出现。杀毒软件与恶意代码的对抗一直贯穿着互联网的发展。从自我复制、破坏硬件的蠕虫到勒索软件,杀毒软件一直在适应恶意代码并改进查杀功能。早期的恶意代码开发者寥寥无几,通过简单的文件哈希信息匹配就能发现并查杀大部分恶意代码。在计算机行业高速发展的背景下,也出现越来越多专业人士参与到攻击与防御的对抗中,恶意代码的变种与新的免杀技术层出不穷,安全人员也想研发出绝对的免杀技术来终结这场对抗。现代的杀毒软件技术使用多种手段查杀恶意代码,一般由扫描器、病毒库与虚拟机组成,并由主程序将它们整合为一体。一般情况下,反病毒软件的核心是扫描器,它专门用于查杀病毒。一个杀毒软件的查杀能力优良与否跟扫描器的技术和算法是否先进有直接的相关性。而且杀毒软件的不同的扫描器往往都具有不同的功能特点。病毒库中存储着病毒样本所拥有的特有的标识、及独一无二的特征字符,我们称之为“特征码”。而虚拟机则是近些年来引入的概念,反病毒软件构造一个虚拟计算机的环境,然后让病毒在这个虚拟环境中运行,一方面与现实的计算机设备完全隔离,保护了CPU、硬盘等物理设备的安全,另一方面也可以更加自由地、深入性地检测程序文件的安全性。总的来说可以将这些手段分为两类,即静态分析技术与动态分析技术。2.1静态分析技术从理论上看,静态分析指在不运行程序的时候分析程序的威胁性,这类扫描技术的准确性主要依赖杀毒软件厂商病毒库的特征库大小。杀毒软件通过提取特征码加入特征库,然后通过杀毒软件厂商设置的正则表达式进行匹配,判断目标文件是否具有威胁性,是否为恶意文件。文件哈希是最早的特征码,黑客们为了绕过杀毒软件的检验,通常选择通过修改哈希中某个比特位。后来经过改良后,文件名、文件路径、可执行文件的特征机器码等都可以作为特征码。病毒的特征码也可能存在于任何文件中,例如EXE文件、RMVB文件、JPG文件,甚至是TXT文件中,所以它们也都有可能被查杀。静态分析技术的扫描效率和误杀率都相对较高,但总的来说对于特征码的识别比较容易被一些针对性的技术手段绕过。比如通过加壳、混淆等技术都可以快速绕过特征码识别。因此,杀毒软件针对性地加入了对壳的特征码识别技术(类似PEID)以及判断PE文件是否使用了自定义壳的熵值检测技术。针对某些自定义指令集壳(如VMP),采用ContextTriggeredPiecewiseHash(CTPH)技术。目前大部分杀毒厂商的杀毒软件通过静态扫描技术来实现全局扫描功能。2.2动态分析技术与静态扫描技术不同,这类扫描技术的原理是杀毒软件在自己设置的虚拟机中运行病毒文件,并对其启动时的行为及其拥有的特征进行识别分析。行为监控和内存特征识别,是动态分析技术的两个主要武器。动态扫描拥有相对于静态扫描更高的可靠性。加壳后的病毒能轻易绕过杀毒软件的静态扫描,然而计算机的物理内存中运行的是病毒程序去除壳后的原始代码。此时,在内存这里设置一个扫描器,对内存中的特征码进行扫描则将拥有更高的准确率。某些病毒运用了VMP等加壳技术。该类技术使用自定义指令集,篡改了原始代码流,针对性地绕过了杀毒软件的内存扫描,导致杀毒软件无法在物理内存中对特征码进行相应地匹配。然而,无论怎么去改变病毒的代码流,病毒的恶意行为一定会在某个环境、某个时刻表现出来。例如写注册表自启动项、修改注册表、添加恶意驱动等。这个时候,行为监控技术的作用则更加明显,会对程序的行为进行监控记录,一旦发现可疑的恶意行为,则会立即查杀。除此之外,杀毒软件还能对记录下来的目标程序行为进行分析,然后通过机器学习等手段进一步提高查杀病毒的准确度。

实验环境搭建针对本文的研究内容,为了模拟现实中公司的网络环境,需要设计出合适的网络拓扑结构,并根据测试的需要给出了测试用的靶机系统,具体的内容将在下面进行介绍。为了在有限的硬件资源条件下顺利搭建渗透测试实验环境,本文采用了VMware虚拟化技术,支持在一台高性能的PC机上安装这些测试主机,并可以根据实际测试的需要来选择性的开启其中若干台虚拟机,同时可以充分利用VMware虚拟机软件的优点特性,方便地进行本课题的渗透测试研究。本文的渗透测试实验环境由于需要在一台宿主主机上安装5个不同类型的虚拟机,当使用VMware搭建渗透测试环境时,需要对VMware软件的虚拟网络进行简单配置。在安装完VMware后会发现有两块虚拟网卡VMnet1和VMnet8,在宿主主机上分别以Host-only(仅主机)模式和NAT模式作为虚拟机网络连接的网络接口,本文中的虚拟机采用网络连接方式为NAT模式。本文的渗透测试实验环境由于需要在一台宿主主机上安装3个不同类型的虚拟机。3.1测试主机kalilinux3.1.1kalilinux概要Kalilinux的前身是网络安全业界知名的BackTracklinux发行版。Kalilinux是计算机安全从事人员进行渗透测试研究和安全取证的强力工具。Kalilinux操作系统上预装了许多渗透测试软件,可用作信息收集分析、漏洞探测、密码暴力破解等。Kalilinux深受安全测试人员的追捧,被广泛的用于渗透测试。Kalilinux有32位和64位镜像文件,它可以安装到硬盘、USB驱动器、树莓派、VMwareWorkstation和WomuareTods中,安装过程比较简单。可以在官网(官网地址为)下载需要的版本的镜像文件。本文使用的是Kalilinux64Bit2018.3版本的镜像文件,打开VMwareWorkstation软件来新建虚拟机。在虚拟机创建完成后,需要编辑虚拟机设置,将内存设置为2G并选择下载的iso映像文件,挂载iso映像文件来安装系统。等待一段时间,Kalilinux虚拟机系统就会安装完毕,这样就可以使用Kalilinux了。3.1.2工具软件MetasploitKalilinux提供了信息收集、漏洞分析、Web程序、无线攻击等十三个工具集,在不同的工具集中有不同的工具软件,可以用来对不同层次类型的系统或者应用程序来进行不同的渗透测试,其中有名的渗透测试神器就是Metasploit。Metasploit不仅是一个开源的检测安全漏洞工具和渗透测试框架软件,还是一个逐渐发展成熟的渗透代码开发和漏洞研究平台,更将成为支持整个渗透测试过程的安全技术集成开发与应用环境。Metasploit可以帮助安全测试人员和IT专业人员识别安全性问题,验证漏洞的缓解措施,并评估系统安全性,提供真正的安全风险情报。Metasploit支持多种平台,可以在Windows、linux等不同的操作系统上安装,Kalilinux中己经默认安装了Metasploit。在Kalilinux中Metasploit目前提供了两种用户使用接口:图形界面接口(Armita)和命令行接口(MetasploitFramework,简称MSF)。本文主要使用的是命令行接口,在Kalilinux终端输入“msfconsole”就能启动Metasploit,使用的版本是“Metasploitv4.17.33-dev”。Msfconsole是Kalilinux操作系统的Metasploit框架中最为强悍的接口。在MSF终端下可以执行很多操作,拥有许多攻击模块与攻击载荷,在渗透测试时极为方便,比如查看渗透攻击模块;查看、加载攻击载荷;渗透攻击目标等,在实际的渗透测试过程中,将会根据实际情况来选择相应的模块。在使用MSF进行渗透测试时,执行的流程操作主要有以下几步。(1)选择渗透攻击模块。选择Metasploit框架中提供的软件代码组件,用于执行一些攻击前的检查、扫描等动作,使用方法为“use[模块名]”。(2)设置渗透攻击选项。渗透攻击选项是指设置模块的可配置选项参数,当选择某模块后需要为该模块配置选项参数才能使用,在不确定有哪些可设置选项时,可以用“showoptions”命令来查看。(3)选择目标类型。大部分的渗透攻击模块可以用来攻击多种目标,为了加快渗透测试,可以依据靶机类型来选择目标类型。在查看可用目标类型时,可以执行“showtargets”命令;在选择目标类型时,其语法为“settargets[目标编号]”。(4)选择攻击载荷。攻击载荷是木马中的恶意攻击动作。使用方法为“showpayloads”,可以查看所有可用的攻击载荷。选择攻击载荷:“setpayload[攻击载荷]”。(5)设置攻击载荷选项。配置相应的选项参数,让攻击载荷发挥它的作用,比如配置Kalilinux主机的IP地址、配置与msf生产的木马相同的端口等。(6)实施滲透攻击。通过前面的操作,渗透攻击模块和攻击载荷都设置完成,就可以执行“exploit”命令对目标实施渗透攻击。3.2测试靶机搭建的测试环境是模拟个人计算机的真实网络环境,设置了两台靶机,分别选择了Windows7x64和Windows10x64两种不同类型的操作系统主机,并根据实际的需要,在Windows7x64和Windows10x64上分别下载了目前中国PC端市场占有率前两名的杀毒软件,分别为360安全卫士(版本为2020.3)和腾讯安全管家(版本为2020.3),下面将简单介绍实验中用到的测试靶机。3.2.1Windows7靶机Windows7是由微软公司开发基于PC端的操作系统。该系统旨在让人们的日常电脑操作更加简单和快捷,为人们提供高效易行的工作环境,2010年正式发布,相比之前的微软WindowsXP操作系统,Windows7添加了多种个性话功能。2020年1月14日,美国微软公司宣布停止对Windows7进行安全更新的支持,再也不会发布有关Windows7操作系统的安全更新版本,代表着Windows7正式退役,但是Windows7操作系统仍然在国内拥有较大的占有率。因此,在模拟个人用户计算机环境时,选择64位的Windows7版本的系统来创建虚拟机,用它来模拟公司的终端Windows主机,并在该系统上安装了360安全卫士(版本为2020.3),对本文中的免杀木马进行测试。3.2.2Windows10靶机Windows10操作系统是由美国微软公司开发的应用于PC端和平板电脑的操作系统。在2015年7月29日发布。Windows10操作系统主要在系统的易用性和安全性方面进行了大幅度的提升,在硬件与软件方面都对新兴技术更加包容,给与了它们更好更完善的平台支撑。Windows10是美国微软公司发布的最新的计算机操作系统,因此在模拟个人用户计算机环境时,同时选择64位的Windows10版本的系统来创建虚拟机,用它来模拟公司的终端Windows主机,并在该系统上安装了腾讯安全管家(版本为2020.3),对本文中的免杀木马进行测试。第4章免杀技术研究本文的免杀木马是先基于kali环境下的msfvenom生成shellcode,再对shellcode进行混淆、二次编码,最终再使用C/C++语言进行编译或加载,使其获得免杀效果。4.1msf生成木马使用msfvenom生成木马,但是使用msfvenom生成的目标文件留有独有的特征码,这些特征码对于大多数杀软都非常明显,会很容易地被匹配到。这里其它编译器来去除这个特征码。这里选择选择shikata_ga_nai这个编码方式(因为x86的编码器里只有它的Rank是excellent,并且这个编码器的解码和编码过程都是随机生成的),对木马进行多重编码,这里编码次数设定为6次,目的是对木马进行初步混淆。然后再将木马以c语言文件格式表示出来。如图4-1所示。图4-1msf生成木马4.2免杀测试4.2.1申请虚拟内存目前杀毒软件厂商都拥有一套基于内存扫描的反病毒技术,杀毒软件厂商一般会定义一套不同于文件扫描器的、新的特征码作用于内存扫描组件。在现代的计算机组成中,数据在进入CPU之前,还要再通过物理内存。在这里,数据往往都已经被汇编成二进制,处理成可以被CPU直接执行的形式。而计算机CPU又不可能是CPU厂商专门为了某一个程序而特别设计并制造的,所以某一个程序被混淆后的可执行代码CPU是读不懂的。这就意味着当计算机要在执行这些被混淆的代码时,要先将原先的程序解密,再放到内存里,然后再通知CPU执行。意味着从理论上来讲任何被加密的可执行数据是在被解密之后,再进入CPU执行的,否则CPU就无法执行。也正是利用这个特点,反病毒软件厂商便在内存这里设了一个关卡,对过路的数据用特征码扫描器判断是否允许该PE文件通过,而对于特征码扫描器来说,特征码的定位是有一个偏移量地址的。作为病毒来讲,被加载到内存就证明它一定会开始执行一些动作,而这些动作一般都具有特征性,在病毒或木马初始化运行环境的时候,会让更多的可疑点暴露出来。这就使得大部分病毒木马在这个关卡被查杀。结合以上分析,提出PE文件在进入物理内存的过程中提高其安全性,即可降低被杀毒软件厂商的内存扫描查杀的概率。所以这里尝试在PE文件加载到内存前,预先给它分配一段虚拟内存,并将shellcode复制到该虚拟内存上,再调用该虚拟内存执行shellcode,测试免杀效果。根据此原理制作的相关代码如图4-2所示:图4-2木马代码对这段代码进行分析:调用VirtualAlloc函数,申请一段虚拟内存,并且需要设置内存的可执行属性,这样才确保shellcode拷贝到的内存块拥有执行权限,可以执行。调用memcpy函数,将内存复制到申请的虚拟内存强制类型转换((void(*)())Memory)();(void(*)())指向返回值类型为void类型的函数的指针,即将Memory强制类型转换为函数指针,然后调用函数指针。然而生成的木马免杀效果一般,能绕过360安全卫士成功免杀,但会被腾讯安全管家查杀。这里分析推测virtualALLOC与memcpy被列为特征码。相关代码如图4-3所示:图4-3木马代码基于上述的思路对代码的一些函数进行等价替换,memcpy函数改为使用一个for循环语句来替代,通过函数指针调用函数改为使用汇编指令push和ret来替代。PUSH指令表示压栈,在程序中常用来暂存某些数据。RET指令表示栈顶字单元出栈,其值赋给IP寄存器。即将栈顶字单元保存的偏移地址作为下一条指令的偏移地址,即实现了一个程序的转移。测试结果:如图4-4,图4-5所示,成功绕过360安全卫士和腾讯安全管家。图4-4成功绕过360安全卫士图4-5成功绕过腾讯安全管家对木马使用360进行木马云查杀图4-6对木马进行木马云查杀对木马使用腾讯安全管家病毒查杀图4-7对木马使用腾讯安全管家病毒查杀木马远控成功上线,如图4-8所示。图4-8成功上线4.2.2使用汇编花指令花指令是一种起源于汇编语言的技术,使用汇编语言的程序员,保护软件中不想被人们知道的意图,于是就对自己的程序进行保护加密,一般选择加入一些干扰指令。简而言之,花指令就是一段垃圾指令,即加入之后对程序无影响,可以不存在的指令,但它可以对程序中的一些东西修饰掩盖。例如在编写木马程序时,不直接调用一些杀毒软件觉得敏感的函数;向反汇编后的木马中加一个完全不需要的跳转,然后再之后又跳转回去;或在脚本木马中添加一个打印空字符的句子,嵌套一个空白的IF语句,等等。我们可以将花指令定义为“程序正常运行时完全可以不需要的、人们刻意加进去的一段代码,或是刻意修改程序流程的一段代码”,是人们精心构造的一段垃圾代码,目的是起到类似加密作用。通过内嵌汇编花指令干扰杀毒软件对木马反汇编出来的指令的扫描,从而获得免杀效果。相关代码如图4-9所示:图4-9木马代码对这段汇编花指令进行分析:moveeax,offsetshellcode传送指令表示将shellcode(木马程序的入口点)代表的偏移量赋值给eax寄存器subeax,X减法指令表示将eax寄存器里的值减Xaddeax,X加法指令表示将eax寄存器里的值加Xpusheax进栈指令表示将eax压入堆栈popeax出栈指令表示将栈顶的数据弹出,并保存到eaxjmpeax无条件转移指令跳转到eax,这里表示跳转到程序入口处测试结果:如图4-10,图4-11所示,成功绕过360安全卫士和腾讯安全管家。图4-10成功绕过360安全卫士图4-11成功绕过腾讯安全管家对木马使用360进行木马云查杀图4-12对木马进行木马云查杀对木马使用腾讯安全管家病毒查杀图4-13对木马使用腾讯安全管家病毒查杀木马远控成功上线,如图4-14所示。图4-14成功上线4.2.3使用XOR加密XOR加密又被称为异或加密,它的定义是:如果两个值相同,则为假,两个值如果不同,则为真。简而言之,XOR可以用来判断两个值是否相同。是密码学中的一种加密算法。XOR运算有一个很重要的性质:如果连续对一个值进行两次XOR运算,则还是返回的值还是原先的值。基于这个特点,对信息进行异或操作来达到加密和解密目的。当密钥key的长度大于等于message,并且密钥key必须是一次性的,且每次都要随机产生。美国数学家香农证明了只要满足这两个条件,XOR加密是无法破解的。异或密码值得使用的原因主要是其易于实现,而且计算成本小,对于木马混淆加密是一种高效的方法。以下将采用XOR加密对存放shellcode的数组的每个元素进行编码加密,这里密钥我自己定义“xieeqing”,加密后再申请一段虚拟内存执行shellcode。相关代码如图4-14所示:4-14木马代码测试结果:如图4-15所示,成功绕过腾讯安全管家。4-15成功绕过腾讯安全管家对木马使用腾讯安全管家病毒查杀4-16对木马使用腾讯安全管家病毒查杀木马远控成功上线,如图4-17所示。图4-17成功上线第5章后渗透测试探索5.1Meterpreter测试Meterpreter是一个使用先进技术、功能强大、拓展性很强的高级shell。该shell提供大量高级功能,如导出用户哈希、注入到其他进程等。因此,攻击者在入侵Windows系统后,通常会返回Meterpreter的shell。为了使渗透测试代码投放更接近真实的入侵行为,本节将测试Meterpreter在杀软开启的情况下能获得的权限边界,主要领域为信息收集,包括系统信息收集、基本网络信息收集、文件系统信息收集等,测试杀软会在哪一步进行拦截阻止。5.1.1系统信息对目标计算机信息的收集,如图5-1所示,能了解到目标计算机的操作系统版本,系统类型,注册账号等重要banner信息。这些信息对你接下来的渗透攻击使用相应的exp攻击拥有大量可参考的方向帮助。5-1对目标计算机信息的收集查看当前用户,可以查看是否账号拥有管理员权限。如图5-2所示。5-2查看目标计算机当前用户查看目标计算机正在运行的进程,如图5-3所示。5-3查看目标计算机正在运行的进程5.1.2基本网络信息查询当前计算机中网络连接通信情况,LISTENING表示该端口处于监听状态;ESTABLISHED表示该端口处于工作(通信)状态,如图5-4所示。这些信息除了可以帮助你获得你想要的情报之外,还对网络渗透攻击提供信息辅助。5-4查询目标计算机中网络连接通信情况查看目标计算机中arp缓冲表信息,如图5-5所示。5-5arp缓冲表信息查看路由表信息,如图5-6所示,查询相关的网络,子网掩码,网关等信息。5-6查询目标计算机中路由表信息5.1.3文件系统信息测试从靶机中下载文件NO.2.txt文件,成功下载;测试从靶机中删除文件NO.2.txt文件,成功删除;测试从靶机中上传文件NO.2txt文件,成功上传。过程中杀毒软件均无反应。如图5-7所示。5-7对靶机中文件进行操作成功5.1.4信息收集开启键盘记录,记录靶机的键盘操作,这里测试在靶机中输入“thisisatestaboutkeyscan”,如图5-8所示。5-8键盘记录成功测试对靶机当前屏幕进行截屏,如图5-9所示。5-9截屏成功5.1.5局限性Meterpreter的权限局限,主要方面在于提权(即获取系统最高权限)失败,系统最高权限如果能获取成功,将代表入侵者能够通过shell为所欲为。主要失败原因在于靶机杀毒软件仍在存在,导致进一步的提权行为与提权工具无法绕过杀软使用。提权、获取管理员权限失败,如图5-9所示。5-9提权失败对靶机的木马进程进行迁移(这里试图迁移到系统的文件资源管理器explorer.exe),迁移失败;测试获取用户哈希,获取失败;测试清除计算机日志,测试失败。如图5-9所示。5-9均失败测试获取网络摄像头权限,如图5-9所示。5-9获取摄像头权限杀毒软件弹出提醒有程序正在打开摄像头,如图5-10所示。5-10被杀毒软件弹出提醒5.2本章小结在靶机杀毒软件仍然存在的情况下,无法通过仅仅通过meterpretershell来强制关闭杀毒软件,进而导致无法获取靶机系统最高权限,进而无法完全利用meterpretershell强大的功能对靶机为所欲为。但是仍然能通过meterpretershell来对靶机进行可观的信息收集,包括靶机操作系统、网络信息、靶机当前行为操作、文件系统信息以及对靶机文件的增删改查。故仍然具有很大的威胁性,信息安全仍存在较大隐患。总结本文基于kalilinux操作系统开展的研究,利用了虚拟化环境平台VMwareWorkstation搭建了实验环境,通过对杀毒软件的原理机制、免杀技术的研究,制作的免杀木马实现了对国内市面上最流行的两款巨头杀毒软件的免杀,并在后渗透测试环境下的目标计算机进行信息收集,探索了在杀毒软件的存在下,meterpretershell的权限边界。从免杀木马与安全厂商的角度出发,本文的免杀木马是基于kalilinux操作系统下的msfvenom生成的木马二次编码而来,可以看出一个免杀特定杀毒软件的木马的制作成本并非多么巨大,一方面是由于免杀技术的不断提高,另一方面是安全厂商推出的杀毒软件在功能性与商业性上的矛盾导致,安全厂商为了提高杀毒软件的用户体验,如降低误报率,减少病毒扫描时间等,使得它们不得不在杀毒软件的功能性上的细节做出取舍,这恰恰给了黑客们制作免杀木马的机会,并且在商业性的作用下大部分杀毒软件的特征库为闭源,导致了一些免杀木马具有对某个特定的杀毒软件的针对性。从现实的渗透角度出发,展现了如今普通大众的计算机环境下,即使普通计算机用户在计算机安全意识下安装了安全厂商的杀毒软件,仍存在较大的信息安全隐患。如果再结合社会工程学,对免杀木马进行伪造,然后通过邮件发送免杀木马到目标用户,获取目标计算机中的信息难度就更进一步降低。参考文献:[1]胡嘉熙;王轶骏;薛质.新形势下的免杀及防御技术研究,2017-12-10.[1]胡嘉熙;王轶骏;薛质.通信技术,2017-12-10.[2]吕臻;张宇.计算机病毒免杀技术及应对安全策略,2018-07-15.[2]吕臻;张宇.信息与电脑(理论版),2018-07-15.[3]贺义君.基于KaliLinux的渗透测试研究.中南林业科技大学,2019-05-01.[4]任晓珲.黑客免杀攻防.机械工业出版社,2013-09-01.[5]史航.网络安全中免杀与主动防御相关问题研究.哈尔滨工业大学2015-07-01.[6]胡嘉熙.面向安全评估的攻击免杀技术研究.上海交通大学2018-01-01.[7]胡鹏,基于多引擎查杀和行为特征的分布式木马检测系统研究与设计.华南理工大学2015-04-10.[8]张懿;刘嘉勇.剖析远程控制免杀DLL木马,2011-04-10.[8]张懿;刘嘉勇.信息安全与通信保密,2011-04-10.[9]AmalA.Aziz;;ZareenAmtul.DevelopingTrojanhorsestoinduce,diagnoseandsuppressAlzheimer’spathology,2019-11-13.[9]AmalA.Aziz;;ZareenAmtul.PharmacologicalResearch,2019-11-13.[10]RaniaM.Hathout;;HebaA.Gad;;SalmaM.Abdel-Hafez;;NairaNasser;;NohaKhalil;;TokaAteyya;;AlaaAmr;;NesreenYasser;;SandyNasr;;AbdelkaderA.Metwally.Gelatinizedcoreliposomes:AnewTrojanhorseforthedevelopmentofanoveltimololmaleateglaucomamedication,2018-12-10.[10]RaniaM.Hathout;;HebaA.Gad;;SalmaM.Abdel-Hafez;;NairaNasser;;NohaKhalil;;TokaAteyya;;AlaaAmr;;NesreenYasser;;SandyNasr;;AbdelkaderA.Metwally.InternationalJournalofPharmaceutics,2018-12-10.致谢大学四年的学习生活即将结束,由衷地感谢这么多年来老师和同学们的帮助,在我遇到困难的时候伸于援助之手,让我在学习和生活上取得该有的成绩。很感谢大学时代老师们对我技术的传授和导师对我技术的指导。我感谢大学能学习网络工程这个专业,让我对网络工程相关知识研究有了认识并能从事于相关的工作。技术是不断更新进步的,学习是不能停止的,我会牢牢记住老师们的教导,不断地认识这个行业的发展、不断对相关新技术继续研究学习、不断地让自己进步并跟上时代的发展。再次感谢大学时期的所学所遇,感谢我的良师益友,感谢在大学中我能愉快的学习,完成学业,顺利毕业。毕业设计的整个过程,是我大学中最为深刻的记忆,也是一次真正意义上的理论付出于实际的过程。首先,我将致谢我的导师刘成泳老师,在毕业设计开发以及毕业论文拟写过程中,每一步都给予了我们大量优秀的建议,始终保持着一丝不苟,实事求是的工作态度,督促和指导我们。正是因为老师的举动,使我们每一次都在突破自己,系统也在每一次指导之下变得越来越完善。其次,我还想感谢大学时光里所有的任课教师,无私奉献着你们的专业知识,在我遇到技术性困难的时候给予我解决问题的思路,让我少走了很多弯路。同时还要感谢老师们的信任,在我大学期间犯错的时候,给予了包容与原谅。最后,感谢四年来一起前行的同学们,在日常学习时光中,互相勉励互相竞争,以高效的方式超前学习、深入学习,使我打下巩固的专业基础。技术是不断更新进步的,学习是不能停止的,我会牢牢记住老师们的教导,不断地认识这个行业的发展、不断对相关新技术继续研究学习、不断地让自己进步并跟上时代的发展。再次感谢大学时期的所学所遇,感谢我的良师益友,感谢在大学中我能愉快的学习,完成学业,顺利毕业。

ExcelXP的八则快速输入技巧如果我们在用ExcelXP处理庞大的数据信息时,不注意讲究技巧和方法的话,很可能会花费很大的精力。因此如何巧用ExcelXP,来快速输入信息就成为各个ExcelXP用户非常关心的话题,笔者向大家介绍几则这方面的小技巧。1、快速输入大量含小数点的数字如果我们需要在ExcelXP工作表中输入大量的带有小数位的数字时,按照普通的输入方法,我们可能按照数字原样大小直接输入,例如现在要在单元格中输入0.05这个数字时,我们会把“0.05”原样输入到表格中。不过如果需要输入若干个带有小数点的数字时,我们再按照上面的方法输入的话,每次输入数字时都需要重复输入小数点,这样工作量会变大,输入效率会降低。其实,我们可以使用ExcelXP中的小数点自动定位功能,让所有数字的小数点自动定位,从而快速提高输入速度。在使用小数点自动定位功能时,我们可以先在ExcelXP的编辑界面中,用鼠标依次单击“工具”/“选项”/“编辑”标签,在弹出的对话框中选中“自动设置小数点”复选框,然后在“位数”微调编辑框中键入需要显示在小数点右面的位数就可以了。以后我们再输入带有小数点的数字时,直接输入数字,而小数点将在回车键后自动进行定位。例如,我们要在某单元格中键入0.06的话,可以在上面的设置中,让“位数”选项为2,然后直接在指定单元格中输入6,回车以后,该单元格的数字自动变为“0.06”,怎么样简单吧?2、快速录入文本文件中的内容现在您手边假如有一些以纯文本格式储存的文件,如果此时您需要将这些数据制作成ExcelXP的工作表,那该怎么办呢?重新输入一遍,大概只有头脑有毛病的人才会这样做;将菜单上的数据一个个复制/粘贴到工作表中,也需花很多时间。没关系!您只要在ExcelXP中巧妙使用其中的文本文件导入功能,就可以大大减轻需要重新输入或者需要不断复制、粘贴的巨大工作量了。使用该功能时,您只要在ExcelXP编辑区中,依次用鼠标单击菜单栏中的“数据/获取外部数据/导入文本文件”命令,然后在导入文本会话窗口选择要导入的文本文件,再按下“导入”钮以后,程序会弹出一个文本导入向导对话框,您只要按照向导的提示进行操作,就可以把以文本格式的数据转换成工作表的格式了。3、快速输入大量相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。你可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:首先同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;其次输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、快速进行中英文输入法切换一张工作表常常会既包含有数字信息,又包含有文字信息,要录入这样一种工作表就需要我们不断地在中英文之间反复切换输入法,非常麻烦,为了方便操作,我们可以用以下方法实现自动切换:首先用鼠标选中需要输入中文的单元格区域,然后在输入法菜单中选择一个合适的中文输入法;接着打开“有效数据”对话框,选中“IME模式”标签,在“模式”框中选择打开,单击“确定”按钮;然后再选中输入数字的单元格区域,在“有效数据”对话框中,单击“IME模式”选项卡,在“模式”框中选择关闭(英文模式);最后单击“确定”按钮,这样用鼠标分别在刚才设定的两列中选中单元格,五笔和英文输入方式就可以相互切换了。5、快速删除工作表中空行删除ExcelXP工作表中的空行,一般的方法是需要将空行都找出来,然后逐行删除,但这样做操作量非常大,很不方便。那么如何才能减轻删除工作表中空行的工作量呢?您可以使用下面的操作方法来进行删除:首先打开要删除空行的工作表,在打开的工作表中用鼠标单击菜单栏中的“插入”菜单项,并从下拉菜单中选择“列”,从而插入一新的列X,在X列中顺序填入整数;然后根据其他任何一列将表中的行排序,使所有空行都集中到表的底部。删去所有空行中X列的数据,以X列重新排序,然后删去X列。按照这样的删除方法,无论工作表中包含多少空行,您就可以很快地删除了。6、快速对不同单元格中字号进行调整在使用ExcelXP编辑文件时,常常需要将某一列的宽度固定,但由于该列各单元格中的字符数目不等,致使有的单元格中的内容不能完全显示在屏幕上,为了让这些单元格中的数据都显示在屏幕上,就不得不对这些单元格重新定义较小的字号。如果依次对这些单元格中的字号调整的话,工作量将会变得很大。其实,您可以采用下面的方法来减轻字号调整的工作量:首先新建或打开一个工作簿,并选中需要ExcelXP根据单元格的宽度调整字号的单元格区域;其次单击用鼠标依次单击菜单栏中的“格式”/“单元格”/“对齐”标签,在“文本控制”下选中“缩小字体填充”复选框,并单击“确定”按钮;此后,当你在这些单元格中输入数据时,如果输入的数据长度超过了单元格的宽度,ExcelXP能够自动缩小字符的大小把数据调整到与列宽一致,以使数据全部显示在单元格中。如果你对这些单元格的列宽进行了更改,则字符可自动增大或缩小字号,以适应新的单元格列宽,但是对这些单元格原设置的字体字号大小则保持不变。7、快速输入多个重复数据在使用ExcelXP工作表的过程中,我们经常要输入大量重复的数据,如果依次输入,无疑工作量是巨大的。现在我们可以借助ExcelXP的“宏”功能,来记录首次输入需要重复输入的数据的命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。使用宏功能时,我们可以按照以下步骤进行操作:首先打开工作表,在工作表中选中要进行操作的单元格;接着再用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。8、快速处理多个工作表有时我们需要在ExcelXP中打开多个工作表来进行编辑,但无论打开多少工作表,在某一时刻我们只能对一个工作表进行编辑,编辑好了以后再依次编辑下一个工作表,如果真是这样操作的话,我们倒没有这个必要同时打开多个工作表了,因为我们同时打开多个工作表的目的就是要减轻处理多个工作表的工作量的,那么我们该如何实现这样的操作呢?您可采用以下方法:首先按住“Shift"键或“Ctrl"键并配以鼠标操作,在工作簿底部选择多个彼此相邻或不相邻的工作表标签,然后就可以对其实行多方面的批量处理;接着在选中的工作表标签上按右键弹出快捷菜单,进行插入和删除多个工作表的操作;然后在“文件”菜单中选择“页面设置……”,将选中的多个工作表设成相同的页面模式;再通过“编辑”菜单中的有关选项,在多个工作表范围内进行查找、替换、定位操作;通过“格式”菜单中的有关选项,将选中的多个工作表的行、列、单元格设成相同的样式以及进行一次性全部隐藏操作;接着在“工具”菜单中选择“选项……”,在弹出的菜单中选择“视窗”和“编辑”按钮,将选中的工作表设成相同的视窗样式和单元格编辑属性;最后选中上述工作表集合中任何一个工作表,并在其上完成我们所需要的表格,则其它工作表在相同的位置也同时生成了格式完全相同的表格。高效办公Excel排序方法"集中营"排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文以几个车间的产值和名称为例,介绍Excel2000/XP的数据排序方法。一、数值排序1.RANK函数RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。例如图1中E2、E3、E4单元格存放一季度的总产值,计算各车间产值排名的方法是:在F2单元格内输入公式“=RANK(E2,$E$2:$E$4)”,敲回车即可计算出铸造车间的产值排名是2。再将F2中的公式复制到剪贴板,选中F3、F4单元格按Ctrl+V,就能计算出其余两个车间的产值排名为3和1。如果B1单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列,即2、1和3。需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。假如上例中F2单元格存放的数值与F3相同,则按本法计算出的排名分别是3、3和1(降序时)。2.COUNTIF函数COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。仍以图1为例,F2单元格内输入的公式为“=COUNTIF($E$2:$E$4,">"&E2)+1”。计算各车间产值排名的方法同上,结果也完全相同,2、1和3。此公式的计算过程是这样的:首先根据E2单元格内的数值,在连接符&的作用下产生一个逻辑表达式,即“>176.7”、“>167.3”等。COUNTIF函数计算出引用区域内符合条件的单元格数量,该结果加一即可得到该数值的名次。很显然,利用上述方法得到的是降序排列的名次,对重复数据计算得到的结果与RANK3.IF函数Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。以图1中E2、E3、E4单元格的产值排序为例,具体做法是:选中E2单元格,根据排序需要,单击Excel工具栏中的“降序排序”或“升序排序”按钮,即可使工作表中的所有数据按要求重新排列。假如数据是按产值由大到小(降序)排列的,而您又想赋予每个车间从1到n(n为自然数)的排名。可以在G2单元格中输入1,然后在G3单元格中输入公式“=IF(E3=E2,G3,G3+1)”,只要将公式复制到G4等单元格,就可以计算出其他车间的产值排名。二、文本排序选举等场合需要按姓氏笔划为文本排序,Excel提供了比较好的解决办法。如果您要将图1数据表按车间名称的笔划排序,可以使用以下方法:选中排序关键字所在列(或行)的首个单元格(如图1中的A1),单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框(图2)。如果您的数据带有标题行(如图1中的“单位”之类),则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。三、自定义排序如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡(图3)。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、“铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用(图3)。使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。需要说明的是:显示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel提供的自定义序列类型。谈谈Excel输入的技巧在Excel工作表的单元格中,可以使用两种最基本的数据格式:常数和公式。常数是指文字、数字、日期和时间等数据,还可以包括逻辑值和错误值,每种数据都有它特定的格式和输入方法,为了使用户对输入数据有一个明确的认识,有必要来介绍一下在Excel中输入各种类型数据的方法和技巧。一、输入文本Excel单元格中的文本包括任何中西文文字或字母以及数字、空格和非数字字符的组合,每个单元格中最多可容纳32000个字符数。虽然在Excel中输入文本和在其它应用程序中没有什么本质区别,但是还是有一些差异,比如我们在Word、PowerPoint的表格中,当在单元格中输入文本后,按回车键表示一个段落的结束,光标会自动移到本单元格中下一段落的开头,在Excel的单元格中输入文本时,按一下回车键却表示结束当前单元格的输入,光标会自动移到当前单元格的下一个单元格,出现这种情况时,如果你是想在单元格中分行,则必须在单元格中输入硬回车,即按住Alt键的同时按回车键。二、输入分数几乎在所有的文档中,分数格式通常用一道斜杠来分界分子与分母,其格式为“分子/分母”,在Excel中日期的输入方法也是用斜杠来区分年月日的,比如在单元格中输入“1/2”,按回车键则显示“1月2日”,为了避免将输入的分数与日期混淆,我们在单元格中输入分数时,要在分数前输入“0”(零)以示区别,并且在“0”和分子之间要有一个空格隔开,比如我们在输入1/2时,则应该输入“01/2”。如果在单元格中输入“81/2”,则在单元格中显示“81/2”,而在编辑栏中显示“三、输入负数在单元格中输入负数时,可在负数前输入“-”作标识,也可将数字置在()括号内来标识,比如在单元格中输入“(88)”,按一下回车键,则会自动显示为“-88”。四、输入小数在输入小数时,用户可以向平常一样使用小数点,还可以利用逗号分隔千位、百万位等,当输入带有逗号的数字时,在编辑栏并不显示出来,而只在单元格中显示。当你需要输入大量带有固定小数位的数字或带有固定位数的以“0”字符串结尾的数字时,可以采用下面的方法:选择“工具”、“选项”命令,打开“选项”对话框,单击“编辑”标签,选中“自动设置小数点”复选框,并在“位数”微调框中输入或选择要显示在小数点右面的位数,如果要在输入比较大的数字后自动添零,可指定一个负数值作为要添加的零的个数,比如要在单元格中输入“88”后自动添加3个零,变成“88000”,就在“位数”微调框中输入“-3”,相反,如果要在输入“88”后自动添加3位小数,变成“0.088”,则要在“位数”微调框中输入“3”。另外,在完成输入带有小数位或结尾零字符串的数字后,应清除对“自动设置小数点”符选框的选定,以免影响后边的输入;如果只是要暂时取消在“自动设置小数点”中设置的选项,可以在输入数据时自带小数点。五、输入货币值Excel几乎支持所有的货币值,如人民币(¥)、英镑(£)等。欧元出台以后,Excel2000完全支持显示、输入和打印欧元货币符号。用户可以很方便地在单元格中输入各种货币值,Excel会自动套用货币格式,在单元格中显示出来,如果用要输入人民币符号,可以按住Alt键,然后再数字小键盘上按“0165”即可。六、输入日期Excel是将日期和时间视为数字处理的,它能够识别出大部分用普通表示方法输入的日期和时间格式。用户可以用多种格式来输入一个日期,可以用斜杠“/”或者“-”来分隔日期中的年、月、日部分。比如要输入“2001年12月1日”,可以在单元各种输入“2001/12/1”或者“2001-12-1七、输入时间在Excel中输入时间时,用户可以按24小时制输入,也可以按12小时制输入,这两种输入的表示方法是不同的,比如要输入下午2时30分38秒,用24小时制输入格式为:2:30:38,而用12小时制输入时间格式为:2:30:38p,注意字母“p”和时间之间有一个空格。如果要在单元格中插入当前时间,则按Ctrl+Shift+;键。了解Excel公式的错误值经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:#N/A!、#VALUE!、#DIV/O!等等,出现这些错误的原因有很多种,如果公式不能计算正确结果,Excel将显示一个错误值,例如,在需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种常见的错误及其解决方法。1.#####!原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!错误。解决方法:如果单元格所含的数字、日期或时间比单元格宽,可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统,那么Excel中的日期和时间必须为正值,用较早的日期或者时间值减去较晚的日期或者时间值就会导致#####!错误。如果公式正确,也可以将单元格的格式改为非日期和时间型来显示该值。2.#VALUE!当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。原因一:在需要数字或逻辑值时输入了文本,Excel不能将文本转换为正确的数据类型。解决方法:确认公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字,单元格A2包含文本"学籍",则公式"=A1+A2"将返回错误值#VALUE!。可以用SUM工作表函数将这两个值相加(SUM函数忽略文本):=SUM(A1:A2)。原因二:将单元格引用、公式或函数作为数组常量输入。解决方法:确认数组常量不是单元格引用、公式或函数。原因三:赋予需要单一数值的运算符或函数一个数值区域。解决方法:将数值区域改为单一数值。修改数值区域,使其包含公式所在的数据行或列。3.#DIV/O!当公式被零除时,将会产生错误值#DIV/O!。原因一:在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格,Excel将此空值当作零值)。解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。原因二:输入的公式中包含明显的除数零,例如:=5/0。解决方法:将零改为非零值。4.#NAME?在公式中使用了Excel不能识别的文本时将产生错误值#NAME?。原因一:删除了公式中使用的名称,或者使用了不存在的名称。解决方法:确认使用的名称确实存在。选择菜单"插入"|"名称"|"定义"命令,如果所需名称没有被列出,请使用"定义"命令添加相应的名称。原因二:名称的拼写错误。解决方法:修改拼写错误的名称。原因三:在公式中使用标志。解决方法:选择菜单中"工具"|"选项"命令,打开"选项"对话框,然后单击"重新计算"标签,在"工作薄选项"下,选中"接受公式标志"复选框。原因四:在公式中输入文本时没有使用双引号。解决方法:Excel将其解释为名称,而不理会用户准备将其用作文本的想法,将公式中的文本括在双引号中。例如:下面的公式将一段文本"总计:"和单元格B50中的数值合并在一起:="总计:"&B50原因五:在区域的引用中缺少冒号。解决方法:确认公式中,使用的所有区域引用都使用冒号。例如:SUM(A2:B34)。5.#N/A原因:当在函数或公式中没有可用数值时,将产生错误值#N/A。解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A",公式在引用这些单元格时,将不进行数值计算,而是返回#N/A。6.#REF!当单元格引用无效时将产生错误值#REF!。原因:删除了由其他公式引用的单元格,或将移动单元格粘贴到由其他公式引用的单元格中。解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮,以恢复工作表中的单元格。7.#NUM!当公式或函数中某个数字有问题时将产生错误值#NUM!。原因一:在需要数字参数的函数中使用了不能接受的参数。解决方法:确认函数中使用的参数类型正确无误。原因二:使用了迭代计算的工作表函数,例如:IRR或RATE,并且函数不能产生有效的结果。解决方法:为工作表函数使用不同的初始值。原因三:由公式产生的数字太大或太小,Excel不能表示。解决方法:修改公式,使其结果在有效数字范围之间。8.#NULL!当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!。原因:使用了不正确的区域运算符或不正确的单元格引用。解决方法:如果要引用两个不相交的区域,请使用联合运算符逗号(,)。公式要对两个区域求和,请确认在引用这两个区域时,使用逗号。如:SUM(A1:A13,D12:D23)。如果没有使用逗号,Excel将试图对同时属于两个区域的单元格求和,但是由于A1:A13和D12:D23并不相交,所以他们没有共同的单元格。在Excel中快速查看所有工作表公式只需一次简单的键盘点击,即可可以显示出工作表中的所有公式,包括Excel用来存放日期的序列值。要想在显示单元格值或单元格公式之间来回切换,只需按下CTRL+`(位于TAB键上方)。EXCEL2000使用技巧十招1、Excel文件的加密与隐藏如果你不愿意自己的Excel文件被别人查看,那么你可以给它设置密码保护,采用在保存文件时用加密的方法就可以实现保护目的,在这里要特别注意的是,自己设定的密码一定要记住,否则自己也将被视为非法入侵者而遭拒绝进入。给文件加密的具体方法为:A、单击“文件”菜单栏中的“保存或者(另存为)”命令后,在弹出的“保存或者(另存为)”的对话框中输入文件名;B、再单击这个对话框中“工具”栏下的“常规选项”按钮,在弹出的“保存选项”的对话框中输入自己的密码;这里要注意,它提供了两层保护,如果你也设置了修改权限密码的话,那么即使文件被打开也还需要输入修改权限的密码才能修改。C、单击“确定”按钮,在弹出的密码确认窗口中重新输入一遍密码,再点击“确认”,最后点“保存”完成文件的加密工作。当重新打开文件时就要求输入密码,如果密码不正确,文件将不能打开。2、对单元格进行读写保护单元格是Excel执行其强大的计算功能最基本的元素,对单元格的读写保护是Excel对数据进行安全管理的基础。对单元格的保护分为写保护和读保护两类,所谓写保护就是对单元格中输入信息加以限制,读保护是对单元格中已经存有信息的浏览和查看加以限制。对单元格的写保护有两种方法:A、对单元格的输入信息进行有效性检测。首先选定要进行有效性检测的单元格或单元格集合,然后从数据菜单中选择“有效数据”选项,通过设定有效条件、显示信息和错误警告,控制输入单元格的信息要符合给定的条件。B、设定单元格的锁定属性,以保护存入单元格的内容不能被改写。可分为以下步骤:(1)选定需要锁定的单元格或单元格集合;(2)从格式菜单中选择“单元格”选项;(3)在设置单元格格式的弹出菜单中选择“保护”标签,在弹出的窗口中,选中“锁定”;(4)从工具菜单中选择“保护”选项,设置保护密码,即完成了对单元格的锁定设置。对单元格的读保护有三种方法:A、通过对单元格颜色的设置进行读保护。例如:将选定单元格或单元格集合的背景颜色与字体颜色同时设为白色,这样,从表面看起来单元格中好像是没有输入任何内容,用户无法直接读出单元格中所存储的信息。B、用其他画面覆盖在需要保护的单元格之上,遮住单元格的本来面目,以达到读保护目的。例如:使用绘图工具,画一不透明矩形覆盖在单元格之上,从格式菜单中选定矩形的“锁定”选项,然后保护工作表,以保证矩形不能被随意移动。这样,用户所看到的只是矩形,而看不到单元格中所存储的内容。C、通过设置单元格的行高和列宽,隐藏选定的单元格,然后保护工作表,使用户不能直接访问被隐藏的单元格,从而起到读保护的作用。3、快速填充相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。我们可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:A、同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;B、输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、使用Excel中的“宏”功能宏的概念,相信使用过WORD的人都会知道,她可以记录命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。在实践工作中,它可以代替经常输入大量重复而又琐碎的数据,具体宏的定义方法如下::A、打开工作表,在工作表中选中要进行操作的单元格;B、用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;C、设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。5、连续两次选定单元格我们有时需要在某个单元格内连续输入多个数值,以查看引用此单元格的其他单元格的效果。但每次输入一个值后按回车键,活动单元格均默认下移一个单元格,非常不便。解决此问题的一般做法是通过选择“工具”\“选项”\“编辑”,取消“按回车键后移动”选项的选定来实现在同一单元格内输入许多数值,但以后你还得将此选项选定,显得比较麻烦。其实,采用连续两次选定单元格方法就显得灵活、方便:单击鼠标选定单元格,然后按住Ctrl键再次单击鼠标选定此单元格。此时,单元格周围将出现实线框。6、在工作表之间使用超级连接首先须要在被引用的其他工作表中相应的部分插入书签,然后在引用工作表中插入超级链接,注意在插入超级链接时,可以先在“插入超级链接”对话框的“链接到文件或URL”设置栏中输入目标工作表的路径和名称,再在“文件中有名称的位置”设置栏中输入相应的书签名,也可以通过“浏览”方式选择。完成上述操作之后,一旦使用鼠标左键单击工作表中带有下划线的文本的任意位置,即可实现中文Excel2000在自动打开目标工作表并转到相应的位置处,这一点与WORD的使用很相似。7、快速清除单元格的内容首先用鼠标选定该单元格,然后按住键盘上的Delete键,此时你会发现你只是删除了单元格内容,它的格式和批注还保留着。那么如何才能彻底清除单元格呢,请看下面的两种操作步骤:A、选定想要清除的单元格或单元格范围;B、选择“编辑”菜单中的“清除”命令,这时显示“清除”菜单;C、选择要清除的命令,可以选择“全部”、“格式”、“内容”或“批注”中的任一个。8、快速修改单元格次序在实际操作的过程中,我们有时需要快速修改单元格内容的次序。在拖放选定的一个或多个单元格至新的位置的同时,按住Shift键可以快速修改单元格内容的次序。具体方法如下:A、首先用鼠标选定单元格,同时按下键盘上的Shift键;B、接着移动鼠标指针到单元格边缘,直至出现拖放指针箭头,然后进行拖放操作。上下拖拉时鼠标在单元格间边界处会变成一个水平“工”状标志,左右拖拉时会变成垂直“工”状标志,释放鼠标按钮完成操作后,单元格间的次序即发生了变化。、在Excel中利用公式来设置加权平均加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。10、用Excel绘制函数图像函数图像能直观地反映函数的性质,用手工方法来绘制函数图像效果不太好,而用Excel绘制函数图像非常简便,所作图像非常标准、漂亮,具体方法如下:A、首先打开电子表格的操作窗口,然后用鼠标选择菜单栏中的“新建”命令,这时屏幕上会出现一个空白的电子表格;B、然后在A列的A1格输入“X=”,表明这是自变量,再在A列的A2及以后的格内逐次从小到大输入自变量的各个值;实际输入的时候,通常应用等差数列输入法,先输入前三个值,定出自变量中数与数的距离,然后点击A2格,按住鼠标拖到A4格选中这三项,使这三项变成一个黑色矩形,再用鼠标指向这黑色矩形的右下角的小方块,当光标变成“+”后,按住鼠标拖动光标到适当的位置,就完成自变量的输入;C、接着在B列的B1格输入函数式y=f(x)的一般函数表达式,如y=1/x;也可在点击工具栏上的函数图标“fx”后,在出现的不同函数列表的选项中选择需要的一种;输入结束后,点击函数输入对话框旁的勾号,B2格内马上得出了计算的结果。这时,再选中B2格,让光标指向B2矩形右下角的方框,当光标变成“+”时按住光标沿B列拖动到适当的位置即完成函数值的计算。注意一定要把该函数中自变量x的位置输入前面A列自变量的绝对位置A2格,这样下面计算的时候才会对不同的自变量进行计算;D、最后点击工具栏上的“图表向导”图标,在出现的各种图表格式图标中选择“X,Y散点图”,然后在出现的“X,Y散点图”类型中选择“无数据点平滑线散点图”;这时,可按住鼠标察看即将绘好的函数图像。另外,对于自变量仅为正值的函数,也可用“图表向导”中的“折线图”格式绘制。在Excel中自动推测出生年月日及性别的技巧大家都知道,身份证号码已经包含了每个人的出生年月日及性别等方面的信息(对于老式的15位身份证而言,7-12位即个人的出生年月日,而最后一位奇数或偶数则分别表示男性或女性。如某人的身份证号码为420400700101001,它的7-12位为700101,这就表示该人是1970年元月1日出生的,身份证的最后一位为奇数1,这就表示该人为男性;对于新式的18位身份证而言,7-14位代表个人的出身年月日,而倒数第二位的奇数或偶数则分别表示男性或女性)。根据身份证号码的这些排列规律,结合Excel的有关函数,我们就能实现利用身份证号码自动输入出生年月日及性别等信息的目的,减轻日常输入的工作量。Excel中提供了一个名为MID的函数,其作用就是返回文本串中从指定位置开始特定数目的字符,该数目由用户指定(另有一个名为MIDB的函数,其作用与MID完全一样,不过MID仅适用于单字节文字,而MIDB函数则可用于汉字等双字节字符),利用该功能我们就能从身份证号码中分别取出个人的出生年份、月份及日期,然后再加以适当的合并处理即可得出个人的出生年月日信息。提示:MID函数的格式为MID(text,start_num,num_chars)或MIDB(text,start_num,num_bytes),其中Text是包含要提取字符的文本串;Start_num是文本中要提取的第一个字符的位置(文本中第一个字符的start_num为1,第二个为2……以此类推);至于Num_chars则是指定希望MID从文本中返回字符的个数。假定某单位人员管理希望通过身份证号码自动得出员工的出生年月日及性别,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论