国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

學習“免殺技術”前應該掌握的“基礎知識”

安全 網站安全
在Windows下所謂PE文件即Portable Executable,意為可移植的可執行的文件。而今天我們就來具體了解一下PE文件的DOS頭和PE頭的結構成員與部分成員的作用。

一、 什么是PE文件?

在Windows下所謂PE文件即Portable Executable,意為可移植的可執行的文件。常見的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一個共同特點:前兩個字節為4D 5A(MZ)。如果一個文件前兩個字節不是4D 5A則其肯定不是可執行文件。比如用16進制文本編輯器打開一個".xls"文件其前兩個字節為:0XD0 0XCF;打開一個".pdf"其前兩個字節為:0X25 0X50。

PE文件結構:DOS頭+PE頭+節表+.data/.rdata/.text。而今天我們就來具體了解一下PE文件的DOS頭和PE頭的結構成員與部分成員的作用。注意:一個exe文件本身是一個PE文件,但是由于包含dll庫,所以一個exe文件也是許多PE文件組成的(包含多個dll)一個PE文件

1. DOS頭:共40H(64字節)

DOS頭中聲明用的寄存器(我們可以看到e_ss、e_sp、e_ip、e_cs還是16位的寄存器),所以在32位/64為系統中用到的只有兩個成員了(第一個和最后一個):

  • e_magic:判斷一個文件是不是PE文件;
  • e_lfanew:相對于文件首的偏移量,用于找到PE頭;

學習“免殺技術”前應該掌握的“基礎知識”

2. PE頭

PE頭分為標準PE頭和可選PE頭,其同為NT結構的成員:

  1. //NT頭  
  2. //pNTHeader = dosHeader + dosHeader->e_lfanew;  
  3. struct _IMAGE_NT_HEADERS{  
  4. 0x00 DWORD Signature; //PE文件標識:ASCII的"PE"  
  5. 0x04 _IMAGE_FILE_HEADER FileHeader;  
  6. 0x18 _IMAGE_OPTIONAL_HEADER OptionalHeader;  
  7. }; 

根據DOS頭的e_lfanew成員我們就可以找到NT頭,NT頭的第一個成員是"PE"(0X50 0X45 0X00 0X00四字節的簽名,可以在上圖00000100H地址處觀察),后兩個成員則分別是標準PE頭(_IMAGE_FILE_HEADER)和可選PE頭(_IMAGE_OPTIONAL_HEADER)。

3. 幾個重點的數據成員

(1) 文件對齊(FileAlignment)和內存對齊(SectionAlignment):

一個PE文件加載進內存中可能大于在硬盤上的大小,并且無論是在內存中還是硬盤上,都是是分塊管理(分節),一塊和一塊存儲空間之間是空隙。在硬盤上空隙有可能小于內存中空隙;在內存中空隙較大(相較于硬盤)。而存在間隙的原因則是分塊管理。

分塊的一個原因是節省硬盤:比如notepad.exe,由于是早期的程序,當時硬盤容量比較小,編譯器在生成可執行文件時,不僅要考慮效率問題使得內存對齊/文件對齊,還需要設計成節省硬盤空間的結構。所以這種結構遵循的對齊原則:內存對齊(1000H)和硬盤對齊(200H),對齊的補充數據(0X0000)便是間隙。硬盤的對齊值較小,補充間隙自然小,因此同一個可執行程序在內存中可能比在硬盤上大。但是現如今的硬盤空間更大,所以編譯器生成的可執行程序在硬盤上與內存中對齊方式都是1000H。統一對齊為1000H的目的依舊是提高效率。

而分塊的另一個目的是節省內存空間,比如同時在電腦上運行登錄多個QQ賬號,就需要運行多次QQ可執行程序。而代碼段為只讀數據需要一份即可,數據段則需要為每個賬號均開辟一份,,多個QQ程序共享代碼塊,單獨使用數據塊,這樣就節省了多份代碼塊的內存。(這些塊是使用結構體來維護的,分塊即創建結構體)。

(2) 鏡像地址/基址ImageBase的作用:

FileBuffer是磁盤上.exe文件在內存中的一份拷貝,但是FileBuffer無法直接在內存中運行,必須經過PE loader(裝載器)裝載以后成為ImageBuffer。ImageBuffer是FileBuffer的"拉伸"。即".exe–>FileBuffer–>ImageBuffer"

  • .exe首地址(基址)為0
  • FileBuffer首地址也為0
  • ImageBuffer首地址為ImageBase
  • 而真正的程序入口地址是:ImageBase + AddressOfEntryPoint(OEP)

