计算机病毒分析课件

PPT
  • 阅读 32 次
  • 下载 0 次
  • 页数 71 页
  • 大小 279.041 KB
  • 2022-12-01 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
计算机病毒分析课件
可在后台配置第一页与第二页中间广告代码
计算机病毒分析课件
可在后台配置第二页与第三页中间广告代码
计算机病毒分析课件
可在后台配置第三页与第四页中间广告代码
计算机病毒分析课件
计算机病毒分析课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 71
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】计算机病毒分析课件.ppt,共(71)页,279.041 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-77274.html

以下为本文档部分文字说明:

计算机病毒分析课件将要介绍的几种病毒类型DOS病毒引导区病毒文件型病毒混合型病毒Windows病毒VBS脚本病毒宏病毒网页病毒Win32PE病毒••引导区病毒什么是主引导记录?硬盘的主引导记录在硬盘的0

磁头0柱面1扇区。主引导记录由三部分组成:主引导程序;四个分区表;主引导记录有效标志字。••DOS引导区病毒引导区病毒所谓引导区病毒是指一类专门感染软盘引导扇区和硬盘主引导扇区的计算机病毒程序。如果被感染的磁

盘被作为系统启动盘使用,则在启动系统时,病毒程序即被自动装入内存,从而使现行系统感染上病毒。在系统带毒的情况下,如果进行了磁盘I/O操作,则病毒程序就会主动地进行传染,从而使其它的磁盘感染上病毒。••DOS的正常启动过程加电开

机后进入系统的检测程序并执行该程序对系统的基本设备进行检测;检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000:7C00处;转入Boot执行之;Boot判断是否为系统盘,如果不是系统盘则提示:non-systemdiskordiskerro

rReplaceandstrikeanykeywhenready否则,读入IBMBIO.COM和IBMDOS.COM两个隐含文件;••DOS的正常启动过程执行IBMBIO.COM和IBMDOS.COM两个隐含文件,将COMMAND.COM装入内存

;系统正常运行,DOS启动成功。引导区病毒实际上就是先保存软盘的引导记录或者硬盘的主引导记录,然后用病毒程序替换原来的引导记录,这样,当系统引导时,便先执行病毒程序,然后将控制权转交给正常的引导程序。••带毒盘引导的启动过

程将Boot区中病毒代码首先读入内存的0000:7C00处;病毒将自身全部代码读入内存的某一安全地区、常驻内存,监视系统的运行;修改INT13H中断服务处理程序的入口地址,使之指向病毒控制模块并执行之。因为任何一种病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作

,修改INT13H中断服务程序的入口地址是一项少不了的操作;病毒程序全部被读入内存后才读入正常的Boot内容到内存的0000:7C00处,进行正常的启动过程;病毒程序伺机等待随时准备感染新的系统盘或非系统盘。••感染过程是否在读写软盘?是,则将目标盘的引导扇区读入内存,对该盘进行判别

是否传染了病毒;当满足传染条件时,则将病毒的全部或者一部分写入Boot区,把正常的磁盘的引导区程序写入磁盘特写位置;返回正常的INT13H中断服务处理程序,完成了对目标盘的传染。••感染过程••引导型病毒的主要特点引导型病毒是在安装操作系统之前进入内存,寄生对象

又相对固定,因此该类型病毒基本上不得不采用减少操作系统所掌管的内存容量方法来驻留内存高端。而正常的系统引导过程一般是不减少系统内存的。引导型病毒需要把病毒传染给软盘,一般是通过修改INT13H的中断向量,而新INT13H中断向量

段址必定指向内存高端的病毒程序。引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇区,并且只驻留一次,因此引导型病毒一般都是在软盘启动过程中把病毒传染给硬盘的。••文件型病毒什么是文件型病毒?所有通过操作系统的文件系统进行感染的病毒都称作文件病毒。我们将会介绍的两种病毒COM文件型

病毒EXE文件型病毒••COM文件型病毒COM文件被载入内存后的格式••COM文件型病毒病毒要感染COM文件一般采用两种方法:加在文件尾部••COM文件型病毒加在文件头部••EXE文件型病毒MZ文件头格式偏移

大小描述002bytes.EXE文件类型标记:4d5ah022bytes文件的最后一个扇区的字节数042bytes文件的总扇区数文件大小=(总扇区数-1)*512+最后一页字节数062bytes重定位项的个数082byte

