病毒感染windows pe(病毒感染与细菌感染哪个严重)
来源:http://www.tudoupe.com时间:2023-12-31
PE病毒是什么,通过什么感染
PE病毒是指所有感染Windows下PE文件格式文件的病毒. 漏洞(木马)病毒。 PE病毒大多数采用Win32汇编编写。 利用系统的安全漏洞进行传播的木马病毒。

WINDOWS下的PE病毒是什么?
PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式 PE病毒是指所有感染Windows下PE文件格式文件的病毒. 一般PE病毒要在安全模式下查杀才能清除,但如在安全模式下同样杀不掉的话,建议最好下个木马查杀器如冰刃等来查杀,有些杀不掉的PE病毒大多为Trojan(特洛伊)木马病毒.

鍦╓indows PE涓嬶紝浼氭劅鏌撶梾姣掑悧锛熷�備綍閬垮厤锛�
浣犲弻鍘呯伓鍑昏繍琛屼簡浼氭劅鏌揺xe銆乨ll绛夌殑鐥呮瘨锛屼笖鐥呮梺妫�姣掍笉闇�瑕侀�濆�栫殑杩愯�屽簱锛岃偗瀹氫細杩愪紡浜╂劅鏌撶‖鐩樺叾浠栧垎鍖烘枃浠躲�� 濡傛灉鍙�鏄�鏅�閫氱梾姣掞紝閭�pe涓嶅彈褰卞搷锛屽洜涓簆e鏄�鍦ㄥ唴瀛橀噷鐨勶紝閲嶅惎灏辨病浜嗭紝闄ら潪涓撻棬閽堝�筽e銆�
Windows PreInstallation Environment锛圵indows PE锛夌洿鎺ヤ粠瀛楅潰涓婄炕璇戝氨鏄�鈥淲indows棰勫畨瑁呯幆澧冣�濓紝寰�杞�鍦�2002骞�7鏈�22鏃ュ彂甯冿紝瀹冪殑鍘熸枃瑙i噴鏄�锛氱�版牳鈥淲indows棰勫畨瑁呯幆澧冿紙Windows PE锛夋槸甯︽湁闄愭湇鍔$殑鏈�灏廤in32瀛愮郴缁燂紝鍩轰簬浠ヤ繚鎶ゆā寮忚繍琛岀殑Windows XP Professional鍐呮牳銆傚畠鍖呮嫭杩愯�學indows瀹夎�呯▼搴忓強鑴氭湰銆佽繛鎺ョ綉缁滃叡浜�銆佽嚜鍔ㄥ寲鍩烘湰杩囩▼浠ュ強鎵ц�岀‖浠堕獙璇佹墍闇�鐨勬渶灏忓姛鑳姐�傗�濇崲鍙ヨ瘽璇达紝浣犲彲鎶奧indows PE鐪嬩綔鏄�涓�涓�鍙�鎷ユ湁绗戞豹鎺樻渶灏戞牳蹇冩湇鍔$殑Mini鎿嶄綔绯荤粺銆傚井杞�鎺ㄥ嚭杩欎箞涓�涓�鎿嶄綔绯荤粺褰撶劧鏄�鍥犱负瀹冩嫢鏈変笌浼椾笉鍚岀殑绯荤粺鍔熻兘锛屽�傛灉瑕佺敤涓�鍙ヨ瘽鏉ヨВ閲婏紝鎴戣�や负涓嶹in9X/2000/XP鐩告瘮锛學indows PE鐨勪富瑕佷笉鍚岀偣灏辨槸锛氬畠鍙�浠ヨ嚜瀹氫箟鍒朵綔鑷�韬�鐨勫彲鍚�鍔ㄥ壇鏈�锛屽湪淇濊瘉浣犻渶瑕佺殑鏍稿績鏈嶅姟鐨勫悓鏃朵繚鎸佹渶灏忕殑鎿嶄綔绯荤粺浣撶Н锛屽悓鏃跺畠鍙堟槸鏍囧噯鐨�32浣嶉櫟鍜岃�嗙獥API鐨勭郴缁熷钩鍙般�傚綋鐒讹紝鐜板湪杩欎箞璇翠篃璁搁毦浠ョ悊瑙o紝娌℃湁鍏崇郴锛屼笅闈㈣�╂垜浠�鏉ヤ粩缁嗙爺绌跺畠銆� 鎵�浠ユ牴鏈�灏变笉闇�瑕佺�′細涓嶄細涓�姣掞紒
纭�瀹炴湁鍙�鑳戒細鎰熸煋鐥呮瘨锛屼笉杩囦笉鐢ㄦ媴蹇冿紝鍙�瑕佷綘鎷挎棌纾ㄥ仛濂芥秷鏂桿鍚�鍔ㄧ洏涔嬪悗锛岀敤鏉�姣掕蒋浠舵壂鎻忎竴涓嬶紝纭�璁ゆ病鏈夌梾绌楁槬姣掑氨鍙�浠ヤ簡銆�
鍙�浠ュ畨涓栨彙鍠婅�呬竴浜涙潃姣掕蒋浠跺湪鐢佃剳涓� 濡傜數鑴戠�″�朵竴鎼滈噹绫荤殑锛岀劧鍚庝竴鐩翠繚鎸佸紑鍚� 杩欐牱灏卞彲浠ラ�勯槻鐥呮瘨杩涘叆鍒扮數鐨�瑁よ剳褰撲腑浜�
PE涔熶細涓�姣掓墍浠ユ渶濂藉厛鏉�涓嬪啀鐢≒E
Windows PreInstallation Environment锛圵indows PE锛夌洿鎺ヤ粠瀛楅潰涓婄炕璇戝氨鏄�鈥淲indows棰勫畨瑁呯幆澧冣�濓紝寰�杞�鍦�2002骞�7鏈�22鏃ュ彂甯冿紝瀹冪殑鍘熸枃瑙i噴鏄�锛氱�版牳鈥淲indows棰勫畨瑁呯幆澧冿紙Windows PE锛夋槸甯︽湁闄愭湇鍔$殑鏈�灏廤in32瀛愮郴缁燂紝鍩轰簬浠ヤ繚鎶ゆā寮忚繍琛岀殑Windows XP Professional鍐呮牳銆傚畠鍖呮嫭杩愯�學indows瀹夎�呯▼搴忓強鑴氭湰銆佽繛鎺ョ綉缁滃叡浜�銆佽嚜鍔ㄥ寲鍩烘湰杩囩▼浠ュ強鎵ц�岀‖浠堕獙璇佹墍闇�鐨勬渶灏忓姛鑳姐�傗�濇崲鍙ヨ瘽璇达紝浣犲彲鎶奧indows PE鐪嬩綔鏄�涓�涓�鍙�鎷ユ湁绗戞豹鎺樻渶灏戞牳蹇冩湇鍔$殑Mini鎿嶄綔绯荤粺銆傚井杞�鎺ㄥ嚭杩欎箞涓�涓�鎿嶄綔绯荤粺褰撶劧鏄�鍥犱负瀹冩嫢鏈変笌浼椾笉鍚岀殑绯荤粺鍔熻兘锛屽�傛灉瑕佺敤涓�鍙ヨ瘽鏉ヨВ閲婏紝鎴戣�や负涓嶹in9X/2000/XP鐩告瘮锛學indows PE鐨勪富瑕佷笉鍚岀偣灏辨槸锛氬畠鍙�浠ヨ嚜瀹氫箟鍒朵綔鑷�韬�鐨勫彲鍚�鍔ㄥ壇鏈�锛屽湪淇濊瘉浣犻渶瑕佺殑鏍稿績鏈嶅姟鐨勫悓鏃朵繚鎸佹渶灏忕殑鎿嶄綔绯荤粺浣撶Н锛屽悓鏃跺畠鍙堟槸鏍囧噯鐨�32浣嶉櫟鍜岃�嗙獥API鐨勭郴缁熷钩鍙般�傚綋鐒讹紝鐜板湪杩欎箞璇翠篃璁搁毦浠ョ悊瑙o紝娌℃湁鍏崇郴锛屼笅闈㈣�╂垜浠�鏉ヤ粩缁嗙爺绌跺畠銆� 鎵�浠ユ牴鏈�灏变笉闇�瑕佺�′細涓嶄細涓�姣掞紒
纭�瀹炴湁鍙�鑳戒細鎰熸煋鐥呮瘨锛屼笉杩囦笉鐢ㄦ媴蹇冿紝鍙�瑕佷綘鎷挎棌纾ㄥ仛濂芥秷鏂桿鍚�鍔ㄧ洏涔嬪悗锛岀敤鏉�姣掕蒋浠舵壂鎻忎竴涓嬶紝纭�璁ゆ病鏈夌梾绌楁槬姣掑氨鍙�浠ヤ簡銆�
鍙�浠ュ畨涓栨彙鍠婅�呬竴浜涙潃姣掕蒋浠跺湪鐢佃剳涓� 濡傜數鑴戠�″�朵竴鎼滈噹绫荤殑锛岀劧鍚庝竴鐩翠繚鎸佸紑鍚� 杩欐牱灏卞彲浠ラ�勯槻鐥呮瘨杩涘叆鍒扮數鐨�瑁よ剳褰撲腑浜�
PE涔熶細涓�姣掓墍浠ユ渶濂藉厛鏉�涓嬪啀鐢≒E