一個exe文件默認鏡像地址為400000H(有可能不是,總之有一個默認值),如果一個exe文件中用到了多個dll,而dll文件作為一個PE文件,其默認鏡像地址也均是400000H,操作系統不會修改exe的鏡像基址。因為.exe先被加載,在.exe中才加載的dll庫,由于400000已經被.exe占用,所以裝載器會修改dll的鏡像基址。而采用ImageBase + OEP的目的也就是:采用偏移地址的方式可以更方便地修改基址,使得任何一個dll文件基址修改后程序依舊不會出錯。比如:dll和exe基址有沖突,本只需要將沖突的.dll的文件基址修改為600000H(假設是編譯器為其分配的是600000H);如果不采用"基址+偏移地址"的方式,而采用絕對地址,那么要修改的就不是一個基址為600000H了,而是dll中所有的地址統一加上200000H(因為原來默認為400000H)。

二、 匯編基礎知識

1. 寄存器

顧名思義,寄存器就是暫時存儲數據的地方,寄存器被設計在CPU內部,對于一個匯編程序員來說,CPU中最主要的部分就是寄存器了。寄存器是程序員能通過指令讀寫的部件,程序員通過改變寄存器的值間接的控制CPU

  • eax:拓展累加寄存器;
  • ecx:循環計數器;
  • edx:數據寄存器;
  • ebx:基址寄存器;

2. 堆棧

堆棧是連續的內存單元,存取方式遵循"先進后出"原則,棧是一種特殊的存儲方式,特殊在最先進入這個空間的數據卻是最后出去的。但是堆和棧不是同一個概念,棧一般由編譯器自動分配釋放,存儲函數的參數值、局部變量值等;而堆,一般由程序員分配釋放,程序結束時可能由OS(系統)回收。

  • esp:棧頂;
  • ebp:棧底;
  • esi:拓展目地指針;
  • edi:拓展目地指針;
  • eip:指令指針。

3. 匯編指令

匯編指令有5類:

  • 數據傳輸指令:mov
  • 邏輯計算指令:add
  • 串操作指令:movs
  • 控制轉移指令:jmp
  • 處理器控制指令:nop

其中1,2,4類指令對免殺有用。

4. 常用免殺匯編指令

  • mov ebp,9:傳送指令
  • push ebp :進棧指令
  • pop ebp :出棧指令
  • add esp,8 :加法指令
  • sub esp,8 :減法指令
  • inc ecx :增量指令
  • dec ecx :減量指令
  • jmp 00000001 :無條件跳轉指令
  • call 00000001 :調用指令
  • xchg:交換指令
  • pushad:壓棧8個寄存器
  • popad:彈出8個寄存器(先進后出)

三、免殺常用等價替換匯編指令修改方法

A開頭:

  • add 改adc
  • ADD 改ADC
  • ADD 1 改 sub -1
  • add dword ptr ss:[ebp-130],edx ---------adc dword ptr ss:[ebp-130],edx
  • ADD [EAX],CH----------------------------ADD [EAX],DH
  • ADD [EAX],BH 0038 ----------------------ADD [EAX+40],AL 0040 40
  • ADD [EAX+EAX*2+46],AL ------------------ADD [EAX+EAX*2+46],CL
  • ADD [EAX+40],DL 0050 40 ----------------0058 40 ADD [EAX+40],DL
  • ADD AH,CH 00EC -------------------------00F4 ADD AH,DH
  • add dword ptr ss:[ebp-130],edx -------- adc dword ptr ss:[ebp-130],edx

C開頭:

  • CMP 改SUB
  • call 復件_(4).004CF607 ----------------- push 復件_(4).004CF607
  • CMP DWORD PTR DS:[100170A4],0 -------------sub DWORD PTR DS:[100170A4],0
  • CALL ---------看到了CALL跟隨進去看NOP就可以把CALL的地址該成NOP
  • 方法2--看下附近有沒有MOV修該成NOP看下可以免殺不。可以的話該XOR
  • 方法3--看附近jnz跳轉該下跳轉的地址/可免殺不/
  • CALL EAX |CALL EBX
  • 比效指令 CMP:看下是個比效指令 在看下JNZ條件轉移指令
  • 就是說CMP比效正確就跳那我們可以把CMP用NOP掉在把JNZ該成JMP
  • 不進行CMP比效
  • CMP ESI,1
  • call 改 jmp

D開頭:

  • DAA 組合的十進制加法調整指令 --------DAS 減法的十進制調整.

