信息技术安全竞赛题库9

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11204-1411基本知识点程序跟踪的基本概念调试器允许用户在程序运行时跟踪它的执行,跟踪意味着程序执行一条代码然后暂停,并允许用户观察甚至改变程序的状态。调试器允许用户在程序运行时跟踪它的执行,跟踪意味着程序执行一条代码然后暂停,并允许用户观察甚至改变程序的状态。调试器允许用户在程序运行时跟踪它的执行,跟踪意味着程序执行一条代码然后暂停,并允许用户观察甚至改变程序的状态。关于程序跟踪的基本概念,程序跟踪也称为单步跟踪,程序跟踪是为了察看程序执行的过程和状态,调试器在程序跟踪时可以修改程序的状态,程序跟踪是调试器的一个最基本的特征。调试模式用户模式调试器的概念用户模式调试器是一种普通的应用程序,它将自己加在另一个进程之上,并可以完全控制该进程。用户模式调试器是一种普通的应用程序,它将自己加在另一个进程之上,并可以完全控制该进程。用户模式调试器是一种普通的应用程序,它将自己加在另一个进程之上,并可以完全控制该进程。关于用户模式调试器的概念,是一种普通的应用程序,运行在另一个进程之上,并可以控制该进程。用户模式调试器的特点用户模式调试器仅能查看一个进程。用户模式调试器能可以同时查看一个进程。用户模式调试器易于安装和使用,因为它们只是运行于系统之上的另外一个程序。关于用户模式调试器的特点,同时可以查看一个进程,易于安装,运行于操作系统之上,可以调试有设备驱动的程序。内核模式调试器的概念内核模式调试器不是运行在系统之上的程序,因此它只能同时对某个特定进程进行查看。内核模式调试器不是运行在系统之上的程序,它与系统内核处于同等地位,因此能在任意时刻停止整个系统的运行并观察。关于内核模式调试器的概念,和系统内核处于同等地位,能够在任意时刻停止整个系统,可以整个系统的情况。关于内核模式调试器的概念,,和系统内核处于同等地位,能够在任意时刻2停止整个系统,可以设置底层断点。内核模式调试器的特点内核模式可以设置底层断点。关于内核模式的特点,可以设置底层断点,可以调试驱动,可以查看系统整体面貌。关于内核模式的特点,可以设置底层断点,可以查看系统整体面貌,当调试器打开时,系统会一直处于冻结状态。针对pe的认识PE是PortableExecutableFileFormat(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。Pe的文件格式PE(portableexecutable)文件格式是针对MSwindowsNT,windows95andwin32s的可执行二进制代码(DLLsandprograms)。在windowsNT内,驱动程序也是这个格式,也可以用于对象文件和库。这个格式是Microsoft设计的,并在1993经过TIS(toolinterfacestandard)委员会(Microsoft,Intel,Borland,Watcom,IBM等)标准化。它基于在UNIX和VMS上运行的对象文件和可执行文件的COFFcommonobjectfileformat格式。壳的加载过程1)获取壳所需要使用的API地址如果用PE编辑工具查看加壳后的文件,会发现未加壳的文件和加壳后的文件的输入表不一样,加壳后的输入表一般所引入的DLL和API函数很少,甚至只有Kernel32.dll以及GetProcAddress这个API函数。壳实际上还需要其他的API函数来完成它的工作,为了隐藏这些API,它一般只在壳的代码中用显式链接方式动态加载这些API函数。2)解密原程序的各个区块(Section)的数据壳出于保护原程序代码和数据的目的,一般都会加密原程序文件的各个区块。在程序执行时外壳将会对这些区块数据解密,以让程序能正常运行。壳一般是按区块加密的,那么在解密时也按区块解密,并且把解密的区块数据按照区块的定义放在合适的内存位置。如果加壳时用到了压缩技术,那么在解密之前还有一道工序,就是解压缩。这也是一些壳的特色之一,比如说原来的程序文件未加壳时1~2M大小,加壳后反而只有几百K。3)重定位文件执行时将被映像到指定内存地址中,这个初始内存地址称为基地址(ImageBase)。对于EXE的程序文件来说,Windows系统会尽量满足。例如某EXE文件的基地址为0x400000,而运行时Windows系统提供给程序的基地址也同样是0x400000。在这种情况下就不需要进行地址“重定位”了。由于不需要对EXE文件进行“重定位”,所以加壳软件把原程序文件中用于保存重定位信息的区块干脆也删除了,这样使得加壳后的文件更加小巧。有些工具提供“WipeReloc”3的功能,其实就是这个作用。不过对于DLL的动态链接库文件来说,Windows系统没有办法保证每一次DLL运行时都提供相同的基地址。这样“重定位”就很重要了,此时壳中也需要提供进行“重定位”的代码,否则原程序中的代码是无法正常运行起来的。从这点来说,加壳的DLL比加壳的EXE更难修正。4)HOOK-API程序文件中的输入表的作用是让Windows系统在程序运行时提供API的实际地址给程序使用。在程序的第一行代码执行之前,Windows系统就完成了这个工作。壳一般都修改了原程序文件的输入表,然后自己模仿Windows系统的工作来填充输入表中相关的数据。在填充过程中,外壳就可填充HOOK-API代码的地址,这样就可间接地获得程序的控制权。5)跳转到程序原入口点(OEP)从这个时候起壳就把控制权交还给原程序了,一般的壳在这里会有明显的一个“分界线”。但现在的猛壳己没这界限了,壳里有肉,肉里有壳加壳软件介绍加壳软件按照其加壳目的和作用,可分为两类:一是压缩(Packers),二是保护(Protectors)。压缩这类壳主要目的是减小程序体积,如ASPacK、UPX和PECompact等。另一类是保护程序,用上了各种反跟踪技术保护程序不被调试、脱壳等,其加壳后的体积大小不是其考虑的主要因素,如ASProtect、Armadillo、EXECryptor等。随着加壳技术的发展,这两类软件之间的界线越来越模糊,很多加壳软件除具有较强的压缩性能,同时也有了较强的保护性能。各类加壳软件,其压缩算法一般不是自己实现的,大多是调用其他的压缩引擎。目前压缩引擎种类比较多,不同的压缩引擎有不同特点,如一些对图像压缩效果好,一些对数据压缩效果好。而加壳软件选择压缩引擎有一个特点,在保证压缩比的条件下,压缩速度慢些关系不是太大,但解压速度一定要快,这样加了壳的EXE文件运行起来速度才不会受太大的影响。Windows逆向的基础知识WindowsAPI的概念WindowsAPI是一个提供应用程序运行所需要的窗口管理、图形设备接口、内存管理等各项服务功能的函数库。WindowsAPI是一个提供应用程序运行所需要的窗口管理、图形设备接口、内存管理等各项服务功能的函数库。WindowsAPI是一个提供应用程序运行所需要的窗口管理、图形设备接口、内存管理等各项服务功能的函数库。关于WindowsAPI,是一个函数库,WindowsAPI又称Windows应用程序编程接口,可以提供应用程序所需要的各项系统服务,WindowsAPI函数采用动态链接库实现。句柄的概念句柄是Windows标识由应用程序建立或使用的对象所使用的唯一整数值。4句柄是Windows标识由应用程序建立或使用的对象所使用的唯一整数值。句柄是Windows标识由应用程序建立或使用的对象所使用的唯一整数值。关于句柄的描述,用于标识应用程序建立或使用对象,每个程序的句柄是唯一的,句柄是一个整数值。Windows消息机制的概念Windows消息是提供应用程序与应用程序之间、应用程序与Windows系统之间进行通信的手段。Windows消息是提供应用程序与应用程序之间、应用程序与Windows系统之间进行通信的手段。Windows消息是提供程序与程序之间、程序与系统之间通信的手段。关于Windows消息机制的描述,下列说法正确的是(ADE)。(A)Windows消息可以提供应用程序相互之间以及应用程序和系统之间的通信,Windows本身是由消息驱动的,消息具有非抢先性Windows保护模式的权限级别保护模式的权限级别分为四等:0,1,2,3保护模式的权限级别分为4等。关于保护模式的权限级别,保护模式的权限分为4级,Ring0级的权限最高,Ring0级可以执行所有指令并访问所有数据。PE技术原理PE的基本概念PE是Windows可执行文件的格式,其使用的是一个平面的地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。PE是Windows可执行文件的格式,其使用的是一个平面的地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。关于PE的概念,PE是可执行文件的格式,,PE使用的是一个平面的地址空间,pE文件的内容被分割成不同的区块关于PE的概念,PE是可执行文件的格式,PE使用的是一个平面的地址空间,PE将所有的代码和数据都合并在一个结构里,PE文件的内容被分割成不同的区块.PE的结构.rdata块的含义是运行期间只读数据。(√).idata块包含其他外来DLL的函数及数据信息。.text块是编译结束时产生的,它的内容全是指令代码。PE结构中的常见块有:.data.rdata.idata.text.rsrc虚拟地址的基本概念5在Windows的保护模式下,所有程序访问的存储器所使用的逻辑地址称为虚拟地址,又称为内存偏移地址。在Windows的保护模式下,所有程序访问的存储器所使用的逻辑地址称为虚拟地址。关于虚拟地址的概念,虚拟地址就是所有程序访问的存储器所使用的逻辑地址.基地址的基本概念关于基的概念,基地址是指当文件执行时将被映射到的指定内存地址的初始地址.相对虚拟地址与基地址的关系某个EXE文件从0x400000处装入,并且它的代码区域开始于0x401000,那么它的代码区块的相对虚拟地址是0x1000。某个EXE文件从0x601000处装入,并且它的代码区域开始于0x701000,那么它的代码区块的相对虚拟地址是0x100000。关于相对虚拟地址,相对虚拟地址=虚拟地址-基地址,相对虚拟地址是内存中相对于PE文件装入地址的偏移量病毒加解密技术原理(使用壳)壳的概念壳是一段专门负责保护软件不被非法修改或反编译的程序。壳是一段专门负责保护软件不被非法修改或反编译(D)的程序。关于壳的概念,壳主要是保护软件不被非法修改或反编译,壳一般先于程序运行,壳在运行时先夺取程序的控制权关于壳的概念,下列说法正确的是(ABDE)。,壳主要是保护软件不被非法修改或反编译,壳一般先于程序运行,壳在运行时先夺取程序的控制权,壳其实是一种对软件的加密壳的加载过程一般壳的加载过程分为:获取壳自身的API地址,解密原程序的各个区块,重定位,HOOK-API,最后跳转到程序原入口点。关于壳的加载过程,获取壳自身的API地址,HOOK-API,重定位.壳的加载过程可以分为:。1获取壳自身的API地址2.解密原程序的各个区块3.重定位4.HOOK-API5.跳转到程序原入口点手动脱壳步骤手动脱壳分为寻找程序入口点,抓取内存镜像,重建输入表,重建可编辑资源等四步。手动脱壳分为寻找程序入口点,抓取内存镜像,重建输入表,重建可编辑资源等四步。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功