什么是PE病毒?
PE病毒是指所有感染Windows下PE文件格式文件的病毒。 PE病毒大多数采用Win32汇编编写。PE病毒对于一个热衷于病毒技术的人来说,是必须掌握的。 只有在PE病毒中,我们才能真正感受到高超的病毒技术。
用杀毒软件处理,现在用的比较多的就是360和火绒的
用杀毒软件处理,现在用的比较多的就是360和火绒的

什么是PE病毒?
PE病毒是指所有感染Windows下PE文件格式文件的病毒. PE病毒大多数采用Win32汇编编写.PE病毒对于一个热衷于病毒技术的人来说,是必须掌握的.只有在PE病毒中,我们才能真正感受到高超的病毒技术.编写Win32病毒的几个关键Api函数的获取不能直接引用动态链接库需要自己寻找api函数的地址,然后直接调用该地址一点背景:在PE Loader装入我们的程序启动后堆栈顶的地址是是程序的返回地址,肯定在Kernel中! 因此我们可以得到这个地址,然后向低地址缩减验证一直到找到模块的起始地址,验证条件为PE头不能大于4096bytes,PE header的ImageBase值应该和当前指针相等.病毒没有.data段,变量和数据全部放在.code段 编写Win32病毒的几个关键偏移地址的重定位Call deltadelta: pop ebpsub ebp,offset delta那么变量var1的真正偏移地址为:var1+ebp对PE文件格式的了解编写Win32病毒的几个关键病毒如何感染其他文件在文件中添加一个新节该新节中添加病毒代码和病毒执行后的返回Host程序的代吗修改文件头中代码开始执行位置(AddressOfEntryPoint)指向新添加的节,以便程序运行后先执行病毒代码.PE病毒感染其他文件的方法还有很多,譬如PE病毒还可以将自己分散插入到每个节的空隙中等等,这里不在一一叙述.PE文件格式一览Section nSection ...Section 2Section 1Section tablePE headerDOS stubDOS MZ headerPE headerPe header 由三部分组成字串 "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_HEADER STRUCT___ Machine WORD___ NumberOfSections WORD___ TimeDateStamp dd___ PointerToSymbolTable dd___ NumberOfSymbols dd___ SizeOfOptionalHeader WORD___ Characteristics WORDIMAGE_FILE_HEADER ENDS映像文件头的基本信息关于文件信息的标记,比如文件是exe还是dll2Characteristics *7可选头的大小2SizeOfOptionalHeader6符号数目4NumberOfSymbols5COFF符号表的偏移4PointerToSymbleTable4生成该文件的时间4TimeDataStamp3文件中节的个数2NumberOfSection **2机器类型,x86为14ch2Machine *1描述大小(字节)名字顺序可选映像头optional header 结构是 IMAGE_NT_HEADERS 中的最后成员.包含了PE文件的逻辑分布信息.该结构共有31个域,一些是很关键,另一些不太常用.这里只介绍那些真正有用的域.这儿有个关于PE文件格式的常用术语: RVARVA 代表相对虚拟地址.它是相对虚拟空间里的一个地址 .举例说明,如果PE文件装入虚拟地址(VA)空间的400000h处,且进程从虚址401000h开始执行,我们可以说进程执行起始地址在RVA 1000h.每个RVA都是相对于模块的起始VA的.可选映像头文件中节对齐的粒度.FileAlignment内存中节对齐的粒度.SectionAlignmentPE文件的优先装载地址.比如,如果该值是400000h,PE装载器将尝试把文件装到虚拟地址空间的400000h处.若该地址区域已被其他模块占用,那PE装载器会选用其他空闲地址.ImageBasePE装载器准备运行的PE文件的第一个指令的RVA.若要改变整个执行的流程,可以将该值指定到新的RVA,这样新RVA处的指令首先被执行.AddressOfEntryPoint *描述名字可选映像头NT用来识别PE文件属于哪个子系统.Subsystem一IMAGE_DATA_DIRECTORY 结构数组.每个结构给出一个重要数据结构的RVA,比如引入地址表等.DataDirectory所有头+节表的大小,也就等于文件尺寸减去文件中所有节的尺寸.可以以此值作为PE文件第一节的文件偏移量.SizeOfHeaders内存中整个PE映像体的尺寸.SizeOfImagewin32子系统版本.若PE文件是专门为Win32设计的,该子系统版本必定是4.0否则对话框不会有3维立体感.MajorSubsystemVersionMinorSubsystemVersion描述名字DataDirectory数据目录一个IMAGE_DATA_DIRECTORY数组,里面放的是这个可执行文件的一些重要部分的RVA和尺寸,目的是使可执行文件的装入更快,数组的项数由上一个域给出.IMAGE_DATA_DIRECTORY包含有两个域,如下:IMAGE_DATA_DIRECTORYVitualAddress DDSize DDIMAGE_DATA_DIRECTORY ENDS节表节表其实就是紧挨着 PE header 的一结构数组.该数组成员的数目由 file header (IMAGE_FILE_HEADER) 结构中 NumberOfSections 域的域值来决定.节表结构又命名为 IMAGE_SECTION_HEADER.结构中放的是一个节的信息,如名字,地址,长度,属性等.IMAGE_SECTION_HEADER本节原始数据在文件中的位置4PointerToRawData *5本节的原始尺寸4SizeOfRawData *4这个值+映像基地址=本节在内存中的真正地址.OBJ中无意义.4Virtual *3OBJ文件用作表示本节物理地址EXE文件中表示节的真实尺寸4PhysicalAddress或VirtualSize2节名8Name *1描述大小(字节)名字顺序IMAGE_SECTION_HEADER节属性4Characteristics *10本节在行号表中的行号数目2NumberOfLinenumbers9本节要重定位的数目2NumberOfRelocations8行号偏移4PointerToLinenumbers7OBJ中表示该节重定位信息的偏移EXE文件中无意义4PointerToRelocations6描述大小(字节)名字顺序节"节(Section)"跟在节表之后,一般PE文件都有几个"节".比较常见的有:代码节已初始化的数据节未初始化的数据节资源节引入函数节引出函数节代码节代码节一般名为.text或CODE,该节含有程序的可执行代码.每个PE文件都有代码节在代码节中,还有一些特别的数据,是作为调用映入函数之用.如:Call MessageBoxA的调用,反汇编后该指令被换为call 0040101A,而地址0040101A仍在.text中,它放有一个跳转指令jmp dword ptr[0040304c],即这条跳转指令的目的地址处于.idata节中的0040304C处,其中放的才是MessageBoxA的真正地址,如下图:已初始化的数据节这个节一般取名为.data或DATA已初始化的数据节中放的是在编译时刻就已确定的数据.如Hello World 中的字符串"Hello World!".未初始化的数据节这个节的名称一般叫.bbs.这个节里放有未初始化的全局变量和静态变量.资源节资源节一般名为.rsrc这个节放有如图标,对话框等程序要用到的资源.资源节是树形结构的,它有一个主目录,主目录下又有子目录,子目录下可以是子目录或数据.都是一个IMAGE_RESOURCE_DIRECTORY结构.结构如下:IMAGE_RESOURCE_DIRECTORY 结构以ID标识的资源数2NumberOfldEntries6以名字标识的资源数2NumberOfNamedEntries5次版本号2MinorVersion4主版本号2MajorVersion3资源生成时间4TimeDateStamp2通常为04Characteritics1描述大小(字节)名字顺序引入函数节一个引入函数是被某模块调用的但又不在调用者模块中的函数这个节一般名为.idata,也叫引入表.它包含从其它(系统或第三方写的)DLL中引入的函数,例如user32.dll,gdi32.dll等.它的开始是一个IMAGE_IMPORT_DESCRIPTOR数组.这个数组的长度不定,但他的最后一项是全0,可以以此判断数组的结束.引出函数节什么是引出函数节引出函数节是用来向系统提供导出函数的名称,序号和入口地址等信息,以便Windows装载器通过这些信息来完成动态链接的过程.了解引出函数节对于学习病毒来说,是极为重要的.Api函数地址的获取与引出函数节息息相关.引出函数节通过Api函数名查找其地址(1)定位到PE文件头(2)从PE文件头中的课选文件头中取出数剧目录表的第一个数据目录,得到导出表的地址.(3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环.(4)从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数.(5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值,然后在AddressOfNameOrdinals指向的数组中以同样的索引值去除数组项的值,假如该值为m. (6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址.
干货来喽!
干货来喽!

上一篇:win8pe装win10镜像(win8pe可以装win10系统吗)
下一篇:没有了
相关新闻
- 2023-07-07 病毒感染windows pe(病毒感染和细菌感
|
|
|