J開頭:

  • JE 改 JNB
  • JNZ 改 JNL
  • jnz 改 JB
  • JE 改 JNA
  • je 改 jb
  • jnz 改 jg
  • js 改 jp
  • je 改 jle
  • jnz 改 jle
  • je 改 jge
  • JE 改 jnz
  • JE 改 JB
  • JNS 改 POP ECX
  • JNS 改 jnc-jnb
  • JNB 改 JGE
  • jnb short fsg2_0.0040015D----------------ja short fsg2_0.0040015D
  • JMP NEAR [1071c]---------------------JMP NEAR [1071B]
  • jnz--je-jmp修改中要看下跳的地址是不是很重要說明[1]
  • JNZ 00874E85--MOV EAX,88B6D0 可以是該成JE 00874E85--MOV EAX,88B6D0

L開頭:

  • LEA EBP,[ESP+10] 改 LEA EBP,[ESP+10]

M開頭:

  • MOVSX 改 MOVZX
  • MOV EBP,ESP 改 AND AH,CH
  • MOV [EBP-18],ESP 改 MOV [EBP-18],AH
  • MOV EAX,[ESP+10] 改 MOV EAX,[ESP+10]
  • MOV [ESP+10],EBP 改 MOV [ESP+10],EBP
  • mov [ebp-256], eax 改 adc [ebp-226], eax
  • MOV EDI,[EBP+10] 改 MOV EDI,[EBP+11]
  • MOV EBX,DWORD PTR DS:[ESI] 改 XOR EBX,DWORD PTR DS:[ESI]
  • MOV EBP,ESP--------AND AH,CH
  • MOV EBX,DWORD PTR DS:[ESI]---------XOR EBX,DWORD PTR DS:[ESI]

P開頭:

  • push 改call
  • PUSH EBX PUSH EDI
  • PUSH ESI PUSH EAX
  • PUSH EDI PUSH ESI
  • PUSH EAX PUSH EBX
  • pop 改 nop

S開頭:

  • sbb 改adc
  • sub 改mov
  • SHL 改 SAL
  • SAR 改 SHR
  • sub ebp,7---------- add ebp,-7
  • sub ebx,eax----------sbb esi,ecx
  • SBB ECX,DWORD PTR DS:[ESI+2]----------ADC ECX,DWORD PTR DS:[ESI+2]
  • sub ebx,eax----------sbb esi,ecx

X開頭:

  • xor 改sub
  • XOR [EAX],AL-------改--------MOV [EAX],AL
  • XOR EAX,EAX-----改-------OR EAX,EAX
責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2017-09-21 12:15:36

機器學習概率學習

2010-08-02 16:20:31

ICMP協議

2009-11-18 18:30:57

路由器技術

2014-06-17 09:55:24

機器學習

2023-03-29 14:58:17

Java元數據Java 注解

2010-08-06 08:49:00

2023-08-31 11:41:08

2010-11-15 10:02:31

UPS電源技術

2010-07-30 16:38:10

路由器網絡

2022-10-10 23:14:40

JavaScrip對象屬性

2015-07-15 16:53:55

IP游戲基礎知識

2009-12-24 10:43:26

FECN前向擁塞標識

2010-07-23 13:16:07

Perl

2010-04-13 14:00:10

Unix文件

2009-10-16 10:07:29

綜合布線系統

2010-04-23 16:37:13

Aix權限

2011-02-25 09:37:35

2023-07-04 07:31:06

MapReduce數據處理編程模型

2012-05-21 10:39:52

RAID

2010-05-24 16:20:32

IPv6隧道技術
點贊
收藏

51CTO技術棧公眾號

