匯編語言基礎(chǔ)
學(xué)習(xí)匯編語言的15大好處。
解決問題萬能思路:遇到不懂的問題,都可以百度谷歌一下,你就知道了,因?yàn)槟阆虢鉀Q的問題,別人可能早已解決。
1.可以用于“破解高價(jià)商業(yè)軟件”
2.可以用于“分析商業(yè)軟件高價(jià)值功能”
3.可以用于“分析高盈利輔助的變態(tài)功能,基址,CALL”
4.可以用于“分析傳播疾速的病毒的實(shí)現(xiàn)與防護(hù)”
5.可以用于“分析高利潤盜號(hào)木馬的實(shí)現(xiàn)與防護(hù)”
6.可以用于“分析所有網(wǎng)絡(luò)游戲數(shù)據(jù)基址與CALL,變態(tài)功能等”
7.可以用于“易語言,VC++,Delphi Vb等開發(fā)環(huán)境內(nèi)嵌匯編”
8.可以用于“分析游戲驅(qū)動(dòng)保護(hù)與過保護(hù)驅(qū)動(dòng)”
9.可以用于“分析百萬乃至千萬用戶使用的軟件oday漏洞”
10.可以用于“讀懂各類需要匯編語言基礎(chǔ)的書籍與文章”
11.可以用于“分析WRK(操作系統(tǒng)內(nèi)核代碼)用匯編寫的部分”
12.可以用于“商業(yè)軟件開發(fā)中,可以匯編來提升軟件性能”
13.可以用于“讀懂OD,CE,IDA,Windbg等系列調(diào)試工具里的匯編”
14.可以用于“修改匯編達(dá)到高盈利木馬病毒的免殺”
15.可以用于“暴利行業(yè)游戲輔助制作中調(diào)用游戲匯編子程序功能”
等等.....
16位和32位的80x86匯編語言的區(qū)別
理論:
?????需要注意的是匯編不是一種語言,不同平臺(tái)有不同的匯編語言對(duì)應(yīng),因?yàn)閰R編和操作系統(tǒng)平臺(tái)相關(guān),所以匯編語言沒有移植性。對(duì)于IA-32架構(gòu)平臺(tái)而言,選用的是32位80386匯編語言,也就是說本教程討論的操作系統(tǒng)平臺(tái)是32位的,可執(zhí)行文件的格式也是32位而不是64位或16位的。
?????實(shí)際分析中讀者要知道研究的程序是運(yùn)行在什么平臺(tái)上,以選擇相應(yīng)的匯編語言,對(duì)應(yīng)IA-32架構(gòu)而言,IA-16架構(gòu)的匯編語言原理其實(shí)和IA-32的匯編語言一樣,學(xué)習(xí)過16位的80x86匯編語言的讀者只需花一點(diǎn)時(shí)間就可以轉(zhuǎn)到32位80386匯編語言上。? ??
?16位操作系統(tǒng)與32位操作系統(tǒng)的80x86匯編語言主要區(qū)別如下:
(1)16位操作系統(tǒng)中的中斷調(diào)用相當(dāng)于32位操作系統(tǒng)中的API調(diào)用。16位操作系統(tǒng)中的段地址和偏移地址在32位中消失了,在32位操作系統(tǒng)中統(tǒng)一采用平坦的內(nèi)存地址模式尋址。
(2)16位操作系統(tǒng)中的程序運(yùn)行在RING0級(jí),也就是說普通程序和操作系統(tǒng)程序運(yùn)行在同一個(gè)級(jí)別并且擁有最高權(quán)限,而32位操作系統(tǒng)中的程序一般只擁有RING3級(jí)運(yùn)行權(quán)限,程序的所有操作都受到操作系統(tǒng)控制,若程序要獲得RING0操作特權(quán)只能通過驅(qū)動(dòng)程序?qū)崿F(xiàn)。
(3)16位操作系統(tǒng)的可執(zhí)行文件格式和32位操作系統(tǒng)的可執(zhí)行文件格式不同,在32位的Windows操作系統(tǒng)中,可執(zhí)行文件的格式叫PE格式,32位的Windows操作系統(tǒng)運(yùn)行在CPU的保護(hù)模式之上,而16位的系統(tǒng)則運(yùn)行在CPU的實(shí)模式上。?
什么是IA-32?
IA-32(Intel Architecture),英特爾體系架構(gòu),英特爾從486開始采用,也就叫X86-32架構(gòu),在同一時(shí)間內(nèi)可以處理32位二進(jìn)制數(shù)據(jù)。CPU的工作寬度是32位。其它公司在軟硬方面都兼容此架構(gòu),也列屬于IA-32架構(gòu)。
?
?