sexe文件头的大小(16bytes*thisvalue)0a2bytes最小分配数(16bytes*thisvalue)0c2bytes最大分配数(16bytes*thisvalue)0e2bytes堆栈初始段址

(SS)102bytes堆栈初始指针(SP)122bytes补码校验和142bytes初始代码段指针(IP)162bytes初始代码段段址(CS)182bytes定位表的偏移地址1a2bytes覆盖号Theoverlaynumbermakeb

ylink••EXE文件型病毒的感染头寄生••EXE文件型病毒的感染尾寄生••EXE文件型病毒的感染插入寄生••EXE文件型病毒的感染伴随型••EXE文件型病毒的感染病毒感染的方式还有很多,譬如DIRII属于一种链接型的病毒,还有无入口点的

病毒,没有任何美感的覆盖型病毒等。病毒如何感染,一直是病毒研究的话题,这并不存在非常固定的模式。病毒作者完全可以任意发挥自己的想象。••混合型病毒什么是混合型病毒?所谓混合型病毒,就是指既可以感染引导

区又可以感染文件的病毒。但是这种病毒绝对不是引导区病毒和文件型病毒的简单相加。文件型病毒大多采用INT21H,但是引导型病毒是在引导阶段进行感染驻留,这时DOS系统还没有启动,因此混合型病毒此时无法采用21号中断。如何解决这个问题?••VBS脚本病毒如

何感染VBS脚本病毒是直接通过自我复制来感染文件的病毒中的绝大部分代码都可以直接附加在其他同类程序的中间.新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部,并在顶部加入一条调用病毒代码的语句.爱虫病毒则是直接生成一个文件的副本,将病毒代码

拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。••VBS脚本病毒如何感染文件感染的部分关键代码setfso=createobject(“scripting.filesystemobject”)‘创建一个文件系统对象setself=fso.ope

ntextfile(wscript.scriptfullname,1)‘读打开当前文件(即病毒本身)vbscopy=self.readall'读取病毒全部代码到字符串变量vbscopy„„setap=fso.opentextfile(目标文件.path

,2,true)'写打开目标文件,准备写入病毒代码ap.writevbscopy'将病毒代码覆盖目标文件ap.closesetcop=fso.getfile(目标文件.path)'得到目标文件路径cop.copy(目标文件.path&".vbs")'创建另外一个病毒文件

(以.vbs为后缀)目标文件.delete(true)'删除目标文件••VBS脚本病毒如何搜索文件‘该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒副本subscan(folder_)'scan函数定义,onerro

rresumenext'如果出现错误,直接跳过,防止弹出错误窗口setfolder_=fso.getfolder(folder_)setfiles=folder_.files'当前目录的所有文件集合foreachfileinfilesext=fso.GetExten

sionName(file)'获取文件后缀ext=lcase(ext)'后缀名转换成小写字母ifext=“mp5”then„如果后缀名是mp5,则进行感染。Wscript.echo(file)endifnextsetsubfolde

rs=folder_.subfoldersforeachsubfolderinsubfolders‘搜索其他目录;递归调用scan()scan(subfolder)nextendsub••VBS脚本病毒如何获得控制权1)修改注册表项windows在启动的时候,会自动加载HKE

Y_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下的各键值所执向的程序。脚本病毒可以在此项下加入一个键值指向病毒程序,这样就可以

保证每次机器启动的时候拿到控制权。vbs修改贮册表的方法比较简单,直接调用下面语句即可。wsh.RegWrite(strName,anyValue[,strType])2)通过映射文件执行方式譬如,新欢乐时光将dll的执行方式修改为wscr

ipt.exe。甚至可以将exe文件的映射指向病毒代码。••VBS脚本病毒如何获得控制权3)欺骗用户,让用户自己执行这种方式其实和用户的心理有关。譬如,病毒在发送附件时,采用双后缀的文件名,由于默认情况下,后缀并不显示,举个例子,

文件名为beauty.jpg.vbs的vbs程序显示为beauty.jpg,这时用户往往会把它当成一张图片去点击。同样,对于用户自己磁盘中的文件,病毒在感染它们的时候,将原有文件的文件名作为前缀,vbs作为后缀产生一个病毒文件,并删除原来文件,这样,用户就有可能将这个vbs文件看作自己原来的文