av在线天天| 日本一区二区三区在线视频 | 久久99欧美| 成人福利片网站| 欧美精品偷拍| 久久天天做天天爱综合色| 欧美性猛交视频| 最近看过的日韩成人| 久久精品资源| 亚洲欧美一区二区在线观看| 国产精品aaaa| 韩国成人在线| 色综合网站在线| 国产视频一区二区视频| 国产伦精品一区二区三区免费优势 | 亚洲女人天堂成人av在线| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 向日葵视频成人app网址| 午夜电影一区二区| 性生活免费观看视频| 91精品国产乱码久久久竹菊| 欧美日韩精品一区视频| 欧美私人情侣网站| 狠狠噜噜久久| 18成人在线| 亚洲最好看的视频| 亚洲福利视频网站| 免费在线观看污视频| 337p粉嫩大胆色噜噜噜噜亚洲| 青草全福视在线| 九九久久精品视频| 欧美日本国产精品| 欧美阿v一级看视频| 亚洲男人av电影| 国产剧情在线观看一区| 欧美一区二区三区……| 91麻豆精品国产综合久久久| 亚洲国产另类精品专区| 污片在线免费看| 久久精品人人做人人爽97| 国产精品.com| 国产电影一区二区三区爱妃记| 一区二区三区.www| 免费午夜视频在线观看| 免费在线观看一区二区三区| 亚洲成人精品电影在线观看| 久久黄色网页| 97se在线视频| 国产精品久久久亚洲一区| 国产一区二区三区高清在线观看| 亚洲图区欧美| 精品国产凹凸成av人导航| 色婷婷视频在线观看| 欧美精品乱码久久久久久| 国产精品国产三级国产专区51| 成人美女免费网站视频| 欧美 亚欧 日韩视频在线| 国产+成+人+亚洲欧洲| 第一会所亚洲原创| 成人网址在线观看| 欧美激情第10页| 爱福利视频一区二区| 欧美老女人在线| 天堂在线中文网官网| 草民午夜欧美限制a级福利片| 偷拍中文亚洲欧美动漫| 久久久91精品国产| 国内精品久久久久久久久电影网| 69久久夜色精品国产69乱青草| 成人小电影网站| 成人福利视频在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 天天亚洲美女在线视频| 国产成人a视频高清在线观看| 欧美影院精品| 久久国产天堂福利天堂| 黑人久久a级毛片免费观看| 亚洲成色www8888| 美女一区二区在线观看| 91美女在线| 欧美性做爰猛烈叫床潮| 欧美天天在线| se01亚洲视频| 不卡视频一区| 亚洲开心激情网| 欧美性受xxxx| 粉嫩一区二区三区在线看| 蜜臀av免费一区二区三区| 黄色直播在线| 亚洲资源视频| 亚洲人成电影网站色www| 欧美精品18| 99福利在线| 午夜激情在线观看视频| 日本视频久久久| 激情图片小说一区| 成人在线免费电影| 免费激情视频在线观看| 清纯唯美一区二区三区| 欧美大片在线影院| 色哟哟欧美精品| av中文字幕亚洲| 樱桃成人精品视频在线播放| 欧洲亚洲两性| 久久久久久久激情| 高清视频一区| 国产91成人video| 亚洲成人999| 亚洲午夜极品| 黄色污网站在线观看| 18视频在线观看娇喘| 免费国产一区二区| 91热精品视频| 国产精品自产拍在线观看中文 | 亚洲性感美女99在线| 伊人亚洲精品| 国产精品久久久久7777婷婷| 一区二区亚洲精品国产| 欧美成人a视频| 亚洲成人手机在线| 青青草久久爱| 午夜神马福利影院| 欧美精品与人动性物交免费看| 日韩视频免费看| 一卡二卡三卡日韩欧美| 日韩av大片| 色成人免费网站| 99热成人精品热久久66| 国产精品一区久久| 色噜噜狠狠色综合欧洲selulu| 九九九伊在人线综合| 午夜影院免费在线| av不卡免费看| 艳妇臀荡乳欲伦亚洲一区| 欧美第一黄色网| 日韩美女视频中文字幕| 国产精品www在线观看| 成人网页在线观看| 天堂一区二区在线| 日韩欧美的一区二区| 水蜜桃亚洲精品| 久久久久久久久久久久电影| 国产精品伊人日日| 欧美人体做爰大胆视频| 欧美丰满日韩| 99视频精品免费| 91深夜福利视频| 欧美日韩免费在线观看| 91精品国产高清自在线| 精品视频国产| 成人在线电影在线观看视频| 66视频精品| 久久综合九色欧美综合狠狠| 岛国av一区二区在线在线观看| 久久综合久中文字幕青草| 成人91免费视频| 狠狠躁狠狠躁视频专区| 91超碰在线播放| av免费在线免费观看| 污黄色在线观看| 亚洲人成网站免费播放| 亚洲欧美中文字幕在线观看| 一本久久综合亚洲鲁鲁| 亚洲第一区中文99精品| 日韩在线一区二区三区免费视频| 欧美专区中文字幕| 18岁网站在线观看| 午夜精品久久久久久久久久蜜桃| 亚洲人人精品| 色婷婷av久久久久久久| 亚洲va欧美va国产综合久久| 毛片一级免费一级| 澳门精品久久国产| 国产精品美女久久久久av爽李琼| 五月天久久网站| 黄网站app在线观看下载视频大全官网| 伊人影院久久| 中文在线字幕免费观看| www.综合网.com| 日本a级不卡| 欧美激情资源网| 午夜精品福利在线观看| 一本色道久久88亚洲精品综合| 欧美xxx.com| 欧美区亚洲区| 一本色道亚洲精品aⅴ| 国产免费一区视频观看免费| 久久韩剧网电视剧| 牛牛影视久久网| 色噜噜夜夜夜综合网| 国产一区二区三区精品久久久| 麻豆久久久9性大片| 成人国产精品免费视频| 欧美性大战久久久久久久蜜臀| 国产区二区三区| 欧美理论电影在线播放| 欧美日产国产成人免费图片| 日本黄网免费一区二区精品| 男人天堂久久久| 成人小视频在线观看|