精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

網絡安全編程:PE編程實例之PE查看器

安全 應用安全
寫PE查看器并不是件復雜的事情,只要按照PE結構一步一步地解析就可以了。下面簡單地解析其中幾個字段內容,顯示一下節表的信息,其余的內容只要稍作修改即可。

[[395692]]

微信公眾號:計算機與網絡安全

ID:Computer-network

寫PE查看器并不是件復雜的事情,只要按照PE結構一步一步地解析就可以了。下面簡單地解析其中幾個字段內容,顯示一下節表的信息,其余的內容只要稍作修改即可。PE查看器的界面如圖1所示。

 

 

 

圖1 PE查看器解析記事本程序 

 

 

PE查看器的界面按照圖1所示的設置,不過這個可以按照個人的偏好進行布局設置。編寫該PE查看器的步驟為打開文件并創建文件內存映像,判斷文件是否為PE文件并獲得PE格式相關結構體的指針,解析基本的PE字段,枚舉節表,最后關閉文件。需要在類中添加幾個成員變量及成員函數,添加的內容如圖2所示。

 

 

 

圖2 在類中添加的成員變量及成員函數 

 

 

按照前面所說的順序,依次實現添加的各個成員函數。

  1. BOOL CPeParseDlg::FileCreate(char *szFileName) 
  2.   BOOL bRet = FALSE
  3.   m_hFile = CreateFile(szFileName, 
  4.     GENERIC_READ | GENERIC_WRITE, 
  5.     FILE_SHARE_READ,NULL,OPEN_EXISTING, 
  6.     FILE_ATTRIBUTE_NORMAL,NULL); 
  7.   if ( m_hFile == INVALID_HANDLE_VALUE ) 
  8.   { 
  9.     return bRet; 
  10.   } 
  11.   m_hMap = CreateFileMapping(m_hFile, NULL
  12.     PAGE_READWRITE | SEC_IMAGE,0, 0, 0); 
  13.   if ( m_hMap == NULL ) 
  14.   { 
  15.     CloseHandle(m_hFile); 
  16.     return bRet; 
  17.   } 
  18.   m_lpBase = MapViewOfFile(m_hMap, 
  19.     FILE_MAP_READ | FILE_SHARE_WRITE, 
  20.     0, 0, 0); 
  21.   if ( m_lpBase == NULL ) 
  22.   { 
  23.     CloseHandle(m_hMap); 
  24.     CloseHandle(m_hFile); 
  25.     return bRet; 
  26.   } 
  27.   bRet = TRUE
  28.   return bRet; 

這個函數的主要功能是打開文件并創建內存文件映像。通常對文件進行連續讀寫時直接使用ReadFile()和WriteFile()兩個函數。當不連續操作文件時,每次在ReadFile()或者WriteFile()后就要使用SetFilePointer()來調整文件指針的位置,這樣的操作較為繁瑣。內存文件映像的作用是把整個文件映射入進程的虛擬空間中,這樣操作文件就像操作內存變量或內存數據一樣方便。

創建內存文件映像所使用的函數有兩個,分別是CreateFileMapping()和MapViewOfFile()。CreateFileMapping()函數的定義如下: 

  1. HANDLE CreateFileMapping( 
  2.  HANDLE hFile, 
  3.  LPSECURITY_ATTRIBUTES lpAttributes, 
  4.  DWORD flProtect, 
  5.  DWORD dwMaximumSizeHigh, 
  6.  DWORD dwMaximumSizeLow, 
  7.  LPCTSTR lpName 
  8. ); 

參數說明如下。

hFile:該參數是 CreateFile()函數返回的句柄。

lpAttributes:是安全屬性,該值通常是 NULL。

flProtect:創建文件映射后的屬性,通常設置為可讀可寫 PAGE_READWRITE。如果需要像裝載可執行文件那樣把文件映射入內存的話,那么需要使用 SEC_IMAGE。最后3個參數在這里為0。如果創建的映射需要在多進程中共享數據的話,那么最后一個參數設定為一個字符串,以便通過該名稱找到該塊共享內存。