件运行。4)desktop.ini和folder.htt互相配合这两个文件可以用来配置活动桌面,也可以用来自定义文件夹。如果用户的目录中含有这两个文件,当用户进入该目录时,就会触发folder.htt中的病毒代码。这是新欢乐时光病毒采用的一种比较有效的获取控制权的

方法。••VBS脚本病毒的网上传播1)通过Email附件传播设置Outlook对象=脚本引擎.创建对象("Outlook.Application")设置MAPI对象=Outlook对象.获取名字空间("MAPI")Fori=1toMAPI对象.地址表.地址表

的条目数//两个for语句用来遍历整个地址簿设置地址对象=MAPI对象.地址表(i)Forj=1To地址对象.地址栏目.地址栏目数设置邮件对象=Outlook对象.创建项目(0)设置地址入口=地址对象.地址栏目(j)邮件对象.收件人=地址入口.邮件地址邮件对象.主题=“你好!”邮件对象.附件标

题=“好看的东东,请打开”邮件对象.附件.增加(“test.jpg.vbs“)邮件对象.发送邮件对象.发送后删除=真NextNext••VBS脚本病毒的网上传播2)通过局域网共享传播在局域网中,用户之间为了方便文件交流,通常会设置共享目录,并且通常具有可写权限。病毒可以利

用共享目录,进行病毒传播扩散。3)通过感染htm、asp、jsp、php等网页文件传播如今,WWW服务已经变得非常普遍,病毒通过感染htm等文件,势必会导致所有访问过该网页的用户机器感染病毒。••VBS脚本病毒

的网上传播4)通过IRC聊天通道传播随着即时聊天系统的普及和基于浏览的浏览逐渐成为交流的主要方式,这种方式病毒采用的机会相对比较小,譬如叛逃者病毒就采用了这种传播方式。5)通过P2P共享工具进行传播病毒也可以通过现在广泛流行的KaZaA等点对点共享软件进行传播。

病毒将病毒文件拷贝到KaZaA的默认共享目录中,这样,当其他用户访问这台机器时,就有可能下载该病毒文件并执行。这种传播方法可能会随着KaZaA这种点对点共享工具的流行而发生作用。••VBS脚本病毒的弱点1)绝大部分VBS脚本病毒运行的时候需要用到一个对

象:FileSystemObject。2)VBScript代码是通过WindowsScriptHost来解释执行的。3)VBS脚本病毒的运行需要其关联程序Wscript.exe的支持。4)通过网页传播的病毒需要ActiveX

的支持。5)通过Email传播的病毒需要OE的自动发送邮件功能支持,但是绝大部分病毒都是以Email为主要传播方式的。••如何防范vbs脚本病毒1)禁用文件系统对象FileSystemObject方法:用regsvr32scrrun.dll/

u这条命令就可以禁止文件系统对象。其中regsvr32是Windows\System下的可执行文件。或者直接查找scrrun.dll文件删除或者改名。还有一种方法就是在注册表中HKEY_CLASSES_ROOT\CLSID\下找到一个主键{0D43FE01-F093-11CF-8

940-00A0C9054228}的项,咔嚓即可。2)卸载WindowsScriptingHost在Windows98中(NT4.0以上同理),打开[控制面板]→[添加/删除程序]→[Windows安装程序]→[附件],取消“WindowsScriptingHost”一项。和上面的方法一

样,在注册表中HKEY_CLASSES_ROOT\CLSID\下找到一个主键{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}的项。3)删除VBS、VBE、JS、JSE文件后缀名与

应用程序的映射点击[我的电脑]→[查看]→[文件夹选项]→[文件类型],然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。••如何防范vbs脚本病毒4)在Windows目录中,找到WScript.exe,更改名称或者删除,如果你觉得以后有机会用到的话,最好更改名称好了,当然以

后也可以重新装上。5)要彻底防治VBS网络蠕虫病毒,还需设置一下你的浏览器。我们首先打开浏览器,单击菜单栏里“Internet选项”安全选项卡里的[自定义级别]按钮。把“ActiveX控件及插件”的一切设为禁用,这样就不怕了。呵呵,譬如新欢乐时光

