PE学习(一)masm32开发环境和ollyICE使用
第一章:windows PE 開發(fā)環(huán)境
MASM32 ml.exe匯編編譯器 rc.exe資源編譯器 link.exe
安裝masm32到d:\masm32
增加環(huán)境變量用戶變量
include=d:\masm32\include;
lib=d:\masm32\lib;
path=d:\masm32\bin;
修改文件字節(jié)碼:
HEX數(shù)據(jù)? edit -> copy to excutable -> pop up a window then click edit -> binary edit (note: keep size) then -> save file...
修改文件字符串常量不能像上字節(jié)碼那樣,字符串?dāng)?shù)據(jù)修改時(shí)要用十六進(jìn)制工具來修改,
內(nèi)存地址 = 基地址 + 文件偏移量
//helloword.asm .386 .model flat,stdcall option casemap:noneinclude windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib.data szText db 'Hello World',0.code start:invoke MessageBox,NULL,offset szText,NULL,MB_OKinvoke ExitProcess,NULL end start
c:\testmasm>ml /coff helloword.asm /link -subsystem:windows
PE(Portable Executeable File Format,可移植的執(zhí)行體文件格式),使用該格式的目標(biāo)是使鏈接生成的EXE文件能在不同的CPU工作指令下工作。
window os下執(zhí)行程序:COM,PIF,SCR,EXE等,大部分繼承自PE,.dll也是PE文件。
在PE格式中,每一個(gè)大的部分的對(duì)齊方式就是按照200h大小對(duì)齊的
第二章:三個(gè)小工具的編寫
PEDump文件字節(jié)碼查看器 PEComp文件比較器 PEInfo文件結(jié)構(gòu)查看器
內(nèi)存映射文件(Maped):是指將硬盤上的文件不做修改地裝載到內(nèi)存中。這樣,文件中字節(jié)間是順序排列的;
?????? 在硬盤上,文件被分割成若干簇,這個(gè)簇不一定會(huì)按照文件內(nèi)容順序排列在一起。大型軟件設(shè)計(jì)上利用這點(diǎn)存取磁盤文件。
PE內(nèi)存映像(IMAG): 是將PE文件按照一定的規(guī)則裝載到內(nèi)在中,裝入后的整個(gè)文件頭內(nèi)容不會(huì)發(fā)生變化,但PE文件的某一部分如節(jié)的內(nèi)容會(huì)按照
???? 字段中的對(duì)齊方式在內(nèi)存中對(duì)齊,從而使得內(nèi)存中的PE映像與裝載前的PE文件不同。
???? PE內(nèi)存映像與一般的內(nèi)存映射文件不一樣,原因PE文件是OS裝載進(jìn)內(nèi)存的,按一定的格式對(duì)齊,提高運(yùn)行效率。所以PE內(nèi)存映像和原來硬盤上文件是不同的。
總結(jié)
以上是生活随笔為你收集整理的PE学习(一)masm32开发环境和ollyICE使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 破解入门(六)-----实战“内存镜像法
- 下一篇: PE学习(二) IMAGE_DOS_HE