該函數的返回值為一個內存映射的句柄。

MapViewOfFile()函數的定義如下: 

  1. LPVOID MapViewOfFile( 
  2.  HANDLE hFileMappingObject, 
  3.  DWORD dwDesiredAccess, 
  4.  DWORD dwFileOffsetHigh, 
  5.  DWORD dwFileOffsetLow, 
  6.  SIZE_T dwNumberOfBytesToMap 
  7. ); 

參數說明如下。

hFileMappingObject:該參數為 CreateFileMapping()返回的句柄。

dwDesiredAccess:想獲得的訪問權限,通常情況下也是可讀可寫 FILE_MAP_READ、FILE_MAP_WRITE。

最后3個參數一般給0值就可以了。

按照編程的規矩,打開要關閉,申請要釋放。CreateFileMapping()的關閉需要使用CloseHandle()函數。MapViewOfFile()的關閉,要使用UnmapViewOfFile()函數,該函數的定義如下: 

  1. BOOL UnmapViewOfFile( 
  2.  LPCVOID lpBaseAddress 
  3. ); 

該函數的參數就是MapViewOfFile()函數的返回值。

接著說PE查看器,文件已經打開,就要判斷文件是否為有效的PE文件了。如果是有效的PE文件,就把解析PE格式的相關結構體的指針也得到。代碼如下: 

  1. BOOL CPeParseDlg::IsPeFileAndGetPEPointer() 
  2.   BOOL bRet = FALSE
  3.   // 判斷是否為 MZ 頭 
  4.   m_pDosHdr = (PIMAGE_DOS_HEADER)m_lpBase; 
  5.   if ( m_pDosHdr->e_magic != IMAGE_DOS_SIGNATURE ) 
  6.   { 
  7.     return bRet; 
  8.   } 
  9.   // 根據 IMAGE_DOS_HEADER 的 e_lfanew 的值得到 PE 頭的位置 
  10.   m_pNtHdr = (PIMAGE_NT_HEADERS)((DWORD)m_lpBase + m_pDosHdr->e_lfanew); 
  11.   // 判斷是否為 PE\0\0 
  12.   if ( m_pNtHdr->Signature != IMAGE_NT_SIGNATURE ) 
  13.   { 
  14.     return bRet; 
  15.   } 
  16.   // 獲得節表的位置 
  17.   m_pSecHdr = (PIMAGE_SECTION_HEADER)((DWORD)&(m_pNtHdr->OptionalHeader) 
  18.     + m_pNtHdr->FileHeader.SizeOfOptionalHeader); 
  19.   bRet = TRUE
  20.   return bRet; 

這段代碼應該非常容易理解,繼續看解析PE格式的部分。 

  1. VOID CPeParseDlg::ParseBasePe() 
  2.   CString StrTmp; 
  3.   // 入口地址 
  4.   StrTmp.Format("%08X", m_pNtHdr->OptionalHeader.AddressOfEntryPoint); 
  5.   SetDlgItemText(IDC_EDIT_EP, StrTmp); 
  6.   // 映像基地址 
  7.   StrTmp.Format("%08X", m_pNtHdr->OptionalHeader.ImageBase); 
  8.   SetDlgItemText(IDC_EDIT_IMAGEBASE, StrTmp); 
  9.   // 連接器版本號 
  10.   StrTmp.Format("%d.%d"
  11.     m_pNtHdr->OptionalHeader.MajorLinkerVersion, 
  12.     m_pNtHdr->OptionalHeader.MinorLinkerVersion); 
  13.   SetDlgItemText(IDC_EDIT_LINKVERSION, StrTmp); 
  14.   // 節表數量 
  15.   StrTmp.Format("%02X", m_pNtHdr->FileHeader.NumberOfSections); 
  16.   SetDlgItemText(IDC_EDIT_SECTIONNUM, StrTmp); 
  17.   // 文件對齊值大小 
  18.   StrTmp.Format("%08X", m_pNtHdr->OptionalHeader.FileAlignment); 
  19.   SetDlgItemText(IDC_EDIT_FILEALIGN, StrTmp); 
  20.   // 內存對齊值大小 
  21.   StrTmp.Format("%08X", m_pNtHdr->OptionalHeader.SectionAlignment); 
  22.   SetDlgItemText(IDC_EDIT_SECALIGN, StrTmp); 