的那个ActiveX组件如果不能运行,网络传播这项功能就玩完了。6)禁止OE的自动收发邮件功能••如何防范vbs脚本病毒7)由于蠕虫病毒大多利用文件扩展名作文章,所以要防范它就不要隐藏系统中已知文件类型的扩展名。Windo

ws默认的是“隐藏已知文件类型的扩展名称”,将其修改为显示所有文件类型的扩展名称。8)将系统的网络连接的安全级别设置至少为“中等”,它可以在一定程度上预防某些有害的Java程序或者某些ActiveX组件对计算机的侵害。9)最后一项:杀毒软件确实很必要,尽管有些杀毒软件挺让广大用户失望,不

过。••宏病毒什么是宏病毒?宏病毒是使用宏语言编写的程序,可以在一些数据处理系统中运行(主要是微软的办公软件系统,字处理、电子数据表和其他Office程序中),存在于字处理文档、数据表格、数据库、演示文档

等数据文件中,利用宏语言的功能将自己复制并且繁殖到其他数据文档里。••宏病毒宏病毒在某种系统中能否存在,首先需要这种系统具有足够强大的宏语言,这种宏语言至少要有下面几个功能:一段宏程序可以附着在一个文档文件后面。宏程序可以从一个文件拷贝到另外一个文件。

存在这样一种机制,宏程序可以不需要用户的干预自动执行。••病毒如何拿到控制权利用如下自动执行宏,将病毒代码写在如下宏中,由于这些宏会自动执行,因此获取控制权。••宏病毒如何传染绝大多数病毒采用如下语句ActiveDocument.V

BProject.VBComponents("guojpeng").Export"c:\guojpeng.sys"//将文档中的病毒代码导出到c:\guojpeng.sysNormalTemplate.VB

Project.VBComponents.Import"c:\guojpeng.sys"//将病毒代码从文件导入导通用模板也可能采用如下方式:ActiveDocument.VBProject.VBComponents.Item(1).Export"c:\guojpeng.

sys"NormalTemplate.VBProject.VBComponents(1).CodeModule.AddFromFile"c:\guojpeng.sys"••宏病毒的自我隐藏OnErrorResumeNext//如果发生错

误,不弹出出错窗口,继续执行下面语句Application.DisplayAlerts=wdAlertsNone//不弹出警告窗口Application.EnableCancelKey=wdCancelDisabled//不允许通过ESC键结束正在运行的宏Application.

DisplayStatusBar=False//不显示状态栏,以免显示宏的运行状态Options.VirusProtection=False//关闭病毒保护功能,运行前如果包含宏,不提示Options.SaveNormalPro

mpt=False//如果公用模块被修改,不给用户提示窗口而直接保存Application.ScreenUpdating=False//不让刷新屏幕,以免病毒运行引起速度变慢••网页病毒我们这里所指的网页病毒是指在html文件

中用于非法修改用户机器配置的html文件。有别于一般通过网页传染的病毒。这种病毒严格意义上讲不属于病毒,它们只是网页恶意代码,这些代码主要用来修改用户的注册表。••网页病毒中常见的代码<APPLETHEIG

