1. 程式人生 > >PE檔案詳解(一)--資料結構欄位

PE檔案詳解(一)--資料結構欄位

typedef struct _IMAGE_OPTIONAL_HEADER
{
//
// Standard fields.
//
+18h WORD Magic; // 標誌字, ROM 映像(0107h),普通可執行檔案(010Bh)
+1Ah BYTE MajorLinkerVersion; // 連結程式的主版本號
+1Bh BYTE MinorLinkerVersion; // 連結程式的次版本號
+1Ch DWORD SizeOfCode; // 所有含程式碼的節的總大小
+20h DWORD SizeOfInitializedData; // 所有含已初始化資料的節的總大小
+24h DWORD SizeOfUninitializedData; // 所有含未初始化資料的節的大小

+28h DWORD AddressOfEntryPoint; // 程式執行入口RVA
+2Ch DWORD BaseOfCode; // 程式碼的區塊的起始RVA
+30h DWORD BaseOfData; // 資料的區塊的起始RVA
//
// NT additional fields. 以下是屬於NT結構增加的領域。
//
+34h DWORD ImageBase; // 程式的首選裝載地址
+38h DWORD SectionAlignment; // 記憶體中的區塊的對齊大小
+3Ch DWORD FileAlignment; // 檔案中的區塊的對齊大小
+40h WORD MajorOperatingSystemVersion; // 要求作業系統最低版本號的主版本號

+42h WORD MinorOperatingSystemVersion; // 要求作業系統最低版本號的副版本號
+44h WORD MajorImageVersion; // 可運行於作業系統的主版本號
+46h WORD MinorImageVersion; // 可運行於作業系統的次版本號
+48h WORD MajorSubsystemVersion; // 要求最低子系統版本的主版本號
+4Ah WORD MinorSubsystemVersion; // 要求最低子系統版本的次版本號
+4Ch DWORD Win32VersionValue; // 莫須有欄位,不被病毒利用的話一般為0
+50h DWORD SizeOfImage; // 映像裝入記憶體後的總尺寸

+54h DWORD SizeOfHeaders; // 所有頭 + 區塊表的尺寸大小
+58h DWORD CheckSum; // 映像的校檢和
+5Ch WORD Subsystem; // 可執行檔案期望的子系統

相關推薦

PE檔案--資料結構

typedef struct _IMAGE_OPTIONAL_HEADER{//// Standard fields.//+18h WORD Magic; // 標誌字, ROM 映像(0107h),普通可執行檔案(010Bh)+1Ah BYTE MajorLinkerVersion; // 連結程式的主版

表空間資料檔案

一.表空間的建立 建立表空間: Create tablespace felix Datafile'/u01/app/oracle/oradata/felix/felixtbs.dbf' Size100m autoextendonnext10m maxsize10

【SpringBoot學習之路】05.Springboot配置檔案

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】05.Springboot配置檔案詳解(一)  配置檔案 Spring Boot使用一個全域性的配置檔案 applic

PE檔案--節表和節

SizeOfRawData:該區塊在磁碟中所佔的大小。在可執行檔案中,該欄位是已經被FileAlignment 潛規則處理過的長度。PointerToRawData:該區塊在磁碟中的偏移。這個數值是從檔案頭開始算起的偏移量哦。PointerToRelocations:這哥們在EXE檔案中沒有意義,在OBJ

flume-ng配置檔案

1 Avro案例 [root@localhost conf]# vi avro.confagent1.sources = r1 agent1.sinks = k1 agent1.channels = c1   agent1.sources.r1.type = avro a

zookeeper -- 基本結構

1、zookeeper是什麼 ZooKeeper是一個分散式的,開放原始碼的分散式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop的重要元件,CDH版本中更是使用它進行Namenode的協調控制。它是一個為分散式應用提供一致性服務的軟體,提

PE檔案格式

在本文中, 我並不打算大講特講PE檔案的構成是什麼,每個欄位是什麼意思, 這些資料可以說在網上是浩瀚如海,到處都是的, 用google一搜, 開啟一看, 基本講解的都是大同小異。 由於pe檔案的結構比較龐大, 結構中套結構, 有的結構多達30多個欄位, 光看這些欄位都讓人夠

三大框架ssh學習——配置檔案)

配置檔案詳解 指定web應用預設字符集 <constant name="struts.i18n.encoding" value="gbk" /> 此配置相當於: request.setCharacterEncoding(“gbk”); r

Linux常用命令示例-檔案管理

1、touch 命令 使用說明: Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。 使用語法: touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>

資料分析需要學的知識

在學習某種技能的時候,我們首先需要知道自己的目的是什麼,學了這個技能能夠解決什麼問題,想必大家在學習技能的時候已經有了自己的想法。就比如說現在很多人想學資料分析知識。學資料分析知識需要制訂一個目標,我們在學習之前首先要了解這方面的知識的架構,只有明確了知識的體系,我們才能夠有目的有計劃地學習資料分析。那麼

爬蟲資料提取方法

爬蟲中資料的分類:結構化資料(json,xml等)處理方式是直接轉化為python型別,jsonpath,xpath,bs4等.                                 非結構化資料(HTML)處理方式是正則表示式,xpath,bs4等. 資料提取

資料分析的資料架構知識

大家都知道,資料分析師一門比較高深的學問,並且對於各行各業都有一個很大的幫助。但是大家知道不知道資料分析的資料架構知識呢?資料架構的知識有很多,下面就由小編為大家解答一下這個問題,希望這篇文章能夠給大家帶來幫助。 就目前而言,很多的資料分析工作都是做的是隱藏工作,說白了就是隱藏在業

[資料分享]迅為4412開發板介面

開發板平臺簡要介紹 核心板 Exynos4412有兩種封裝形式, 其中POP封裝的晶片內含1GB記憶體, 所以不需要外擴DDR, 可大大節省 PCB 面積,功耗控制方面也更好,多用於手持裝置當中; SCP 封裝優點是記憶體擴 展更靈活,生產工藝相對更容易控制。 電源晶片 S

elastic-job資料分片

資料分片的目的在於把一個任務分散到不同的機器上執行,既可以解決單機計算能力上限的問題,也能降低部分任務失敗對整體系統的影響。elastic-job並不直接提供資料處理的功能,框架只會將分片項分配至各個執行中的作業伺服器(其實是Job例項,部署在一臺機器上的多個Job例項也

Java資料結構-Collection介面

Java資料結構-collection介面 一,Collection介面結構圖 Collection介面詳解 collection是一個被高度抽象出來的介面、提供基本的操作資料的行為、屬性的定義. collection api介紹: p

Linux檔案操作--資料夾的建立mkdir命令

一、mkdir命令簡介 mkdir命令用來建立目錄。該命令建立由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名,則在當前目錄下建立由dirname指定的目錄;如果給出了一個已經存在的路徑,將會在該目錄下建立一個指定的目錄。在建立目錄時,應保證新建

集合:Collection以及簡單資料結構

<span style="font-family:Arial;font-size:18px;"> // for迴圈改寫,效率高 for(Iterator it = c.iterator();it.hasNext();){ Student s = (Student) it.next(

elastic-job:數據分片

count 任務 不同的 應該 center shc 偶數 int ext 數據分片的目的在於把一個任務分散到不同的機器上運行,既可以解決單機計算能力上限的問題,也能降低部分任務失敗對整體系統的影響。elastic-job並不直接提供數據處理的功能,框架只會將分片項分配至各

JVM的基本結構及其各部分

後臺 棧幀 結束 依次 方法參數 ati 0.00 實例 同時存在 JVM的基本結構及其各部分詳解(一)(轉載) 1 java虛擬機的基本結構如圖: 1)類加載子系統負責從文件系統或者網絡中加載Class信息,加載的類信息存放於一塊稱為方法區的內存空間。除了類的信息外,方

設計模式

att 定義 面向對象設計 設計 sig com 繼承 行為模式 接口 一、設計模式定義 設計模式(Design Pattern)是一套被反復使用、多數人知曉的、經過分類的、代碼設計經驗的總結。 使用設計模式的目的:為了代碼可重用性、讓代碼更容易被他人理解、保證代碼可靠性。