PE格式的基礎信息,就是簡單地獲取結構體的成員變量,沒有過多復雜的內容。獲取導入表、導出表比獲取基礎信息復雜。接下來進行節表的枚舉,具體代碼如下: 

  1. VOID CPeParseDlg::EnumSections() 
  2.   int nSecNum = m_pNtHdr->FileHeader.NumberOfSections; 
  3.   int i = 0; 
  4.   CString StrTmp; 
  5.   for ( i = 0; i < nSecNum; i ++ ) 
  6.   { 
  7.     m_SectionLIst.InsertItem(i, (const char *)m_pSecHdr[i].Name); 
  8.     StrTmp.Format("%08X", m_pSecHdr[i].VirtualAddress); 
  9.     m_SectionLIst.SetItemText(i, 1, StrTmp); 
  10.     StrTmp.Format("%08X", m_pSecHdr[i].Misc.VirtualSize); 
  11.     m_SectionLIst.SetItemText(i, 2, StrTmp); 
  12.     StrTmp.Format("%08X", m_pSecHdr[i].PointerToRawData); 
  13.     m_SectionLIst.SetItemText(i, 3, StrTmp); 
  14.     StrTmp.Format("%08X", m_pSecHdr[i].SizeOfRawData); 
  15.     m_SectionLIst.SetItemText(i, 4, StrTmp); 
  16.     StrTmp.Format("%08X", m_pSecHdr[i].Characteristics); 
  17.     m_SectionLIst.SetItemText(i, 5, StrTmp); 
  18.   } 

最后的動作是釋放動作,因為很簡單,這里就不給出代碼了。將這些自定義函數通過界面上的“查看”按鈕聯系起來,整個PE查看器就算是寫完了。  

 

責任編輯:龐桂玉 來源: 計算機與網絡安全
相關推薦

2021-04-30 18:50:44

網絡安全PE編程添加節區

2021-04-26 10:32:38

網絡安全PE編程工具

2021-04-28 14:35:48

網絡安全PE編程代碼

2021-04-19 10:26:41

網絡安全PE文件

2021-04-22 09:35:23

網絡安全PE地址

2021-02-19 09:30:52

網絡安全服務控制管理器代碼

2021-03-03 12:20:42

網絡安全DLL編程

2016-10-10 00:18:27

2021-01-18 10:35:18

網絡安全Windows代碼

2021-03-05 13:46:56

網絡安全遠程線程

2021-01-26 13:45:03

網絡安全Winsock編程

2021-02-21 18:19:43

網絡安全網絡安全編程創建進程

2021-02-23 10:20:07

網絡安全進程代碼

2021-05-08 11:50:59

網絡安全API函數代碼

2021-03-31 11:35:00

網絡安全OllyDbg分析工具

2021-04-14 15:53:58

網絡安全C語言wcslen

2021-03-01 11:20:13

網絡安全多線程代碼

2021-06-18 09:55:09

網絡安全目錄監控

2009-12-07 10:19:16

2021-04-06 11:04:54

網絡安全C語言代碼
點贊
收藏

51CTO技術棧公眾號