HT=0WIDTH=0code=com.ms.activeX.ActiveXComponent></APPLET><SCRIPT>functionruncmd(){a=document.applets[0];a.setCLSID('{F935DC

22-1CF0-11D0-ADB9-00C04FD58A0B}');a.createInstance();wsh=a.GetObject();wsh.Run('cmd.exe');//改为"wsh.Run('cmd.exe',false,1);"则程序在后台隐藏运行}

setTimeout('runcmd()',10);</SCRIPT>••网页病毒主要症状在用户IE浏览器的标题栏打广告修改IE的默认网址,并且不可以修改锁定用户的注册表编辑程序禁止使用“运行”选项有时候也可能对硬盘进行格式化,在用户机

器上创建一些文件••Win32PE病毒什么是PE病毒?PE病毒是指所有感染Windows下PE文件格式文件的病毒。PE病毒大多数采用Win32汇编编写。PE病毒对于一个热衷于病毒技术的人来说,是必须掌握的。只有在PE病毒中,我们才能真正感受

到高超的病毒技术。••编写Win32病毒的几个关键Api函数的获取不能直接引用动态链接库需要自己寻找api函数的地址,然后直接调用该地址一点背景:在PELoader装入我们的程序启动后堆栈顶的地

址是是程序的返回地址,肯定在Kernel中!因此我们可以得到这个地址,然后向低地址缩减验证一直到找到模块的起始地址,验证条件为PE头不能大于4096bytes,PEheader的ImageBase值应

该和当前指针相等.病毒没有.data段,变量和数据全部放在.code段••编写Win32病毒的几个关键偏移地址的重定位Calldeltadelta:popebpsubebp,offsetdelta那么变量var1的真正偏移地址为:var1+ebp对PE文件格式的了解•

•编写Win32病毒的几个关键病毒如何感染其他文件在文件中添加一个新节该新节中添加病毒代码和病毒执行后的返回Host程序的代吗修改文件头中代码开始执行位置(AddressOfEntryPoint)指向新添加的节,以便程序运行后先执行病毒代码。PE病毒感染其他文件的方法还有很多,譬

如PE病毒还可以将自己分散插入到每个节的空隙中等等,这里不在一一叙述。••PE文件格式一览DOSMZheaderDOSstubPEheaderSectiontableSection1Section2Section...Sectionn••PEheaderPeheader由三部分组成

字串“PE\0\0”(Signature)映像文件头(FileHeader)可选映像头(OptionalHeader)••字串“PE\0\0”Signature一dword类型,值为50h,45h,00h

,00h(PE\0\0)。本域为PE标记,我们可以此识别给定文件是否为有效PE文件。这个字串在文件中的位置(e_lfanew),可以在DOS程序头中找到它的指针,它占用四个字节,位于文件开始偏移3CH字节中。•

•映像文件头该结构域包含了关于PE文件物理分布的信息,比如节数目、文件执行机器等。它实际上是结构IMAGE_FILE_HEADER的简称。••映像文件头结构IMAGE_FILE_HEADERSTRUCTMach

ineWORD?NumberOfSectionsWORD?TimeDateStampdd?PointerToSymbolTabledd?NumberOfSymbolsdd?SizeOfOptionalHeaderWORD?Characteris

ticsWORD?IMAGE_FILE_HEADERENDS••映像文件头的基本信息顺序名字大小(字节)描述1Machine*2机器类型,x86为14ch2NumberOfSection**2文件中节的个数3TimeDataStamp4生成该文件的时间4Pointe

rToSymbleTable4COFF符号表的偏移5NumberOfSymbols4符号数目6SizeOfOptionalHeader2可选头的大小7Characteristics*2关于文件信息的标记,比如文件是exe还是dll••可选映像头

optionalheader结构是IMAGE_NT_HEADERS中的最后成员。包含了PE文件的逻辑分布信息。该结构共有31个域,一些是很关键,另一些不太常用。这里只介绍那些真正有用的域。这儿有个关于PE文件格式的常用术语:RVARVA

代表相对虚拟地址。它是相对虚拟空间里的一个地址。举例说明,如果PE文件装入虚拟地址(VA)空间的400000h处,且进程从虚址401000h开始执行,我们可以说进程执行起始地址在RVA1000h。每个RVA都是相对于模块的起始VA的。••可选映像头名字描述AddressO

fEntryPoint*PE装载器准备运行的PE文件的第一个指令的RVA。若要改变整个执行的流程,可以将该值指定到新的RVA,这样新RVA处的指令首先被执行。ImageBasePE文件的优先装载地址。比如,如果该值是400000h,PE装载器将尝试把文件装到虚拟地址空间的400000h处。若该

地址区域已被其他模块占用,那PE装载器会选用其他空闲地址。SectionAlignment内存中节对齐的粒度。FileAlignment文件中节对齐的粒度。••可选映像头名字描述MajorSubsystemVersionMinor

SubsystemVersionwin32子系统版本。若PE文件是专门为Win32设计的,该子系统版本必定是4.0否则对话框不会有3维立体感。SizeOfImage内存中整个PE映像体的尺寸。SizeOfHeaders所有头+节表的大小,也就等于文件尺寸减去文件中所有节的

尺寸。可以以此值作为PE文件第一节的文件偏移量。SubsystemNT用来识别PE文件属于哪个子系统。DataDirectory一IMAGE_DATA_DIRECTORY结构数组。每个结构给出一个重要数据

结构的RVA,比如引入地址表等。••DataDirectory数据目录一个IMAGE_DATA_DIRECTORY数组,里面放的是这个可执行文件的一些重要部分的RVA和尺寸,目的是使可执行文件的装入更快,数组的项数由上一个域给出。IMAGE_DATA_DIRECTORY包含有两个域,如下:I

MAGE_DATA_DIRECTORYVitualAddressDD?SizeDD?IMAGE_DATA_DIRECTORYENDS••节表节表其实就是紧挨着PEheader的一结构数组。该数组成员的数目由fileheader(IMAGE_FILE_HEADER)结构中NumberOfSec

tions域的域值来决定。节表结构又命名为IMAGE_SECTION_HEADER。结构中放的是一个节的信息,如名字、地址、长度、属性等。••IMAGE_SECTION_HEADER顺序名字大小(字节)描述1Name*8节名2Physi

calAddress或VirtualSize4OBJ文件用作表示本节物理地址EXE文件中表示节的真实尺寸3Virtual*4这个值+映像基地址=本节在内存中的真正地址。OBJ中无意义。4SizeOfRawData*4本节的原始尺寸5PointerToRawData*4本节原始数据在

文件中的位置••IMAGE_SECTION_HEADER顺序名字大小(字节)描述6PointerToRelocations4OBJ中表示该节重定位信息的偏移EXE文件中无意义7PointerToLinenumbers4行号偏移8NumberOfRelocations2本节要重定位的数目9Numbe

rOfLinenumbers2本节在行号表中的行号数目10Characteristics*4节属性••节“节(Section)”跟在节表之后,一般PE文件都有几个“节”。比较常见的有:代码节已初始化的数据节未初始化的数据节资源节引入

函数节引出函数节••代码节代码节一般名为.text或CODE,该节含有程序的可执行代码。每个PE文件都有代码节在代码节中,还有一些特别的数据,是作为调用映入函数之用。如:CallMessageBoxA的调用,

反汇编后该指令被换为call0040101A,而地址0040101A仍在.text中,它放有一个跳转指令jmpdwordptr[0040304c],即这条跳转指令的目的地址处于.idata节中的0040304C处,其中放的才

是MessageBoxA的真正地址,如下图:••••已初始化的数据节这个节一般取名为.data或DATA已初始化的数据节中放的是在编译时刻就已确定的数据。如HelloWorld中的字符串“HelloWorld!”。••未初始化的数据节这个节的名称一般

叫.bbs。这个节里放有未初始化的全局变量和静态变量。••资源节资源节一般名为.rsrc这个节放有如图标、对话框等程序要用到的资源。资源节是树形结构的,它有一个主目录,主目录下又有子目录,子目录下可以是子目录或数据。都是一个IMAGE_RESOURCE_DIRECTOR

Y结构。结构如下:••IMAGE_RESOURCE_DIRECTORY结构顺序名字大小(字节)描述1Characteritics4通常为02TimeDateStamp4资源生成时间3MajorVersion2主版本号4MinorVersion2次版本号5NumberOfN

amedEntries2以名字标识的资源数6NumberOfldEntries2以ID标识的资源数••引入函数节一个引入函数是被某模块调用的但又不在调用者模块中的函数这个节一般名为.idata,也叫引入表。它包含

从其它(系统或第三方写的)DLL中引入的函数,例如user32.dll、gdi32.dll等。它的开始是一个IMAGE_IMPORT_DESCRIPTOR数组。这个数组的长度不定,但他的最后一项是全0,可以以此判断数组的结束。••引出函数节什么是引出函

数节?引出函数节是用来向系统提供导出函数的名称、序号和入口地址等信息,以便Windows装载器通过这些信息来完成动态链接的过程。了解引出函数节对于学习病毒来说,是极为重要的。Api函数地址的获取与引出函数节息息相关。••引出函数节••通过Api函数名查找

其地址(1)定位到PE文件头(2)从PE文件头中的课选文件头中取出数剧目录表的第一个数据目录,得到导出表的地址。(3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。(4)

从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数。(5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值,然后在A

ddressOfNameOrdinals指向的数组中以同样的索引值去除数组项的值,假如该值为m。(6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模

块实际装入的基址(ImageBase),就得到了函数真正的入口地址。••欢迎访问我们的论坛中国毒客公社logincom/forum网络侦察实验室202.114.106.18/board/cgi-bin/leoboard.cgi或webrower我的联系方式guojpen

gcs.whu.edu••

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?