综合 欧美 亚洲日本| 99精品视频在线看| 丰满人妻一区二区| 国产精品社区| 日韩在线视频网站| 中文字幕 欧美 日韩| 在线观看的黄色| 亚洲国产精品成人综合色在线婷婷| 91久久嫩草影院一区二区| 国产污视频在线观看| 精品72久久久久中文字幕| 日韩一级黄色片| 玩弄japan白嫩少妇hd| 中日韩高清电影网| 久久精品亚洲麻豆av一区二区| 亚洲最大成人网色| 日韩不卡高清视频| 亚洲精品美女91| 久久久精品久久久久| 偷拍女澡堂一区二区三区| 在线日韩三级| 一本大道久久a久久综合| 日韩精品福利片午夜免费观看| 三级黄视频在线观看| 国产精品一区不卡| 国产精品一久久香蕉国产线看观看| 国产污视频在线看| 亚洲色图网站| 丝袜美腿亚洲一区二区| 熟女俱乐部一区二区视频在线| 日韩三级不卡| 欧美精品1区2区| caoporn超碰97| 女海盗2成人h版中文字幕| 亚洲综合在线免费观看| 一区二区不卡在线观看| 国产在线观看免费网站| 99视频国产精品| 成人在线免费网站| 草逼视频免费看| 国产自产视频一区二区三区| 国产精品丝袜久久久久久高清| 在线天堂中文字幕| 亚洲国产美女| 午夜精品蜜臀一区二区三区免费| 91视频综合网| 91av精品| 九九热精品视频国产| 亚洲综合图片一区| 日本女优一区| 色悠悠久久88| 北条麻妃在线观看视频| 日韩国产一区二区| 中文字幕亚洲无线码在线一区| 亚洲国产天堂av| 国产乱码精品一区二区亚洲| 亚洲人在线视频| 国产免费无遮挡吸奶头视频| 精品国产精品| 中文字幕久久久av一区| 任你操精品视频| 欧美3p在线观看| 久久av中文字幕| 久久久久久久久久99| 136国产福利精品导航网址| 久久久久五月天| 黄色片免费观看视频| 天堂资源在线中文精品| 国产精品久久久久av| 中文字幕在线播放日韩| 久久69国产一区二区蜜臀| 91久久久久久久久久久久久| 亚洲大尺度视频| 99精品视频免费在线观看| 精品产品国产在线不卡| 黄色国产在线| 中文字幕日韩一区二区| 99久久久精品视频| 性国裸体高清亚洲| 在线观看免费视频综合| 国产xxxxhd| 欧美精品密入口播放| 亚洲香蕉成人av网站在线观看| 国产精品1区2区3区4区| 亚洲无线视频| 国产精彩精品视频| 国产毛片一区二区三区va在线| 国产99久久久久| 奇米精品在线| www久久日com| 日韩欧美精品中文字幕| 女人高潮一级片| 九九热hot精品视频在线播放| 国产亚洲精品一区二555| 久久精品一区二区三区四区五区| 亚洲调教视频在线观看| 国产精品ⅴa在线观看h| 精品毛片一区二区三区| 久久这里都是精品| 蜜桃视频成人在线观看| 中国色在线日|韩| 欧美日韩国产综合视频在线观看| 波多野结衣一二三区| 日本精品三区| 欧美一区二区三区四区在线| av免费在线不卡| 久久久91精品国产一区二区精品| 欧洲精品视频在线| yw.尤物在线精品视频| 亚洲精品一线二线三线无人区| 老头老太做爰xxx视频| 韩国av一区| 成人免费福利视频| 福利成人在线观看| 午夜视频久久久久久| 亚洲一区二区三区观看| 国产一区二区三区天码| 欧美极品少妇xxxxx| 国产精品国产三级国产普通话对白| 97精品电影院| 国产尤物av一区二区三区| 国产在视频一区二区三区吞精| 日韩电视剧免费观看网站| av最新在线观看| 日韩在线一区二区三区| 久久国产精品亚洲va麻豆| 五月天激情在线| 欧美乱熟臀69xxxxxx| 在线免费看黄视频| 一区二区三区四区五区精品视频 | 欧美v亚洲v综合v国产v仙踪林| 亚洲国产精品va| 久久午夜无码鲁丝片| 韩国视频一区二区| 亚洲一区二区免费视频软件合集 | 看全色黄大色黄女片18| 永久亚洲成a人片777777| 国产精品视频精品| 国产日本在线| 在线精品观看国产| 国产成人av一区二区三区不卡| 亚洲三级影院| 国产一区二区视频在线免费观看| 天堂成人av| 精品欧美乱码久久久久久1区2区| 久久精品黄色片| 国产麻豆精品一区二区| 欧美 国产 精品| 久久久久九九精品影院| 欧美肥婆姓交大片| 亚洲AV无码一区二区三区性| 一区二区三区国产豹纹内裤在线| 亚洲天堂小视频| 欧美日韩岛国| 国产精品久久国产精品| 黄毛片在线观看| 国产丝袜视频一区| 成人毛片一区二区三区| 国产精品天干天干在观线| 国产性生活一级片| 韩国av一区| 久久人人97超碰人人澡爱香蕉| 成人影院av| 中文字幕视频在线免费欧美日韩综合在线看 | 我不卡影院28| 99电影网电视剧在线观看| 福利在线导航136| 日韩精品免费在线观看| 亚洲欧美日韩一区二区三区四区| 亚洲欧洲在线观看av| 欧美熟妇另类久久久久久多毛| 国产精品红桃| 免费影院在线观看一区| 天然素人一区二区视频| 久久精品久久久久| av老司机久久| 精品福利免费观看| 中文字幕成人动漫| 激情文学综合插| 91动漫在线看| 美女少妇全过程你懂的久久| 成人免费黄色网| 国产乱码精品一区二三赶尸艳谈| 亚洲片在线观看| 国产三级小视频| 欧美日韩免费在线观看| 国产精品国产三级国产传播| 高清av一区二区| 国产精品免费成人| 欧美在线影院| 日韩福利视频| 中文字幕日韩在线| 国产精品毛片a∨一区二区三区|国| a级毛片免费观看在线| 日韩精品中文字幕在线观看 | 成年男女免费视频网站不卡| 最好看的2019的中文字幕视频| 欧美一级淫片aaaaaa| 欧美中文一区二区三区| 精品无码av在线| 中文字幕中文字幕中文字幕亚洲无线| youjizz.com日本| 久久精品国产一区二区三区免费看| 少妇一晚三次一区二区三区| 一区二区三区四区在线看| 99久久久久国产精品免费| 亚洲伦乱视频| 韩国福利视频一区| 黄色免费在线观看| 亚洲午夜精品久久久久久性色| 亚洲精品成av人片天堂无码| 欧美色综合天天久久综合精品| 国产精品suv一区二区| 中文字幕一区二区三区在线不卡| 老鸭窝一区二区| 成人性生交大片免费看中文网站| 亚洲77777| 久久亚洲美女| 日韩欧美一区二| 国内精品久久久久久久97牛牛 | 91系列在线播放| 国产麻豆久久| 日本aⅴ大伊香蕉精品视频| 老司机在线永久免费观看| 亚洲日本中文字幕| 天堂网www中文在线| 欧美刺激午夜性久久久久久久| 亚洲网站在线免费观看| 一本到不卡免费一区二区| 免费观看一区二区三区毛片| 亚洲尤物在线视频观看| 日本精品人妻无码77777| 国产精品福利影院| 日韩不卡av在线| 国产日产欧美精品一区二区三区| 免费无码一区二区三区| 99这里只有精品| 野战少妇38p| 成人av先锋影音| 无码人妻一区二区三区在线| 成人午夜视频网站| 95视频在线观看| 成人av高清在线| 污片免费在线观看| 97se亚洲国产综合在线| 五月婷婷综合在线观看| 99国产精品视频免费观看| 网站免费在线观看| 91蝌蚪porny九色| 最近中文字幕在线mv视频在线 | 欧美色图亚洲天堂| 亚洲色图视频免费播放| www.99re7| 亚洲图片有声小说| 国产成人一区二区三区影院在线| 香蕉乱码成人久久天堂爱免费| 日韩av在线播| 婷婷久久综合九色国产成人| 日韩精品一卡二卡| 日韩欧美国产骚| 波多野结衣家庭主妇| 欧美性猛片aaaaaaa做受| 中文字幕精品无码亚| 在线不卡欧美精品一区二区三区| 国产精品久久久久久久久久久久久久久久| 666欧美在线视频| 超碰在线人人干| 亚洲精品国产精品自产a区红杏吧| 性猛交xxxx| 中文字幕不卡av| 1769免费视频在线观看| 国内精品视频在线| 久久久一本精品| 91影院在线免费观看视频| 91欧美日韩在线| 欧美日韩大片一区二区三区 | 99re热视频这里只精品| 干b视频在线观看| 亚洲日本在线a| 国产午夜精品无码| 欧美一a一片一级一片| 国产视频一二三四区| 亚洲成在人线av| 成人18在线| 欧美精品久久一区二区| 韩国精品主播一区二区在线观看| 国产精品一香蕉国产线看观看| 蜜桃精品一区二区三区| 免费在线观看91| 国产精品国产三级国产在线观看| 免费网站在线观看视频| 久久久久99| 最好看的中文字幕| 国产亚洲精品精华液| 污污的视频在线免费观看| 好吊成人免视频| jlzzjlzzjlzz亚洲人| 亚洲欧洲免费视频| 尤物视频在线看| 国产精品久久久久久久久久 | 久久99精品久久久久| 午夜剧场免费看| 国产精品国产三级国产| 久久国产精品免费看| 欧美一区二区三区免费观看视频| 亚洲欧美日本在线观看| 欧美老女人在线视频| 福利一区二区免费视频| 精品蜜桃一区二区三区| 亚洲影视一区| 欧美成人黄色网址| 久久影音资源网| 日本少妇激情视频| 91精品国产综合久久久久久| 国产精品久久久久一区二区国产 | 亚洲国语精品自产拍在线观看| 日本不卡不卡| 日本人成精品视频在线| 加勒比中文字幕精品| 99精品一区二区三区的区别| 日本系列欧美系列| 精品少妇人妻一区二区黑料社区| 一区二区三区国产| 99热这里只有精品1| 深夜精品寂寞黄网站在线观看| 久久电影tv| 精品一区在线播放| 一区在线视频观看| 中文写幕一区二区三区免费观成熟| 国产精品久久久久久久久图文区| chinese国产精品| 日韩av在线导航| 国产社区精品视频| 国产精品一区二区a| 好吊视频一区二区三区四区| 在线观看网站黄| 一区二区三区四区高清精品免费观看| 在线视频 91| 色婷婷**av毛片一区| 免费污视频在线一区| 日韩欧美亚洲在线| 日韩激情av在线| 99久久99久久精品免费看小说. | 欧美激情奇米色| 欧美日韩午夜电影网| 99re6这里有精品热视频| 国产综合成人久久大片91| 91视频综合网| 亚洲精品在线免费观看视频| 国产网红女主播精品视频| 高清国产一区| 亚洲激情网址| 黄色性生活一级片| 日韩欧美一区二区三区| 男男电影完整版在线观看| 国产99在线|中文| 精品国产一区二区三区久久久樱花 | 欧美一区二视频| 视频在线这里都是精品| 国产成人成网站在线播放青青 | 97在线观看视频| 亚洲春色h网| 日韩在线不卡一区| 亚洲欧美一区二区三区久本道91| av网站免费播放| 欧美黄色免费网站| 亚洲精品一级二级三级| 美女一区二区三区视频| 亚洲人成影院在线观看| 丰满熟妇人妻中文字幕| 欧美自拍视频在线| 欧美一区二区性| 91丨porny丨九色| 亚洲va在线va天堂| 国产主播福利在线| 91久久久久久久一区二区 | 污网站免费在线| 亚洲色图在线视频| 天天av综合网| 国产视频观看一区| 激情久久久久久久| 无码一区二区三区在线| 91麻豆精品国产自产在线 | 午夜私人影院久久久久| 国产在线观看免费网站| 91香蕉国产在线观看| 国产精品久久777777毛茸茸| 久久久国产一级片| 欧美一级二级三级蜜桃| 亚洲人体影院| 日韩av电影免费观看| 国产成人高清视频| 黄色av一区二区| 欧美激情中文字幕乱码免费| 国产伦一区二区三区| 中文字幕 欧美 日韩| 欧美午夜精品理论片a级按摩| 欧美性爽视频| 亚洲精品影院| 91视频91自|